diff --git a/.changeset/tame-eagles-relax.md b/.changeset/tame-eagles-relax.md new file mode 100644 index 00000000..8e5d5b5a --- /dev/null +++ b/.changeset/tame-eagles-relax.md @@ -0,0 +1,7 @@ +--- +'react-base16-styling': major +'react-dock': major +'react-json-tree': major +--- + +Convert React packages to ESM diff --git a/packages/map2tree/test/map2tree.spec.ts b/packages/map2tree/test/map2tree.spec.ts index 6cd6a10d..415c1e6d 100644 --- a/packages/map2tree/test/map2tree.spec.ts +++ b/packages/map2tree/test/map2tree.spec.ts @@ -1,4 +1,4 @@ -import { map2tree, Node } from '../src'; +import { map2tree, Node } from '../src/index.js'; import * as immutable from 'immutable'; test('# rootNodeKey', () => { diff --git a/packages/react-base16-styling/.eslintrc.js b/packages/react-base16-styling/.eslintrc.cjs similarity index 100% rename from packages/react-base16-styling/.eslintrc.js rename to packages/react-base16-styling/.eslintrc.cjs diff --git a/packages/react-base16-styling/babel.config.esm.json b/packages/react-base16-styling/babel.config.esm.json deleted file mode 100644 index 1c02687e..00000000 --- a/packages/react-base16-styling/babel.config.esm.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "presets": [ - ["@babel/preset-env", { "targets": "defaults", "modules": false }], - "@babel/preset-typescript" - ], - "plugins": ["@babel/plugin-transform-runtime"] -} diff --git a/packages/react-base16-styling/babel.config.json b/packages/react-base16-styling/babel.config.json deleted file mode 100644 index 5ed95986..00000000 --- a/packages/react-base16-styling/babel.config.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "presets": [ - ["@babel/preset-env", { "targets": "defaults" }], - "@babel/preset-typescript" - ], - "plugins": ["@babel/plugin-transform-runtime"] -} diff --git a/packages/react-base16-styling/jest.config.cjs b/packages/react-base16-styling/jest.config.cjs new file mode 100644 index 00000000..648065e7 --- /dev/null +++ b/packages/react-base16-styling/jest.config.cjs @@ -0,0 +1,10 @@ +module.exports = { + testEnvironment: 'jsdom', + extensionsToTreatAsEsm: ['.ts'], + moduleNameMapper: { + '^(\\.{1,2}/.*)\\.js$': '$1', + }, + transform: { + '^.+\\.ts$': ['ts-jest', { tsconfig: 'tsconfig.test.json', useESM: true }], + }, +}; diff --git a/packages/react-base16-styling/jest.config.js b/packages/react-base16-styling/jest.config.js deleted file mode 100644 index dcef0803..00000000 --- a/packages/react-base16-styling/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'jsdom', - transform: { - '^.+\\.tsx?$': ['ts-jest', { tsconfig: 'tsconfig.test.json' }], - }, -}; diff --git a/packages/react-base16-styling/package.json b/packages/react-base16-styling/package.json index a2f797a3..669526c9 100644 --- a/packages/react-base16-styling/package.json +++ b/packages/react-base16-styling/package.json @@ -18,45 +18,33 @@ "lib", "src" ], - "main": "lib/cjs/index.js", - "module": "lib/esm/index.js", - "types": "lib/types/index.d.ts", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "type": "module", "sideEffects": false, "repository": { "type": "git", "url": "git+https://github.com/reduxjs/redux-devtools.git" }, "scripts": { - "build": "pnpm run build:cjs && pnpm run build:esm && pnpm run build:types", - "build:cjs": "babel src --extensions \".ts\" --out-dir lib/cjs", - "build:esm": "babel src --config-file ./babel.config.esm.json --extensions \".ts\" --out-dir lib/esm", - "build:types": "tsc --emitDeclarationOnly", + "build": "tsc", "clean": "rimraf lib", - "test": "jest", + "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js", "lint": "eslint . --ext .ts", "type-check": "tsc --noEmit", "prepack": "pnpm run clean && pnpm run build", - "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test" + "prepublish": "pnpm run lint && pnpm run test" }, "dependencies": { - "@babel/runtime": "^7.24.1", - "@types/base16": "^1.0.5", "@types/lodash": "^4.17.0", - "base16": "^1.0.0", "color": "^4.2.3", "csstype": "^3.1.3", - "lodash.curry": "^4.1.1" + "lodash-es": "^4.17.21" }, "devDependencies": { - "@babel/cli": "^7.24.1", - "@babel/core": "^7.24.3", - "@babel/eslint-parser": "^7.24.1", - "@babel/plugin-transform-runtime": "^7.24.3", - "@babel/preset-env": "^7.24.3", - "@babel/preset-typescript": "^7.24.1", "@types/color": "^3.0.6", "@types/jest": "^29.5.12", - "@types/lodash.curry": "^4.1.9", + "@types/lodash-es": "^4.17.12", "@typescript-eslint/eslint-plugin": "^7.4.0", "@typescript-eslint/parser": "^7.4.0", "eslint": "^8.57.0", diff --git a/packages/react-base16-styling/src/index.ts b/packages/react-base16-styling/src/index.ts index 3ec5b257..99efaa18 100644 --- a/packages/react-base16-styling/src/index.ts +++ b/packages/react-base16-styling/src/index.ts @@ -1,10 +1,8 @@ -import * as base16 from 'base16'; -import { Base16Theme } from 'base16'; import Color from 'color'; import * as CSS from 'csstype'; -import curry from 'lodash.curry'; +import { curry } from 'lodash-es'; import type { CurriedFunction3 } from 'lodash'; -import { Color as ColorTuple, yuv2rgb, rgb2yuv } from './colorConverters'; +import { Color as ColorTuple, yuv2rgb, rgb2yuv } from './colorConverters.js'; import { Styling, StylingConfig, @@ -12,7 +10,9 @@ import { StylingValue, StylingValueFunction, Theme, -} from './types'; +} from './types.js'; +import { base16Themes as base16 } from './themes/index.js'; +import type { Base16Theme } from './themes/index.js'; const DEFAULT_BASE16 = base16.default; @@ -272,7 +272,7 @@ export const getBase16Theme = ( if (base16Themes) { theme = base16Themes[themeName]; } else { - theme = base16[themeName as keyof typeof base16]; + theme = base16[themeName as keyof typeof base16] as Base16Theme; } if (modifier === 'inverted') { theme = invertBase16Theme(theme); @@ -308,4 +308,5 @@ export const invertTheme = (theme: Theme | undefined): Theme | undefined => { }; export type { Base16Theme }; -export * from './types'; +export { base16 as base16Themes }; +export * from './types.js'; diff --git a/packages/react-base16-styling/src/themes/apathy.ts b/packages/react-base16-styling/src/themes/apathy.ts new file mode 100644 index 00000000..8a3474ce --- /dev/null +++ b/packages/react-base16-styling/src/themes/apathy.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'apathy', + author: 'jannik siebert (https://github.com/janniks)', + base00: '#031A16', + base01: '#0B342D', + base02: '#184E45', + base03: '#2B685E', + base04: '#5F9C92', + base05: '#81B5AC', + base06: '#A7CEC8', + base07: '#D2E7E4', + base08: '#3E9688', + base09: '#3E7996', + base0A: '#3E4C96', + base0B: '#883E96', + base0C: '#963E4C', + base0D: '#96883E', + base0E: '#4C963E', + base0F: '#3E965B', +}; diff --git a/packages/react-base16-styling/src/themes/ashes.ts b/packages/react-base16-styling/src/themes/ashes.ts new file mode 100644 index 00000000..2ef32090 --- /dev/null +++ b/packages/react-base16-styling/src/themes/ashes.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'ashes', + author: 'jannik siebert (https://github.com/janniks)', + base00: '#1C2023', + base01: '#393F45', + base02: '#565E65', + base03: '#747C84', + base04: '#ADB3BA', + base05: '#C7CCD1', + base06: '#DFE2E5', + base07: '#F3F4F5', + base08: '#C7AE95', + base09: '#C7C795', + base0A: '#AEC795', + base0B: '#95C7AE', + base0C: '#95AEC7', + base0D: '#AE95C7', + base0E: '#C795AE', + base0F: '#C79595', +}; diff --git a/packages/react-base16-styling/src/themes/atelier-dune.ts b/packages/react-base16-styling/src/themes/atelier-dune.ts new file mode 100644 index 00000000..34590bbf --- /dev/null +++ b/packages/react-base16-styling/src/themes/atelier-dune.ts @@ -0,0 +1,21 @@ +export default { + scheme: 'atelier dune', + author: + 'bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune)', + base00: '#20201d', + base01: '#292824', + base02: '#6e6b5e', + base03: '#7d7a68', + base04: '#999580', + base05: '#a6a28c', + base06: '#e8e4cf', + base07: '#fefbec', + base08: '#d73737', + base09: '#b65611', + base0A: '#cfb017', + base0B: '#60ac39', + base0C: '#1fad83', + base0D: '#6684e1', + base0E: '#b854d4', + base0F: '#d43552', +}; diff --git a/packages/react-base16-styling/src/themes/atelier-forest.ts b/packages/react-base16-styling/src/themes/atelier-forest.ts new file mode 100644 index 00000000..e065a29b --- /dev/null +++ b/packages/react-base16-styling/src/themes/atelier-forest.ts @@ -0,0 +1,21 @@ +export default { + scheme: 'atelier forest', + author: + 'bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest)', + base00: '#1b1918', + base01: '#2c2421', + base02: '#68615e', + base03: '#766e6b', + base04: '#9c9491', + base05: '#a8a19f', + base06: '#e6e2e0', + base07: '#f1efee', + base08: '#f22c40', + base09: '#df5320', + base0A: '#d5911a', + base0B: '#5ab738', + base0C: '#00ad9c', + base0D: '#407ee7', + base0E: '#6666ea', + base0F: '#c33ff3', +}; diff --git a/packages/react-base16-styling/src/themes/atelier-heath.ts b/packages/react-base16-styling/src/themes/atelier-heath.ts new file mode 100644 index 00000000..4612d99c --- /dev/null +++ b/packages/react-base16-styling/src/themes/atelier-heath.ts @@ -0,0 +1,21 @@ +export default { + scheme: 'atelier heath', + author: + 'bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath)', + base00: '#1b181b', + base01: '#292329', + base02: '#695d69', + base03: '#776977', + base04: '#9e8f9e', + base05: '#ab9bab', + base06: '#d8cad8', + base07: '#f7f3f7', + base08: '#ca402b', + base09: '#a65926', + base0A: '#bb8a35', + base0B: '#379a37', + base0C: '#159393', + base0D: '#516aec', + base0E: '#7b59c0', + base0F: '#cc33cc', +}; diff --git a/packages/react-base16-styling/src/themes/atelier-lakeside.ts b/packages/react-base16-styling/src/themes/atelier-lakeside.ts new file mode 100644 index 00000000..582c81a7 --- /dev/null +++ b/packages/react-base16-styling/src/themes/atelier-lakeside.ts @@ -0,0 +1,21 @@ +export default { + scheme: 'atelier lakeside', + author: + 'bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside/)', + base00: '#161b1d', + base01: '#1f292e', + base02: '#516d7b', + base03: '#5a7b8c', + base04: '#7195a8', + base05: '#7ea2b4', + base06: '#c1e4f6', + base07: '#ebf8ff', + base08: '#d22d72', + base09: '#935c25', + base0A: '#8a8a0f', + base0B: '#568c3b', + base0C: '#2d8f6f', + base0D: '#257fad', + base0E: '#5d5db1', + base0F: '#b72dd2', +}; diff --git a/packages/react-base16-styling/src/themes/atelier-seaside.ts b/packages/react-base16-styling/src/themes/atelier-seaside.ts new file mode 100644 index 00000000..041d06e2 --- /dev/null +++ b/packages/react-base16-styling/src/themes/atelier-seaside.ts @@ -0,0 +1,21 @@ +export default { + scheme: 'atelier seaside', + author: + 'bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/)', + base00: '#131513', + base01: '#242924', + base02: '#5e6e5e', + base03: '#687d68', + base04: '#809980', + base05: '#8ca68c', + base06: '#cfe8cf', + base07: '#f0fff0', + base08: '#e6193c', + base09: '#87711d', + base0A: '#c3c322', + base0B: '#29a329', + base0C: '#1999b3', + base0D: '#3d62f5', + base0E: '#ad2bee', + base0F: '#e619c3', +}; diff --git a/packages/react-base16-styling/src/themes/bespin.ts b/packages/react-base16-styling/src/themes/bespin.ts new file mode 100644 index 00000000..ed068adb --- /dev/null +++ b/packages/react-base16-styling/src/themes/bespin.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'bespin', + author: 'jan t. sott', + base00: '#28211c', + base01: '#36312e', + base02: '#5e5d5c', + base03: '#666666', + base04: '#797977', + base05: '#8a8986', + base06: '#9d9b97', + base07: '#baae9e', + base08: '#cf6a4c', + base09: '#cf7d34', + base0A: '#f9ee98', + base0B: '#54be0d', + base0C: '#afc4db', + base0D: '#5ea6ea', + base0E: '#9b859d', + base0F: '#937121', +}; diff --git a/packages/react-base16-styling/src/themes/brewer.ts b/packages/react-base16-styling/src/themes/brewer.ts new file mode 100644 index 00000000..b9925c33 --- /dev/null +++ b/packages/react-base16-styling/src/themes/brewer.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'brewer', + author: 'timothée poisot (http://github.com/tpoisot)', + base00: '#0c0d0e', + base01: '#2e2f30', + base02: '#515253', + base03: '#737475', + base04: '#959697', + base05: '#b7b8b9', + base06: '#dadbdc', + base07: '#fcfdfe', + base08: '#e31a1c', + base09: '#e6550d', + base0A: '#dca060', + base0B: '#31a354', + base0C: '#80b1d3', + base0D: '#3182bd', + base0E: '#756bb1', + base0F: '#b15928', +}; diff --git a/packages/react-base16-styling/src/themes/bright.ts b/packages/react-base16-styling/src/themes/bright.ts new file mode 100644 index 00000000..c72c3f73 --- /dev/null +++ b/packages/react-base16-styling/src/themes/bright.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'bright', + author: 'chris kempson (http://chriskempson.com)', + base00: '#000000', + base01: '#303030', + base02: '#505050', + base03: '#b0b0b0', + base04: '#d0d0d0', + base05: '#e0e0e0', + base06: '#f5f5f5', + base07: '#ffffff', + base08: '#fb0120', + base09: '#fc6d24', + base0A: '#fda331', + base0B: '#a1c659', + base0C: '#76c7b7', + base0D: '#6fb3d2', + base0E: '#d381c3', + base0F: '#be643c', +}; diff --git a/packages/react-base16-styling/src/themes/chalk.ts b/packages/react-base16-styling/src/themes/chalk.ts new file mode 100644 index 00000000..92c1bede --- /dev/null +++ b/packages/react-base16-styling/src/themes/chalk.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'chalk', + author: 'chris kempson (http://chriskempson.com)', + base00: '#151515', + base01: '#202020', + base02: '#303030', + base03: '#505050', + base04: '#b0b0b0', + base05: '#d0d0d0', + base06: '#e0e0e0', + base07: '#f5f5f5', + base08: '#fb9fb1', + base09: '#eda987', + base0A: '#ddb26f', + base0B: '#acc267', + base0C: '#12cfc0', + base0D: '#6fc2ef', + base0E: '#e1a3ee', + base0F: '#deaf8f', +}; diff --git a/packages/react-base16-styling/src/themes/codeschool.ts b/packages/react-base16-styling/src/themes/codeschool.ts new file mode 100644 index 00000000..d344b856 --- /dev/null +++ b/packages/react-base16-styling/src/themes/codeschool.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'codeschool', + author: 'brettof86', + base00: '#232c31', + base01: '#1c3657', + base02: '#2a343a', + base03: '#3f4944', + base04: '#84898c', + base05: '#9ea7a6', + base06: '#a7cfa3', + base07: '#b5d8f6', + base08: '#2a5491', + base09: '#43820d', + base0A: '#a03b1e', + base0B: '#237986', + base0C: '#b02f30', + base0D: '#484d79', + base0E: '#c59820', + base0F: '#c98344', +}; diff --git a/packages/react-base16-styling/src/themes/colors.ts b/packages/react-base16-styling/src/themes/colors.ts new file mode 100644 index 00000000..93475456 --- /dev/null +++ b/packages/react-base16-styling/src/themes/colors.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'colors', + author: 'mrmrs (http://clrs.cc)', + base00: '#111111', + base01: '#333333', + base02: '#555555', + base03: '#777777', + base04: '#999999', + base05: '#bbbbbb', + base06: '#dddddd', + base07: '#ffffff', + base08: '#ff4136', + base09: '#ff851b', + base0A: '#ffdc00', + base0B: '#2ecc40', + base0C: '#7fdbff', + base0D: '#0074d9', + base0E: '#b10dc9', + base0F: '#85144b', +}; diff --git a/packages/react-base16-styling/src/themes/default.ts b/packages/react-base16-styling/src/themes/default.ts new file mode 100644 index 00000000..bd9ea246 --- /dev/null +++ b/packages/react-base16-styling/src/themes/default.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'default', + author: 'chris kempson (http://chriskempson.com)', + base00: '#181818', + base01: '#282828', + base02: '#383838', + base03: '#585858', + base04: '#b8b8b8', + base05: '#d8d8d8', + base06: '#e8e8e8', + base07: '#f8f8f8', + base08: '#ab4642', + base09: '#dc9656', + base0A: '#f7ca88', + base0B: '#a1b56c', + base0C: '#86c1b9', + base0D: '#7cafc2', + base0E: '#ba8baf', + base0F: '#a16946', +}; diff --git a/packages/react-base16-styling/src/themes/eighties.ts b/packages/react-base16-styling/src/themes/eighties.ts new file mode 100644 index 00000000..3839f768 --- /dev/null +++ b/packages/react-base16-styling/src/themes/eighties.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'eighties', + author: 'chris kempson (http://chriskempson.com)', + base00: '#2d2d2d', + base01: '#393939', + base02: '#515151', + base03: '#747369', + base04: '#a09f93', + base05: '#d3d0c8', + base06: '#e8e6df', + base07: '#f2f0ec', + base08: '#f2777a', + base09: '#f99157', + base0A: '#ffcc66', + base0B: '#99cc99', + base0C: '#66cccc', + base0D: '#6699cc', + base0E: '#cc99cc', + base0F: '#d27b53', +}; diff --git a/packages/react-base16-styling/src/themes/embers.ts b/packages/react-base16-styling/src/themes/embers.ts new file mode 100644 index 00000000..96f03d63 --- /dev/null +++ b/packages/react-base16-styling/src/themes/embers.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'embers', + author: 'jannik siebert (https://github.com/janniks)', + base00: '#16130F', + base01: '#2C2620', + base02: '#433B32', + base03: '#5A5047', + base04: '#8A8075', + base05: '#A39A90', + base06: '#BEB6AE', + base07: '#DBD6D1', + base08: '#826D57', + base09: '#828257', + base0A: '#6D8257', + base0B: '#57826D', + base0C: '#576D82', + base0D: '#6D5782', + base0E: '#82576D', + base0F: '#825757', +}; diff --git a/packages/react-base16-styling/src/themes/flat.ts b/packages/react-base16-styling/src/themes/flat.ts new file mode 100644 index 00000000..14c1cf15 --- /dev/null +++ b/packages/react-base16-styling/src/themes/flat.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'flat', + author: 'chris kempson (http://chriskempson.com)', + base00: '#2C3E50', + base01: '#34495E', + base02: '#7F8C8D', + base03: '#95A5A6', + base04: '#BDC3C7', + base05: '#e0e0e0', + base06: '#f5f5f5', + base07: '#ECF0F1', + base08: '#E74C3C', + base09: '#E67E22', + base0A: '#F1C40F', + base0B: '#2ECC71', + base0C: '#1ABC9C', + base0D: '#3498DB', + base0E: '#9B59B6', + base0F: '#be643c', +}; diff --git a/packages/react-base16-styling/src/themes/google.ts b/packages/react-base16-styling/src/themes/google.ts new file mode 100644 index 00000000..cbe708e7 --- /dev/null +++ b/packages/react-base16-styling/src/themes/google.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'google', + author: 'seth wright (http://sethawright.com)', + base00: '#1d1f21', + base01: '#282a2e', + base02: '#373b41', + base03: '#969896', + base04: '#b4b7b4', + base05: '#c5c8c6', + base06: '#e0e0e0', + base07: '#ffffff', + base08: '#CC342B', + base09: '#F96A38', + base0A: '#FBA922', + base0B: '#198844', + base0C: '#3971ED', + base0D: '#3971ED', + base0E: '#A36AC7', + base0F: '#3971ED', +}; diff --git a/packages/react-base16-styling/src/themes/grayscale.ts b/packages/react-base16-styling/src/themes/grayscale.ts new file mode 100644 index 00000000..506feea4 --- /dev/null +++ b/packages/react-base16-styling/src/themes/grayscale.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'grayscale', + author: 'alexandre gavioli (https://github.com/alexx2/)', + base00: '#101010', + base01: '#252525', + base02: '#464646', + base03: '#525252', + base04: '#ababab', + base05: '#b9b9b9', + base06: '#e3e3e3', + base07: '#f7f7f7', + base08: '#7c7c7c', + base09: '#999999', + base0A: '#a0a0a0', + base0B: '#8e8e8e', + base0C: '#868686', + base0D: '#686868', + base0E: '#747474', + base0F: '#5e5e5e', +}; diff --git a/packages/react-base16-styling/src/themes/greenscreen.ts b/packages/react-base16-styling/src/themes/greenscreen.ts new file mode 100644 index 00000000..0471d164 --- /dev/null +++ b/packages/react-base16-styling/src/themes/greenscreen.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'green screen', + author: 'chris kempson (http://chriskempson.com)', + base00: '#001100', + base01: '#003300', + base02: '#005500', + base03: '#007700', + base04: '#009900', + base05: '#00bb00', + base06: '#00dd00', + base07: '#00ff00', + base08: '#007700', + base09: '#009900', + base0A: '#007700', + base0B: '#00bb00', + base0C: '#005500', + base0D: '#009900', + base0E: '#00bb00', + base0F: '#005500', +}; diff --git a/packages/react-base16-styling/src/themes/harmonic.ts b/packages/react-base16-styling/src/themes/harmonic.ts new file mode 100644 index 00000000..261e3a07 --- /dev/null +++ b/packages/react-base16-styling/src/themes/harmonic.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'harmonic16', + author: 'jannik siebert (https://github.com/janniks)', + base00: '#0b1c2c', + base01: '#223b54', + base02: '#405c79', + base03: '#627e99', + base04: '#aabcce', + base05: '#cbd6e2', + base06: '#e5ebf1', + base07: '#f7f9fb', + base08: '#bf8b56', + base09: '#bfbf56', + base0A: '#8bbf56', + base0B: '#56bf8b', + base0C: '#568bbf', + base0D: '#8b56bf', + base0E: '#bf568b', + base0F: '#bf5656', +}; diff --git a/packages/react-base16-styling/src/themes/hopscotch.ts b/packages/react-base16-styling/src/themes/hopscotch.ts new file mode 100644 index 00000000..6839e6e2 --- /dev/null +++ b/packages/react-base16-styling/src/themes/hopscotch.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'hopscotch', + author: 'jan t. sott', + base00: '#322931', + base01: '#433b42', + base02: '#5c545b', + base03: '#797379', + base04: '#989498', + base05: '#b9b5b8', + base06: '#d5d3d5', + base07: '#ffffff', + base08: '#dd464c', + base09: '#fd8b19', + base0A: '#fdcc59', + base0B: '#8fc13e', + base0C: '#149b93', + base0D: '#1290bf', + base0E: '#c85e7c', + base0F: '#b33508', +}; diff --git a/packages/react-base16-styling/src/themes/index.ts b/packages/react-base16-styling/src/themes/index.ts new file mode 100644 index 00000000..2ab0b091 --- /dev/null +++ b/packages/react-base16-styling/src/themes/index.ts @@ -0,0 +1,100 @@ +import { default as threezerotwofour } from './threezerotwofour.js'; +import { default as apathy } from './apathy.js'; +import { default as ashes } from './ashes.js'; +import { default as atelierDune } from './atelier-dune.js'; +import { default as atelierForest } from './atelier-forest.js'; +import { default as atelierHeath } from './atelier-heath.js'; +import { default as atelierLakeside } from './atelier-lakeside.js'; +import { default as atelierSeaside } from './atelier-seaside.js'; +import { default as bespin } from './bespin.js'; +import { default as brewer } from './brewer.js'; +import { default as bright } from './bright.js'; +import { default as chalk } from './chalk.js'; +import { default as codeschool } from './codeschool.js'; +import { default as colors } from './colors.js'; +import { default as defaultTheme } from './default.js'; +import { default as eighties } from './eighties.js'; +import { default as embers } from './embers.js'; +import { default as flat } from './flat.js'; +import { default as google } from './google.js'; +import { default as grayscale } from './grayscale.js'; +import { default as greenscreen } from './greenscreen.js'; +import { default as harmonic } from './harmonic.js'; +import { default as hopscotch } from './hopscotch.js'; +import { default as isotope } from './isotope.js'; +import { default as marrakesh } from './marrakesh.js'; +import { default as mocha } from './mocha.js'; +import { default as monokai } from './monokai.js'; +import { default as nicinabox } from './nicinabox.js'; +import { default as ocean } from './ocean.js'; +import { default as paraiso } from './paraiso.js'; +import { default as pop } from './pop.js'; +import { default as railscasts } from './railscasts.js'; +import { default as shapeshifter } from './shapeshifter.js'; +import { default as solarized } from './solarized.js'; +import { default as summerfruit } from './summerfruit.js'; +import { default as tomorrow } from './tomorrow.js'; +import { default as tube } from './tube.js'; +import { default as twilight } from './twilight.js'; + +export interface Base16Theme { + scheme: string; + author: string; + base00: string; + base01: string; + base02: string; + base03: string; + base04: string; + base05: string; + base06: string; + base07: string; + base08: string; + base09: string; + base0A: string; + base0B: string; + base0C: string; + base0D: string; + base0E: string; + base0F: string; +} + +export const base16Themes = { + threezerotwofour, + apathy, + ashes, + atelierDune, + atelierForest, + atelierHeath, + atelierLakeside, + atelierSeaside, + bespin, + brewer, + bright, + chalk, + codeschool, + colors, + default: defaultTheme, + eighties, + embers, + flat, + google, + grayscale, + greenscreen, + harmonic, + hopscotch, + isotope, + marrakesh, + mocha, + monokai, + nicinabox, + ocean, + paraiso, + pop, + railscasts, + shapeshifter, + solarized, + summerfruit, + tomorrow, + tube, + twilight, +}; diff --git a/packages/react-base16-styling/src/themes/isotope.ts b/packages/react-base16-styling/src/themes/isotope.ts new file mode 100644 index 00000000..69f4ac91 --- /dev/null +++ b/packages/react-base16-styling/src/themes/isotope.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'isotope', + author: 'jan t. sott', + base00: '#000000', + base01: '#404040', + base02: '#606060', + base03: '#808080', + base04: '#c0c0c0', + base05: '#d0d0d0', + base06: '#e0e0e0', + base07: '#ffffff', + base08: '#ff0000', + base09: '#ff9900', + base0A: '#ff0099', + base0B: '#33ff00', + base0C: '#00ffff', + base0D: '#0066ff', + base0E: '#cc00ff', + base0F: '#3300ff', +}; diff --git a/packages/react-base16-styling/src/themes/marrakesh.ts b/packages/react-base16-styling/src/themes/marrakesh.ts new file mode 100644 index 00000000..fef5d5e3 --- /dev/null +++ b/packages/react-base16-styling/src/themes/marrakesh.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'marrakesh', + author: 'alexandre gavioli (http://github.com/alexx2/)', + base00: '#201602', + base01: '#302e00', + base02: '#5f5b17', + base03: '#6c6823', + base04: '#86813b', + base05: '#948e48', + base06: '#ccc37a', + base07: '#faf0a5', + base08: '#c35359', + base09: '#b36144', + base0A: '#a88339', + base0B: '#18974e', + base0C: '#75a738', + base0D: '#477ca1', + base0E: '#8868b3', + base0F: '#b3588e', +}; diff --git a/packages/react-base16-styling/src/themes/mocha.ts b/packages/react-base16-styling/src/themes/mocha.ts new file mode 100644 index 00000000..b7179a95 --- /dev/null +++ b/packages/react-base16-styling/src/themes/mocha.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'mocha', + author: 'chris kempson (http://chriskempson.com)', + base00: '#3B3228', + base01: '#534636', + base02: '#645240', + base03: '#7e705a', + base04: '#b8afad', + base05: '#d0c8c6', + base06: '#e9e1dd', + base07: '#f5eeeb', + base08: '#cb6077', + base09: '#d28b71', + base0A: '#f4bc87', + base0B: '#beb55b', + base0C: '#7bbda4', + base0D: '#8ab3b5', + base0E: '#a89bb9', + base0F: '#bb9584', +}; diff --git a/packages/react-base16-styling/src/themes/monokai.ts b/packages/react-base16-styling/src/themes/monokai.ts new file mode 100644 index 00000000..07218407 --- /dev/null +++ b/packages/react-base16-styling/src/themes/monokai.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'monokai', + author: 'wimer hazenberg (http://www.monokai.nl)', + base00: '#272822', + base01: '#383830', + base02: '#49483e', + base03: '#75715e', + base04: '#a59f85', + base05: '#f8f8f2', + base06: '#f5f4f1', + base07: '#f9f8f5', + base08: '#f92672', + base09: '#fd971f', + base0A: '#f4bf75', + base0B: '#a6e22e', + base0C: '#a1efe4', + base0D: '#66d9ef', + base0E: '#ae81ff', + base0F: '#cc6633', +}; diff --git a/packages/react-base16-styling/src/themes/nicinabox.ts b/packages/react-base16-styling/src/themes/nicinabox.ts new file mode 100644 index 00000000..e21f484e --- /dev/null +++ b/packages/react-base16-styling/src/themes/nicinabox.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'nicinabox', + author: 'nicinabox (http://github.com/nicinabox)', + base00: '#2A2F3A', + base01: '#3C444F', + base02: '#4F5A65', + base03: '#BEBEBE', + base04: '#b0b0b0', // based on ocean theme + base05: '#d0d0d0', // based on ocean theme + base06: '#FFFFFF', + base07: '#f5f5f5', // based on ocean theme + base08: '#fb9fb1', // based on ocean theme + base09: '#FC6D24', + base0A: '#ddb26f', // based on ocean theme + base0B: '#A1C659', + base0C: '#12cfc0', // based on ocean theme + base0D: '#6FB3D2', + base0E: '#D381C3', + base0F: '#deaf8f', // based on ocean theme +}; diff --git a/packages/react-base16-styling/src/themes/ocean.ts b/packages/react-base16-styling/src/themes/ocean.ts new file mode 100644 index 00000000..91101119 --- /dev/null +++ b/packages/react-base16-styling/src/themes/ocean.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'ocean', + author: 'chris kempson (http://chriskempson.com)', + base00: '#2b303b', + base01: '#343d46', + base02: '#4f5b66', + base03: '#65737e', + base04: '#a7adba', + base05: '#c0c5ce', + base06: '#dfe1e8', + base07: '#eff1f5', + base08: '#bf616a', + base09: '#d08770', + base0A: '#ebcb8b', + base0B: '#a3be8c', + base0C: '#96b5b4', + base0D: '#8fa1b3', + base0E: '#b48ead', + base0F: '#ab7967', +}; diff --git a/packages/react-base16-styling/src/themes/paraiso.ts b/packages/react-base16-styling/src/themes/paraiso.ts new file mode 100644 index 00000000..9d39f3c8 --- /dev/null +++ b/packages/react-base16-styling/src/themes/paraiso.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'paraiso', + author: 'jan t. sott', + base00: '#2f1e2e', + base01: '#41323f', + base02: '#4f424c', + base03: '#776e71', + base04: '#8d8687', + base05: '#a39e9b', + base06: '#b9b6b0', + base07: '#e7e9db', + base08: '#ef6155', + base09: '#f99b15', + base0A: '#fec418', + base0B: '#48b685', + base0C: '#5bc4bf', + base0D: '#06b6ef', + base0E: '#815ba4', + base0F: '#e96ba8', +}; diff --git a/packages/react-base16-styling/src/themes/pop.ts b/packages/react-base16-styling/src/themes/pop.ts new file mode 100644 index 00000000..8eec43f7 --- /dev/null +++ b/packages/react-base16-styling/src/themes/pop.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'pop', + author: 'chris kempson (http://chriskempson.com)', + base00: '#000000', + base01: '#202020', + base02: '#303030', + base03: '#505050', + base04: '#b0b0b0', + base05: '#d0d0d0', + base06: '#e0e0e0', + base07: '#ffffff', + base08: '#eb008a', + base09: '#f29333', + base0A: '#f8ca12', + base0B: '#37b349', + base0C: '#00aabb', + base0D: '#0e5a94', + base0E: '#b31e8d', + base0F: '#7a2d00', +}; diff --git a/packages/react-base16-styling/src/themes/railscasts.ts b/packages/react-base16-styling/src/themes/railscasts.ts new file mode 100644 index 00000000..5fa4f5a6 --- /dev/null +++ b/packages/react-base16-styling/src/themes/railscasts.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'railscasts', + author: 'ryan bates (http://railscasts.com)', + base00: '#2b2b2b', + base01: '#272935', + base02: '#3a4055', + base03: '#5a647e', + base04: '#d4cfc9', + base05: '#e6e1dc', + base06: '#f4f1ed', + base07: '#f9f7f3', + base08: '#da4939', + base09: '#cc7833', + base0A: '#ffc66d', + base0B: '#a5c261', + base0C: '#519f50', + base0D: '#6d9cbe', + base0E: '#b6b3eb', + base0F: '#bc9458', +}; diff --git a/packages/react-base16-styling/src/themes/shapeshifter.ts b/packages/react-base16-styling/src/themes/shapeshifter.ts new file mode 100644 index 00000000..96b031e9 --- /dev/null +++ b/packages/react-base16-styling/src/themes/shapeshifter.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'shapeshifter', + author: 'tyler benziger (http://tybenz.com)', + base00: '#000000', + base01: '#040404', + base02: '#102015', + base03: '#343434', + base04: '#555555', + base05: '#ababab', + base06: '#e0e0e0', + base07: '#f9f9f9', + base08: '#e92f2f', + base09: '#e09448', + base0A: '#dddd13', + base0B: '#0ed839', + base0C: '#23edda', + base0D: '#3b48e3', + base0E: '#f996e2', + base0F: '#69542d', +}; diff --git a/packages/react-base16-styling/src/themes/solarized.ts b/packages/react-base16-styling/src/themes/solarized.ts new file mode 100644 index 00000000..aaf42b64 --- /dev/null +++ b/packages/react-base16-styling/src/themes/solarized.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'solarized', + author: 'ethan schoonover (http://ethanschoonover.com/solarized)', + base00: '#002b36', + base01: '#073642', + base02: '#586e75', + base03: '#657b83', + base04: '#839496', + base05: '#93a1a1', + base06: '#eee8d5', + base07: '#fdf6e3', + base08: '#dc322f', + base09: '#cb4b16', + base0A: '#b58900', + base0B: '#859900', + base0C: '#2aa198', + base0D: '#268bd2', + base0E: '#6c71c4', + base0F: '#d33682', +}; diff --git a/packages/react-base16-styling/src/themes/summerfruit.ts b/packages/react-base16-styling/src/themes/summerfruit.ts new file mode 100644 index 00000000..ad2165b6 --- /dev/null +++ b/packages/react-base16-styling/src/themes/summerfruit.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'summerfruit', + author: 'christopher corley (http://cscorley.github.io/)', + base00: '#151515', + base01: '#202020', + base02: '#303030', + base03: '#505050', + base04: '#B0B0B0', + base05: '#D0D0D0', + base06: '#E0E0E0', + base07: '#FFFFFF', + base08: '#FF0086', + base09: '#FD8900', + base0A: '#ABA800', + base0B: '#00C918', + base0C: '#1faaaa', + base0D: '#3777E6', + base0E: '#AD00A1', + base0F: '#cc6633', +}; diff --git a/packages/react-base16-styling/src/themes/threezerotwofour.ts b/packages/react-base16-styling/src/themes/threezerotwofour.ts new file mode 100644 index 00000000..5084183e --- /dev/null +++ b/packages/react-base16-styling/src/themes/threezerotwofour.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'threezerotwofour', + author: 'jan t. sott (http://github.com/idleberg)', + base00: '#090300', + base01: '#3a3432', + base02: '#4a4543', + base03: '#5c5855', + base04: '#807d7c', + base05: '#a5a2a2', + base06: '#d6d5d4', + base07: '#f7f7f7', + base08: '#db2d20', + base09: '#e8bbd0', + base0A: '#fded02', + base0B: '#01a252', + base0C: '#b5e4f4', + base0D: '#01a0e4', + base0E: '#a16a94', + base0F: '#cdab53', +}; diff --git a/packages/react-base16-styling/src/themes/tomorrow.ts b/packages/react-base16-styling/src/themes/tomorrow.ts new file mode 100644 index 00000000..27af0af3 --- /dev/null +++ b/packages/react-base16-styling/src/themes/tomorrow.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'tomorrow', + author: 'chris kempson (http://chriskempson.com)', + base00: '#1d1f21', + base01: '#282a2e', + base02: '#373b41', + base03: '#969896', + base04: '#b4b7b4', + base05: '#c5c8c6', + base06: '#e0e0e0', + base07: '#ffffff', + base08: '#cc6666', + base09: '#de935f', + base0A: '#f0c674', + base0B: '#b5bd68', + base0C: '#8abeb7', + base0D: '#81a2be', + base0E: '#b294bb', + base0F: '#a3685a', +}; diff --git a/packages/react-base16-styling/src/themes/tube.ts b/packages/react-base16-styling/src/themes/tube.ts new file mode 100644 index 00000000..ca8a1f0c --- /dev/null +++ b/packages/react-base16-styling/src/themes/tube.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'london tube', + author: 'jan t. sott', + base00: '#231f20', + base01: '#1c3f95', + base02: '#5a5758', + base03: '#737171', + base04: '#959ca1', + base05: '#d9d8d8', + base06: '#e7e7e8', + base07: '#ffffff', + base08: '#ee2e24', + base09: '#f386a1', + base0A: '#ffd204', + base0B: '#00853e', + base0C: '#85cebc', + base0D: '#009ddc', + base0E: '#98005d', + base0F: '#b06110', +}; diff --git a/packages/react-base16-styling/src/themes/twilight.ts b/packages/react-base16-styling/src/themes/twilight.ts new file mode 100644 index 00000000..59b165bc --- /dev/null +++ b/packages/react-base16-styling/src/themes/twilight.ts @@ -0,0 +1,20 @@ +export default { + scheme: 'twilight', + author: 'david hart (http://hart-dev.com)', + base00: '#1e1e1e', + base01: '#323537', + base02: '#464b50', + base03: '#5f5a60', + base04: '#838184', + base05: '#a7a7a7', + base06: '#c3c3c3', + base07: '#ffffff', + base08: '#cf6a4c', + base09: '#cda869', + base0A: '#f9ee98', + base0B: '#8f9d6a', + base0C: '#afc4db', + base0D: '#7587a6', + base0E: '#9b859d', + base0F: '#9b703f', +}; diff --git a/packages/react-base16-styling/src/types.ts b/packages/react-base16-styling/src/types.ts index e4a489ee..d0318d00 100644 --- a/packages/react-base16-styling/src/types.ts +++ b/packages/react-base16-styling/src/types.ts @@ -1,5 +1,5 @@ -import { Base16Theme } from 'base16'; import * as CSS from 'csstype'; +import type { Base16Theme } from './themes/index.js'; export interface Styling { className?: string; diff --git a/packages/react-base16-styling/test/index.test.ts b/packages/react-base16-styling/test/index.test.ts index 734b6f68..0a58cea9 100644 --- a/packages/react-base16-styling/test/index.test.ts +++ b/packages/react-base16-styling/test/index.test.ts @@ -1,6 +1,10 @@ -import { createStyling, invertBase16Theme, getBase16Theme } from '../src'; -import { apathy, Base16Theme } from 'base16'; -import { Styling, StylingConfig } from '../src/types'; +import { + createStyling, + invertBase16Theme, + getBase16Theme, +} from '../src/index.js'; +import { base16Themes, Base16Theme } from '../src/themes/index.js'; +import { Styling, StylingConfig } from '../src/types.js'; const base16Theme = { scheme: 'myscheme', @@ -94,34 +98,34 @@ test('invertTheme', () => { }); test('getBase16Theme', () => { - expect(getBase16Theme('apathy')).toEqual(apathy); - expect(getBase16Theme({ extend: 'apathy' })).toEqual(apathy); + expect(getBase16Theme('apathy')).toEqual(base16Themes.apathy); + expect(getBase16Theme({ extend: 'apathy' })).toEqual(base16Themes.apathy); expect(getBase16Theme('apathy:inverted')).toEqual(apathyInverted); expect(getBase16Theme({})).toBeUndefined(); }); test('createStyling (default)', () => { const styling = createStyling(getStylingFromBase16, { - defaultBase16: apathy, + defaultBase16: base16Themes.apathy, }); const defaultStyling = styling(undefined); expect(defaultStyling('testClass')).toEqual({ className: 'testClass' }); expect(defaultStyling('testStyle')).toEqual({ - style: { color: apathy.base00 }, + style: { color: base16Themes.apathy.base00 }, }); expect(defaultStyling('testFunc', 'mod')).toEqual({ className: 'testClass--mod', style: { width: 0, - color: apathy.base00, + color: base16Themes.apathy.base00, }, }); }); test('createStyling (custom)', () => { const styling = createStyling(getStylingFromBase16, { - defaultBase16: apathy, + defaultBase16: base16Themes.apathy, }); let customStyling = styling({ testClass: 'customClass', @@ -146,13 +150,13 @@ test('createStyling (custom)', () => { className: 'testClass customClass', }); expect(customStyling('testStyle')).toEqual({ - style: { color: apathy.base00, height: 0 }, + style: { color: base16Themes.apathy.base00, height: 0 }, }); expect(customStyling('testFunc', 'mod')).toEqual({ className: 'testClass--mod customClass--mod', style: { width: 0, - color: apathy.base00, + color: base16Themes.apathy.base00, border: 0, }, }); @@ -180,7 +184,7 @@ test('createStyling (custom)', () => { test('createStyling (multiple)', () => { const styling = createStyling(getStylingFromBase16, { - defaultBase16: apathy, + defaultBase16: base16Themes.apathy, }); let customStyling = styling({ baseStyle: ({ style }) => ({ style: { ...style, color: 'blue' } }), diff --git a/packages/react-base16-styling/tsconfig.json b/packages/react-base16-styling/tsconfig.json index 19e4e718..e3160ce3 100644 --- a/packages/react-base16-styling/tsconfig.json +++ b/packages/react-base16-styling/tsconfig.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../tsconfig.esm.base.json", "compilerOptions": { - "outDir": "lib/types" + "outDir": "lib" }, "include": ["src"] } diff --git a/packages/react-base16-styling/tsconfig.test.json b/packages/react-base16-styling/tsconfig.test.json index d0d15f67..52e69314 100644 --- a/packages/react-base16-styling/tsconfig.test.json +++ b/packages/react-base16-styling/tsconfig.test.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../tsconfig.esm.base.json", "compilerOptions": { "types": ["jest"] }, diff --git a/packages/react-dock/.eslintrc.js b/packages/react-dock/.eslintrc.cjs similarity index 100% rename from packages/react-dock/.eslintrc.js rename to packages/react-dock/.eslintrc.cjs diff --git a/packages/react-dock/babel.config.esm.json b/packages/react-dock/babel.config.esm.json deleted file mode 100644 index d616aff2..00000000 --- a/packages/react-dock/babel.config.esm.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "presets": [ - ["@babel/preset-env", { "targets": "defaults", "modules": false }], - "@babel/preset-react", - "@babel/preset-typescript" - ], - "plugins": ["@babel/plugin-transform-runtime"] -} diff --git a/packages/react-dock/babel.config.json b/packages/react-dock/babel.config.json deleted file mode 100644 index 814fca2b..00000000 --- a/packages/react-dock/babel.config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "presets": [ - ["@babel/preset-env", { "targets": "defaults" }], - "@babel/preset-react", - "@babel/preset-typescript" - ], - "plugins": ["@babel/plugin-transform-runtime"] -} diff --git a/packages/react-dock/demo/src/App.tsx b/packages/react-dock/demo/src/App.tsx index fff6a77e..752a8f2e 100644 --- a/packages/react-dock/demo/src/App.tsx +++ b/packages/react-dock/demo/src/App.tsx @@ -4,7 +4,7 @@ import Form from 'react-bootstrap/Form'; import { BsX } from 'react-icons/bs'; import styled from 'styled-components'; -import Dock from '../../src/Dock'; +import { Dock } from 'react-dock'; const Root = styled.div` font-size: 16px; diff --git a/packages/react-dock/jest.config.cjs b/packages/react-dock/jest.config.cjs new file mode 100644 index 00000000..eb51aefc --- /dev/null +++ b/packages/react-dock/jest.config.cjs @@ -0,0 +1,13 @@ +module.exports = { + testEnvironment: 'jsdom', + extensionsToTreatAsEsm: ['.ts', '.tsx'], + moduleNameMapper: { + '^(\\.{1,2}/.*)\\.js$': '$1', + }, + transform: { + '^.+\\.tsx?$': [ + 'ts-jest', + { tsconfig: 'tsconfig.test.json', useESM: true }, + ], + }, +}; diff --git a/packages/react-dock/jest.config.js b/packages/react-dock/jest.config.js deleted file mode 100644 index dcef0803..00000000 --- a/packages/react-dock/jest.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - preset: 'ts-jest', - testEnvironment: 'jsdom', - transform: { - '^.+\\.tsx?$': ['ts-jest', { tsconfig: 'tsconfig.test.json' }], - }, -}; diff --git a/packages/react-dock/package.json b/packages/react-dock/package.json index 899491d4..1cf23ee5 100644 --- a/packages/react-dock/package.json +++ b/packages/react-dock/package.json @@ -18,41 +18,29 @@ "lib", "src" ], - "main": "lib/cjs/index.js", - "module": "lib/esm/index.js", - "types": "lib/types/index.d.ts", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "type": "module", "sideEffects": false, "repository": { "type": "git", "url": "https://github.com/reduxjs/redux-devtools.git" }, "scripts": { - "build": "pnpm run build:cjs && pnpm run build:esm && pnpm run build:types", - "build:cjs": "babel src --extensions \".ts,.tsx\" --out-dir lib/cjs", - "build:esm": "babel src --config-file ./babel.config.esm.json --extensions \".ts,.tsx\" --out-dir lib/esm", - "build:types": "tsc --emitDeclarationOnly", + "build": "tsc", "clean": "rimraf lib", - "test": "jest", + "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js", "lint": "eslint . --ext .ts,.tsx", "type-check": "tsc --noEmit", "prepack": "pnpm run clean && pnpm run build", - "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test" + "prepublish": "pnpm run lint && pnpm run test" }, "dependencies": { - "@babel/runtime": "^7.24.1", - "@types/lodash": "^4.17.0", - "lodash.debounce": "^4.0.8" + "@types/lodash-es": "^4.17.12", + "lodash-es": "^4.17.21" }, "devDependencies": { - "@babel/cli": "^7.24.1", - "@babel/core": "^7.24.3", - "@babel/eslint-parser": "^7.24.1", - "@babel/plugin-transform-runtime": "^7.24.3", - "@babel/preset-env": "^7.24.3", - "@babel/preset-react": "^7.24.1", - "@babel/preset-typescript": "^7.24.1", "@types/jest": "^29.5.12", - "@types/lodash.debounce": "^4.0.9", "@types/react": "^18.2.72", "@types/react-test-renderer": "^18.0.7", "@typescript-eslint/eslint-plugin": "^7.4.0", diff --git a/packages/react-dock/src/Dock.tsx b/packages/react-dock/src/Dock.tsx index 891384fd..a555c6cf 100644 --- a/packages/react-dock/src/Dock.tsx +++ b/packages/react-dock/src/Dock.tsx @@ -1,7 +1,7 @@ import React, { Component, ReactNode } from 'react'; -import debounce from 'lodash.debounce'; -import type { DebouncedFunc } from 'lodash'; -import autoprefix from './autoprefix'; +import { debounce } from 'lodash-es'; +import type { DebouncedFunc } from 'lodash-es'; +import autoprefix from './autoprefix.js'; interface Styles { [key: string]: React.CSSProperties; diff --git a/packages/react-dock/src/index.ts b/packages/react-dock/src/index.ts index 40652fcc..8c1931d2 100644 --- a/packages/react-dock/src/index.ts +++ b/packages/react-dock/src/index.ts @@ -1 +1 @@ -export { default as Dock } from './Dock'; +export { default as Dock } from './Dock.js'; diff --git a/packages/react-dock/test/index.test.tsx b/packages/react-dock/test/index.test.tsx index 336272dc..33826cb8 100644 --- a/packages/react-dock/test/index.test.tsx +++ b/packages/react-dock/test/index.test.tsx @@ -1,10 +1,10 @@ import React from 'react'; -import { createRenderer } from 'react-test-renderer/shallow'; -import Dock from '../src/Dock'; +import TestRenderer from 'react-test-renderer/shallow'; +import Dock from '../src/Dock.js'; describe('Dock component', function () { it('should have shallow rendering', function () { - const renderer = createRenderer(); + const renderer = TestRenderer.createRenderer(); const DockEl = ; renderer.render(DockEl); diff --git a/packages/react-dock/tsconfig.json b/packages/react-dock/tsconfig.json index 0aade49a..73069549 100644 --- a/packages/react-dock/tsconfig.json +++ b/packages/react-dock/tsconfig.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.react.base.json", + "extends": "../../tsconfig.esm.react.base.json", "compilerOptions": { - "outDir": "lib/types" + "outDir": "lib" }, "include": ["src"] } diff --git a/packages/react-dock/tsconfig.test.json b/packages/react-dock/tsconfig.test.json index 434e50ff..d0d1a7be 100644 --- a/packages/react-dock/tsconfig.test.json +++ b/packages/react-dock/tsconfig.test.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.react.base.json", + "extends": "../../tsconfig.esm.react.base.json", "compilerOptions": { "types": ["jest"] }, diff --git a/packages/react-json-tree/.eslintrc.js b/packages/react-json-tree/.eslintrc.cjs similarity index 100% rename from packages/react-json-tree/.eslintrc.js rename to packages/react-json-tree/.eslintrc.cjs diff --git a/packages/react-json-tree/babel.config.esm.json b/packages/react-json-tree/babel.config.esm.json deleted file mode 100644 index d616aff2..00000000 --- a/packages/react-json-tree/babel.config.esm.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "presets": [ - ["@babel/preset-env", { "targets": "defaults", "modules": false }], - "@babel/preset-react", - "@babel/preset-typescript" - ], - "plugins": ["@babel/plugin-transform-runtime"] -} diff --git a/packages/react-json-tree/babel.config.json b/packages/react-json-tree/babel.config.json deleted file mode 100644 index 814fca2b..00000000 --- a/packages/react-json-tree/babel.config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "presets": [ - ["@babel/preset-env", { "targets": "defaults" }], - "@babel/preset-react", - "@babel/preset-typescript" - ], - "plugins": ["@babel/plugin-transform-runtime"] -} diff --git a/packages/react-json-tree/jest.config.cjs b/packages/react-json-tree/jest.config.cjs new file mode 100644 index 00000000..7dd68539 --- /dev/null +++ b/packages/react-json-tree/jest.config.cjs @@ -0,0 +1,12 @@ +module.exports = { + extensionsToTreatAsEsm: ['.ts', '.tsx'], + moduleNameMapper: { + '^(\\.{1,2}/.*)\\.js$': '$1', + }, + transform: { + '^.+\\.tsx?$': [ + 'ts-jest', + { tsconfig: 'tsconfig.test.json', useESM: true }, + ], + }, +}; diff --git a/packages/react-json-tree/jest.config.js b/packages/react-json-tree/jest.config.js deleted file mode 100644 index f68efd05..00000000 --- a/packages/react-json-tree/jest.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - preset: 'ts-jest', - transform: { - '^.+\\.tsx?$': ['ts-jest', { tsconfig: 'tsconfig.test.json' }], - }, -}; diff --git a/packages/react-json-tree/package.json b/packages/react-json-tree/package.json index fdad0d45..1d08734e 100644 --- a/packages/react-json-tree/package.json +++ b/packages/react-json-tree/package.json @@ -22,47 +22,29 @@ "lib", "src" ], - "main": "lib/cjs/index.js", - "module": "lib/esm/index.js", - "types": "lib/types/index.d.ts", - "unpkg": "lib/umd/react-json-tree.umd.js", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "type": "module", "sideEffects": false, "repository": { "type": "git", "url": "https://github.com/reduxjs/redux-devtools.git" }, "scripts": { - "build": "pnpm run build:cjs && pnpm run build:esm && pnpm run build:types && pnpm run build:umd", - "build:cjs": "babel src --extensions \".ts,.tsx\" --out-dir lib/cjs", - "build:esm": "babel src --config-file ./babel.config.esm.json --extensions \".ts,.tsx\" --out-dir lib/esm", - "build:types": "tsc --emitDeclarationOnly", - "build:umd": "rollup -c", + "build": "tsc", "clean": "rimraf lib", - "test": "jest", + "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js", "lint": "eslint . --ext .ts,.tsx", "type-check": "tsc --noEmit", "prepack": "pnpm run clean && pnpm run build", - "prepublish": "pnpm run type-check && pnpm run lint && pnpm run test" + "prepublish": "pnpm run lint && pnpm run test" }, "dependencies": { - "@babel/runtime": "^7.24.1", "@types/lodash": "^4.17.0", "react-base16-styling": "^0.9.1" }, "devDependencies": { - "@babel/cli": "^7.24.1", - "@babel/core": "^7.24.3", - "@babel/eslint-parser": "^7.24.1", - "@babel/plugin-transform-runtime": "^7.24.3", - "@babel/preset-env": "^7.24.3", - "@babel/preset-react": "^7.24.1", - "@babel/preset-typescript": "^7.24.1", - "@rollup/plugin-babel": "^6.0.4", - "@rollup/plugin-commonjs": "^25.0.7", - "@rollup/plugin-node-resolve": "^15.2.3", - "@rollup/plugin-terser": "^0.4.4", "@types/jest": "^29.5.12", - "@types/node": "^20.11.30", "@types/react": "^18.2.72", "@types/react-test-renderer": "^18.0.7", "@typescript-eslint/eslint-plugin": "^7.4.0", @@ -76,10 +58,7 @@ "react": "^18.2.0", "react-test-renderer": "^18.2.0", "rimraf": "^5.0.5", - "rollup": "^4.13.0", - "rollup-plugin-typescript2": "^0.36.0", "ts-jest": "^29.1.2", - "tslib": "^2.6.2", "typescript": "~5.3.3" }, "peerDependencies": { diff --git a/packages/react-json-tree/rollup.config.mjs b/packages/react-json-tree/rollup.config.mjs deleted file mode 100644 index de6c3688..00000000 --- a/packages/react-json-tree/rollup.config.mjs +++ /dev/null @@ -1,59 +0,0 @@ -import typescript from 'rollup-plugin-typescript2'; -import resolve from '@rollup/plugin-node-resolve'; -import commonjs from '@rollup/plugin-commonjs'; -import babel from '@rollup/plugin-babel'; -import terser from '@rollup/plugin-terser'; - -const config = [ - { - input: 'src/index.tsx', - output: { - name: 'ReactJsonTree', - file: 'lib/umd/react-json-tree.js', - format: 'umd', - globals: { - react: 'React', - }, - }, - plugins: [ - typescript({ - tsconfigOverride: { compilerOptions: { declaration: false } }, - }), - resolve(), - commonjs(), - babel({ - babelHelpers: 'runtime', - extensions: ['.ts', '.tsx'], - plugins: ['@babel/plugin-transform-runtime'], - }), - ], - external: ['react'], - }, - { - input: 'src/index.tsx', - output: { - name: 'ReactJsonTree', - file: 'lib/umd/react-json-tree.min.js', - format: 'umd', - globals: { - react: 'React', - }, - }, - plugins: [ - typescript({ - tsconfigOverride: { compilerOptions: { declaration: false } }, - }), - resolve(), - commonjs(), - babel({ - babelHelpers: 'runtime', - extensions: ['.ts', '.tsx'], - plugins: ['@babel/plugin-transform-runtime'], - }), - terser(), - ], - external: ['react'], - }, -]; - -export default config; diff --git a/packages/react-json-tree/src/ItemRange.tsx b/packages/react-json-tree/src/ItemRange.tsx index 52abad4a..a051a015 100644 --- a/packages/react-json-tree/src/ItemRange.tsx +++ b/packages/react-json-tree/src/ItemRange.tsx @@ -1,6 +1,6 @@ import React, { useCallback, useState } from 'react'; -import JSONArrow from './JSONArrow'; -import type { CircularCache, CommonInternalProps } from './types'; +import JSONArrow from './JSONArrow.js'; +import type { CircularCache, CommonInternalProps } from './types.js'; interface Props extends CommonInternalProps { data: unknown; diff --git a/packages/react-json-tree/src/JSONArrayNode.tsx b/packages/react-json-tree/src/JSONArrayNode.tsx index 76da807c..7faf5c45 100644 --- a/packages/react-json-tree/src/JSONArrayNode.tsx +++ b/packages/react-json-tree/src/JSONArrayNode.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import JSONNestedNode from './JSONNestedNode'; -import type { CommonInternalProps } from './types'; +import JSONNestedNode from './JSONNestedNode.js'; +import type { CommonInternalProps } from './types.js'; // Returns the "n Items" string for this node, // generating and caching it if it hasn't been created yet. diff --git a/packages/react-json-tree/src/JSONIterableNode.tsx b/packages/react-json-tree/src/JSONIterableNode.tsx index 0357b511..defce1bd 100644 --- a/packages/react-json-tree/src/JSONIterableNode.tsx +++ b/packages/react-json-tree/src/JSONIterableNode.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import JSONNestedNode from './JSONNestedNode'; -import type { CommonInternalProps } from './types'; +import JSONNestedNode from './JSONNestedNode.js'; +import type { CommonInternalProps } from './types.js'; // Returns the "n Items" string for this node, // generating and caching it if it hasn't been created yet. diff --git a/packages/react-json-tree/src/JSONNestedNode.tsx b/packages/react-json-tree/src/JSONNestedNode.tsx index e62d6532..956f1e5f 100644 --- a/packages/react-json-tree/src/JSONNestedNode.tsx +++ b/packages/react-json-tree/src/JSONNestedNode.tsx @@ -1,9 +1,9 @@ import React, { useCallback, useState } from 'react'; -import JSONArrow from './JSONArrow'; -import getCollectionEntries from './getCollectionEntries'; -import JSONNode from './JSONNode'; -import ItemRange from './ItemRange'; -import type { CircularCache, CommonInternalProps } from './types'; +import JSONArrow from './JSONArrow.js'; +import getCollectionEntries from './getCollectionEntries.js'; +import JSONNode from './JSONNode.js'; +import ItemRange from './ItemRange.js'; +import type { CircularCache, CommonInternalProps } from './types.js'; /** * Renders nested values (eg. objects, arrays, lists, etc.) diff --git a/packages/react-json-tree/src/JSONNode.tsx b/packages/react-json-tree/src/JSONNode.tsx index f7703350..e41092fd 100644 --- a/packages/react-json-tree/src/JSONNode.tsx +++ b/packages/react-json-tree/src/JSONNode.tsx @@ -1,10 +1,10 @@ import React from 'react'; -import objType from './objType'; -import JSONObjectNode from './JSONObjectNode'; -import JSONArrayNode from './JSONArrayNode'; -import JSONIterableNode from './JSONIterableNode'; -import JSONValueNode from './JSONValueNode'; -import type { CommonInternalProps } from './types'; +import objType from './objType.js'; +import JSONObjectNode from './JSONObjectNode.js'; +import JSONArrayNode from './JSONArrayNode.js'; +import JSONIterableNode from './JSONIterableNode.js'; +import JSONValueNode from './JSONValueNode.js'; +import type { CommonInternalProps } from './types.js'; interface Props extends CommonInternalProps { value: unknown; diff --git a/packages/react-json-tree/src/JSONObjectNode.tsx b/packages/react-json-tree/src/JSONObjectNode.tsx index 95401f83..09c50744 100644 --- a/packages/react-json-tree/src/JSONObjectNode.tsx +++ b/packages/react-json-tree/src/JSONObjectNode.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import JSONNestedNode from './JSONNestedNode'; -import type { CommonInternalProps } from './types'; +import JSONNestedNode from './JSONNestedNode.js'; +import type { CommonInternalProps } from './types.js'; // Returns the "n Items" string for this node, // generating and caching it if it hasn't been created yet. diff --git a/packages/react-json-tree/src/JSONValueNode.tsx b/packages/react-json-tree/src/JSONValueNode.tsx index 24e4272d..38a7297d 100644 --- a/packages/react-json-tree/src/JSONValueNode.tsx +++ b/packages/react-json-tree/src/JSONValueNode.tsx @@ -6,7 +6,7 @@ import type { LabelRenderer, Styling, ValueRenderer, -} from './types'; +} from './types.js'; /** * Renders simple values (eg. strings, numbers, booleans, etc) diff --git a/packages/react-json-tree/src/createStylingFromTheme.ts b/packages/react-json-tree/src/createStylingFromTheme.ts index 5c776c7e..47665c19 100644 --- a/packages/react-json-tree/src/createStylingFromTheme.ts +++ b/packages/react-json-tree/src/createStylingFromTheme.ts @@ -6,7 +6,7 @@ import type { StylingFunction, Theme, } from 'react-base16-styling'; -import solarized from './themes/solarized'; +import solarized from './themes/solarized.js'; const colorMap = (theme: Base16Theme) => ({ BACKGROUND_COLOR: theme.base00, diff --git a/packages/react-json-tree/src/getCollectionEntries.ts b/packages/react-json-tree/src/getCollectionEntries.ts index f11d36de..67918949 100644 --- a/packages/react-json-tree/src/getCollectionEntries.ts +++ b/packages/react-json-tree/src/getCollectionEntries.ts @@ -1,4 +1,4 @@ -import type { SortObjectKeys } from './types'; +import type { SortObjectKeys } from './types.js'; function getLength(type: string, collection: unknown) { if (type === 'Object') { diff --git a/packages/react-json-tree/src/index.tsx b/packages/react-json-tree/src/index.tsx index 5fc23dae..6f298f0e 100644 --- a/packages/react-json-tree/src/index.tsx +++ b/packages/react-json-tree/src/index.tsx @@ -4,17 +4,17 @@ // port by Daniele Zannotti http://www.github.com/dzannotti import React, { useMemo } from 'react'; -import JSONNode from './JSONNode'; -import createStylingFromTheme from './createStylingFromTheme'; import { invertTheme } from 'react-base16-styling'; import type { StylingValue, Theme } from 'react-base16-styling'; +import JSONNode from './JSONNode.js'; +import createStylingFromTheme from './createStylingFromTheme.js'; import type { CommonExternalProps, GetItemString, IsCustomNode, LabelRenderer, ShouldExpandNodeInitially, -} from './types'; +} from './types.js'; interface Props extends Partial { data: unknown; @@ -86,5 +86,5 @@ export type { SortObjectKeys, Styling, CommonExternalProps, -} from './types'; +} from './types.js'; export type { StylingValue }; diff --git a/packages/react-json-tree/test/index.spec.tsx b/packages/react-json-tree/test/index.spec.tsx index 99661291..ac49b523 100644 --- a/packages/react-json-tree/test/index.spec.tsx +++ b/packages/react-json-tree/test/index.spec.tsx @@ -1,13 +1,13 @@ import React from 'react'; -import { createRenderer } from 'react-test-renderer/shallow'; +import TestRenderer from 'react-test-renderer/shallow'; -import { JSONTree } from '../src/index'; -import JSONNode from '../src/JSONNode'; +import { JSONTree } from '../src/index.js'; +import JSONNode from '../src/JSONNode.js'; const BASIC_DATA = { a: 1, b: 'c' }; function render(component: React.ReactElement) { - const renderer = createRenderer(); + const renderer = TestRenderer.createRenderer(); renderer.render(component); return renderer.getRenderOutput(); } diff --git a/packages/react-json-tree/test/objType.spec.ts b/packages/react-json-tree/test/objType.spec.ts index fce81ef9..6a76ac4c 100644 --- a/packages/react-json-tree/test/objType.spec.ts +++ b/packages/react-json-tree/test/objType.spec.ts @@ -1,4 +1,4 @@ -import objType from '../src/objType'; +import objType from '../src/objType.js'; describe('objType', () => { it('should determine the correct type', () => { diff --git a/packages/react-json-tree/tsconfig.json b/packages/react-json-tree/tsconfig.json index 0aade49a..73069549 100644 --- a/packages/react-json-tree/tsconfig.json +++ b/packages/react-json-tree/tsconfig.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.react.base.json", + "extends": "../../tsconfig.esm.react.base.json", "compilerOptions": { - "outDir": "lib/types" + "outDir": "lib" }, "include": ["src"] } diff --git a/packages/react-json-tree/tsconfig.test.json b/packages/react-json-tree/tsconfig.test.json index 434e50ff..d0d1a7be 100644 --- a/packages/react-json-tree/tsconfig.test.json +++ b/packages/react-json-tree/tsconfig.test.json @@ -1,5 +1,5 @@ { - "extends": "../../tsconfig.react.base.json", + "extends": "../../tsconfig.esm.react.base.json", "compilerOptions": { "types": ["jest"] }, diff --git a/packages/redux-devtools-chart-monitor/package.json b/packages/redux-devtools-chart-monitor/package.json index 3bafde36..89d1670b 100644 --- a/packages/redux-devtools-chart-monitor/package.json +++ b/packages/redux-devtools-chart-monitor/package.json @@ -40,10 +40,9 @@ }, "dependencies": { "@babel/runtime": "^7.24.1", - "@types/redux-devtools-themes": "^1.0.3", "d3-state-visualizer": "^3.0.0", "deepmerge": "^4.3.1", - "redux-devtools-themes": "^1.0.0" + "react-base16-styling": "^0.9.1" }, "devDependencies": { "@babel/cli": "^7.24.1", diff --git a/packages/redux-devtools-chart-monitor/src/Chart.tsx b/packages/redux-devtools-chart-monitor/src/Chart.tsx index e9797b00..10a13d50 100644 --- a/packages/redux-devtools-chart-monitor/src/Chart.tsx +++ b/packages/redux-devtools-chart-monitor/src/Chart.tsx @@ -1,9 +1,10 @@ import React, { Component, createRef } from 'react'; import { tree } from 'd3-state-visualizer'; import type { Options } from 'd3-state-visualizer'; +import { base16Themes } from 'react-base16-styling'; +import type { Base16Theme } from 'react-base16-styling'; import { Action, Dispatch } from 'redux'; import { LiftedAction, LiftedState } from '@redux-devtools/core'; -import * as themes from 'redux-devtools-themes'; import { ChartMonitorState } from './reducers'; const wrapperStyle = { @@ -17,7 +18,7 @@ export interface Props> dispatch: Dispatch>; preserveScrollTop: boolean; select: (state: S) => unknown; - theme: keyof typeof themes | themes.Base16Theme; + theme: keyof typeof base16Themes | Base16Theme; invertTheme: boolean; state: S | null; diff --git a/packages/redux-devtools-chart-monitor/src/ChartMonitor.tsx b/packages/redux-devtools-chart-monitor/src/ChartMonitor.tsx index 27004292..78bdb7e7 100644 --- a/packages/redux-devtools-chart-monitor/src/ChartMonitor.tsx +++ b/packages/redux-devtools-chart-monitor/src/ChartMonitor.tsx @@ -1,5 +1,6 @@ import React, { CSSProperties, PureComponent } from 'react'; -import * as themes from 'redux-devtools-themes'; +import { base16Themes } from 'react-base16-styling'; +import type { Base16Theme } from 'react-base16-styling'; import { ActionCreators, LiftedAction, @@ -25,7 +26,7 @@ const styles: { container: CSSProperties } = { }, }; -function invertColors(theme: themes.Base16Theme) { +function invertColors(theme: Base16Theme) { return { ...theme, base00: theme.base07, @@ -45,7 +46,7 @@ export interface ChartMonitorProps> dispatch: Dispatch>; preserveScrollTop: boolean; select: (state: S) => unknown; - theme: keyof typeof themes | themes.Base16Theme; + theme: keyof typeof base16Themes | Base16Theme; invertTheme: boolean; defaultIsVisible?: boolean; @@ -89,14 +90,18 @@ class ChartMonitor> extends PureComponent< return invertTheme ? invertColors(theme) : theme; } - if (typeof themes[theme] !== 'undefined') { - return invertTheme ? invertColors(themes[theme]) : themes[theme]; + if (typeof base16Themes[theme] !== 'undefined') { + return invertTheme + ? invertColors(base16Themes[theme]) + : base16Themes[theme]; } console.warn( 'DevTools theme ' + theme + ' not found, defaulting to nicinabox', ); - return invertTheme ? invertColors(themes.nicinabox) : themes.nicinabox; + return invertTheme + ? invertColors(base16Themes.nicinabox) + : base16Themes.nicinabox; } getChartOptions(props = this.props): Props { diff --git a/packages/redux-devtools-inspector-monitor-test-tab/jest.config.js b/packages/redux-devtools-inspector-monitor-test-tab/jest.config.js index b5063992..675273a8 100644 --- a/packages/redux-devtools-inspector-monitor-test-tab/jest.config.js +++ b/packages/redux-devtools-inspector-monitor-test-tab/jest.config.js @@ -8,5 +8,5 @@ module.exports = { '^.+\\.jsx?$': 'babel-jest', '^.+\\.tsx?$': ['ts-jest', { tsconfig: 'tsconfig.test.json' }], }, - transformIgnorePatterns: ['node_modules/(?!.pnpm|nanoid)'], + transformIgnorePatterns: ['node_modules/(?!.pnpm|lodash-es|nanoid)'], }; diff --git a/packages/redux-devtools-inspector-monitor-trace-tab/jest.config.js b/packages/redux-devtools-inspector-monitor-trace-tab/jest.config.js index b268ef7f..3123471f 100644 --- a/packages/redux-devtools-inspector-monitor-trace-tab/jest.config.js +++ b/packages/redux-devtools-inspector-monitor-trace-tab/jest.config.js @@ -6,6 +6,6 @@ module.exports = { '^.+\\.tsx?$': ['ts-jest', { tsconfig: 'tsconfig.test.json' }], }, transformIgnorePatterns: [ - 'node_modules/(?!.pnpm|@babel/code-frame|@babel/highlight|@babel/helper-validator-identifier|chalk)', + 'node_modules/(?!.pnpm|@babel/code-frame|@babel/highlight|@babel/helper-validator-identifier|chalk|lodash-es)', ], }; diff --git a/packages/redux-devtools-inspector-monitor-trace-tab/package.json b/packages/redux-devtools-inspector-monitor-trace-tab/package.json index 27ecccca..ad48f787 100644 --- a/packages/redux-devtools-inspector-monitor-trace-tab/package.json +++ b/packages/redux-devtools-inspector-monitor-trace-tab/package.json @@ -36,7 +36,7 @@ "anser": "^2.1.1", "html-entities": "^2.5.2", "path-browserify": "^1.0.1", - "redux-devtools-themes": "^1.0.0", + "react-base16-styling": "^0.9.1", "source-map": "^0.5.7" }, "devDependencies": { @@ -57,7 +57,6 @@ "@types/node": "^20.11.30", "@types/path-browserify": "^1.0.2", "@types/react": "^18.2.72", - "@types/redux-devtools-themes": "^1.0.3", "@types/source-map": "0.5.2", "@typescript-eslint/eslint-plugin": "^7.4.0", "@typescript-eslint/parser": "^7.4.0", diff --git a/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/components/Collapsible.tsx b/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/components/Collapsible.tsx index 07e81b64..944799c7 100644 --- a/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/components/Collapsible.tsx +++ b/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/components/Collapsible.tsx @@ -6,7 +6,9 @@ */ import React, { Component, CSSProperties, ReactNode } from 'react'; -import { nicinabox as theme } from 'redux-devtools-themes'; +import { base16Themes } from 'react-base16-styling'; + +const theme = base16Themes.nicinabox; const _collapsibleStyle: CSSProperties = { color: theme.base06, diff --git a/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/containers/StackFrame.tsx b/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/containers/StackFrame.tsx index f5efb144..135ce817 100644 --- a/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/containers/StackFrame.tsx +++ b/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/containers/StackFrame.tsx @@ -8,11 +8,13 @@ import React, { Component, CSSProperties } from 'react'; import CodeBlock from './StackFrameCodeBlock'; import { getPrettyURL } from '../utils/getPrettyURL'; -import { nicinabox as theme } from 'redux-devtools-themes'; +import { base16Themes } from 'react-base16-styling'; import type { StackFrame as StackFrameType } from '../utils/stack-frame'; import type { ErrorLocation } from '../utils/parseCompileError'; +const theme = base16Themes.nicinabox; + const linkStyle: CSSProperties = { fontSize: '0.9em', marginBottom: '0.9em', diff --git a/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/containers/StackFrameCodeBlock.tsx b/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/containers/StackFrameCodeBlock.tsx index e599a337..246a137d 100644 --- a/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/containers/StackFrameCodeBlock.tsx +++ b/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/containers/StackFrameCodeBlock.tsx @@ -13,7 +13,9 @@ import { ScriptLine } from '../utils/stack-frame'; import generateAnsiHTML from '../utils/generateAnsiHTML'; import { codeFrameColumns } from '@babel/code-frame'; -import { nicinabox as theme } from 'redux-devtools-themes'; +import { base16Themes } from 'react-base16-styling'; + +const theme = base16Themes.nicinabox; interface StackFrameCodeBlockPropsType { lines: ScriptLine[]; diff --git a/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/utils/generateAnsiHTML.ts b/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/utils/generateAnsiHTML.ts index c8a64ff2..39e91fd6 100644 --- a/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/utils/generateAnsiHTML.ts +++ b/packages/redux-devtools-inspector-monitor-trace-tab/src/react-error-overlay/utils/generateAnsiHTML.ts @@ -6,9 +6,11 @@ */ import Anser from 'anser'; -import { nicinabox as theme } from 'redux-devtools-themes'; +import { base16Themes } from 'react-base16-styling'; import { encode } from 'html-entities'; +const theme = base16Themes.nicinabox; + const anserMap = { 'ansi-bright-black': theme.base03, 'ansi-bright-yellow': theme.base0A, diff --git a/packages/redux-devtools-inspector-monitor/demo/package.json b/packages/redux-devtools-inspector-monitor/demo/package.json index ba68919f..94fa9351 100644 --- a/packages/redux-devtools-inspector-monitor/demo/package.json +++ b/packages/redux-devtools-inspector-monitor/demo/package.json @@ -14,10 +14,10 @@ "@redux-devtools/core": "^4.0.0", "@redux-devtools/dock-monitor": "^4.0.0", "@redux-devtools/inspector-monitor": "^6.0.0", - "base16": "^1.0.0", "immutable": "^4.3.5", "lodash.shuffle": "^4.2.0", "react": "^18.2.0", + "react-base16-styling": "^0.9.1", "react-bootstrap": "^2.10.2", "react-dom": "^18.2.0", "react-redux": "^8.1.3", @@ -30,7 +30,6 @@ "@babel/preset-env": "^7.24.3", "@babel/preset-react": "^7.24.1", "@babel/preset-typescript": "^7.24.1", - "@types/base16": "^1.0.5", "@types/lodash.shuffle": "^4.2.9", "@types/node": "^20.11.30", "@types/react": "^18.2.72", diff --git a/packages/redux-devtools-inspector-monitor/demo/src/DemoApp.tsx b/packages/redux-devtools-inspector-monitor/demo/src/DemoApp.tsx index 7774a6ed..90fd7d29 100644 --- a/packages/redux-devtools-inspector-monitor/demo/src/DemoApp.tsx +++ b/packages/redux-devtools-inspector-monitor/demo/src/DemoApp.tsx @@ -9,7 +9,7 @@ import Form from 'react-bootstrap/Form'; import Col from 'react-bootstrap/Col'; import InputGroup from 'react-bootstrap/InputGroup'; import Row from 'react-bootstrap/Row'; -import * as base16 from 'base16'; +import { base16Themes } from 'react-base16-styling'; import { inspectorThemes } from '@redux-devtools/inspector-monitor'; import { useLocation, useNavigate } from 'react-router-dom'; import getOptions, { Options } from './getOptions'; @@ -92,10 +92,10 @@ const themeOptions = [ label: inspectorThemes[value as keyof typeof inspectorThemes].scheme, })), null, - ...Object.keys(base16) + ...Object.keys(base16Themes) .map((value) => ({ value, - label: base16[value as keyof typeof base16].scheme, + label: base16Themes[value as keyof typeof base16Themes].scheme, })) .filter((opt) => opt.label), ]; diff --git a/packages/redux-devtools-inspector-monitor/package.json b/packages/redux-devtools-inspector-monitor/package.json index 32b57a8d..1f60c842 100644 --- a/packages/redux-devtools-inspector-monitor/package.json +++ b/packages/redux-devtools-inspector-monitor/package.json @@ -41,7 +41,6 @@ "@dnd-kit/sortable": "^8.0.0", "@dnd-kit/utilities": "^3.2.2", "@types/lodash": "^4.17.0", - "@types/redux-devtools-themes": "^1.0.3", "dateformat": "^5.0.3", "hex-rgba": "^1.0.2", "immutable": "^4.3.5", @@ -49,8 +48,7 @@ "jsondiffpatch": "^0.6.0", "lodash.debounce": "^4.0.8", "react-base16-styling": "^0.9.1", - "react-json-tree": "^0.18.0", - "redux-devtools-themes": "^1.0.0" + "react-json-tree": "^0.18.0" }, "devDependencies": { "@babel/cli": "^7.24.1", diff --git a/packages/redux-devtools-inspector-monitor/src/ActionPreview.tsx b/packages/redux-devtools-inspector-monitor/src/ActionPreview.tsx index 3427fb2d..8d72be33 100644 --- a/packages/redux-devtools-inspector-monitor/src/ActionPreview.tsx +++ b/packages/redux-devtools-inspector-monitor/src/ActionPreview.tsx @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import { Base16Theme } from 'redux-devtools-themes'; +import type { Base16Theme } from 'react-base16-styling'; import { Action } from 'redux'; import type { LabelRenderer } from 'react-json-tree'; import { PerformAction } from '@redux-devtools/core'; diff --git a/packages/redux-devtools-inspector-monitor/src/DevtoolsInspector.tsx b/packages/redux-devtools-inspector-monitor/src/DevtoolsInspector.tsx index 0ec2d40d..71a172ce 100644 --- a/packages/redux-devtools-inspector-monitor/src/DevtoolsInspector.tsx +++ b/packages/redux-devtools-inspector-monitor/src/DevtoolsInspector.tsx @@ -1,5 +1,5 @@ import React, { PureComponent } from 'react'; -import { Base16Theme } from 'redux-devtools-themes'; +import type { Base16Theme } from 'react-base16-styling'; import { ActionCreators, LiftedAction, diff --git a/packages/redux-devtools-inspector-monitor/src/tabs/JSONDiff.tsx b/packages/redux-devtools-inspector-monitor/src/tabs/JSONDiff.tsx index c229a336..b186f508 100644 --- a/packages/redux-devtools-inspector-monitor/src/tabs/JSONDiff.tsx +++ b/packages/redux-devtools-inspector-monitor/src/tabs/JSONDiff.tsx @@ -3,7 +3,7 @@ import { JSONTree } from 'react-json-tree'; import type { LabelRenderer, ShouldExpandNodeInitially } from 'react-json-tree'; import { stringify } from 'javascript-stringify'; import type { Delta } from 'jsondiffpatch'; -import { Base16Theme } from 'redux-devtools-themes'; +import type { Base16Theme } from 'react-base16-styling'; import { css } from '@emotion/react'; import type { Interpolation, Theme } from '@emotion/react'; import type { JSX } from '@emotion/react/jsx-runtime'; diff --git a/packages/redux-devtools-inspector-monitor/src/tabs/getJsonTreeTheme.ts b/packages/redux-devtools-inspector-monitor/src/tabs/getJsonTreeTheme.ts index 912e3e67..d7d8a9b4 100644 --- a/packages/redux-devtools-inspector-monitor/src/tabs/getJsonTreeTheme.ts +++ b/packages/redux-devtools-inspector-monitor/src/tabs/getJsonTreeTheme.ts @@ -1,5 +1,4 @@ -import { Base16Theme } from 'redux-devtools-themes'; -import { StylingConfig } from 'react-base16-styling'; +import type { Base16Theme, StylingConfig } from 'react-base16-styling'; export default function getJsonTreeTheme( base16Theme: Base16Theme, diff --git a/packages/redux-devtools-inspector-monitor/src/utils/themes.ts b/packages/redux-devtools-inspector-monitor/src/utils/themes.ts index ad15fe2b..3d55f9d5 100644 --- a/packages/redux-devtools-inspector-monitor/src/utils/themes.ts +++ b/packages/redux-devtools-inspector-monitor/src/utils/themes.ts @@ -1,6 +1,6 @@ import rgba from 'hex-rgba'; -import { Base16Theme } from 'redux-devtools-themes'; -import * as reduxThemes from 'redux-devtools-themes'; +import type { Base16Theme } from 'react-base16-styling'; +import { base16Themes as reduxThemes } from 'react-base16-styling'; import * as inspectorThemes from '../themes'; import { getBase16Theme, invertBase16Theme } from 'react-base16-styling'; diff --git a/packages/redux-devtools-log-monitor/package.json b/packages/redux-devtools-log-monitor/package.json index 9ac18db6..9accd9d6 100644 --- a/packages/redux-devtools-log-monitor/package.json +++ b/packages/redux-devtools-log-monitor/package.json @@ -43,10 +43,9 @@ "dependencies": { "@babel/runtime": "^7.24.1", "@types/lodash.debounce": "^4.0.9", - "@types/redux-devtools-themes": "^1.0.3", "lodash.debounce": "^4.0.8", - "react-json-tree": "^0.18.0", - "redux-devtools-themes": "^1.0.0" + "react-base16-styling": "^0.9.1", + "react-json-tree": "^0.18.0" }, "devDependencies": { "@babel/cli": "^7.24.1", diff --git a/packages/redux-devtools-log-monitor/src/LogMonitor.tsx b/packages/redux-devtools-log-monitor/src/LogMonitor.tsx index a9082bef..5b80055d 100644 --- a/packages/redux-devtools-log-monitor/src/LogMonitor.tsx +++ b/packages/redux-devtools-log-monitor/src/LogMonitor.tsx @@ -1,7 +1,7 @@ import React, { PureComponent } from 'react'; import { Action, Dispatch } from 'redux'; -import * as themes from 'redux-devtools-themes'; -import { Base16Theme } from 'redux-devtools-themes'; +import { base16Themes } from 'react-base16-styling'; +import type { Base16Theme } from 'react-base16-styling'; import { ActionCreators, LiftedAction, @@ -48,7 +48,7 @@ interface ExternalProps> { preserveScrollTop: boolean; select: (state: S) => unknown; - theme: keyof typeof themes | Base16Theme; + theme: keyof typeof base16Themes | Base16Theme; expandActionRoot: boolean; expandStateRoot: boolean; markStateDiff: boolean; @@ -57,7 +57,7 @@ interface ExternalProps> { interface DefaultProps { select: (state: unknown) => unknown; - theme: keyof typeof themes | Base16Theme; + theme: keyof typeof base16Themes | Base16Theme; preserveScrollTop: boolean; expandActionRoot: boolean; expandStateRoot: boolean; @@ -70,7 +70,7 @@ export interface LogMonitorProps> preserveScrollTop: boolean; select: (state: S) => unknown; - theme: keyof typeof themes | Base16Theme; + theme: keyof typeof base16Themes | Base16Theme; expandActionRoot: boolean; expandStateRoot: boolean; markStateDiff: boolean; @@ -178,15 +178,15 @@ class LogMonitor> extends PureComponent< return theme; } - if (typeof themes[theme] !== 'undefined') { - return themes[theme]; + if (typeof base16Themes[theme] !== 'undefined') { + return base16Themes[theme]; } // eslint-disable-next-line no-console console.warn( 'DevTools theme ' + theme + ' not found, defaulting to nicinabox', ); - return themes.nicinabox; + return base16Themes.nicinabox; } getRef: React.RefCallback = (node) => { diff --git a/packages/redux-devtools-log-monitor/src/LogMonitorButton.tsx b/packages/redux-devtools-log-monitor/src/LogMonitorButton.tsx index 01924eb9..575617d2 100644 --- a/packages/redux-devtools-log-monitor/src/LogMonitorButton.tsx +++ b/packages/redux-devtools-log-monitor/src/LogMonitorButton.tsx @@ -1,5 +1,5 @@ import React, { CSSProperties, ReactNode } from 'react'; -import { Base16Theme } from 'redux-devtools-themes'; +import type { Base16Theme } from 'react-base16-styling'; import brighten from './brighten'; const styles: { base: CSSProperties } = { diff --git a/packages/redux-devtools-log-monitor/src/LogMonitorButtonBar.tsx b/packages/redux-devtools-log-monitor/src/LogMonitorButtonBar.tsx index 551b8894..f20db0b4 100644 --- a/packages/redux-devtools-log-monitor/src/LogMonitorButtonBar.tsx +++ b/packages/redux-devtools-log-monitor/src/LogMonitorButtonBar.tsx @@ -1,6 +1,6 @@ import React, { CSSProperties, PureComponent } from 'react'; import { ActionCreators, LiftedAction } from '@redux-devtools/core'; -import { Base16Theme } from 'redux-devtools-themes'; +import type { Base16Theme } from 'react-base16-styling'; import { Action, Dispatch } from 'redux'; import LogMonitorButton from './LogMonitorButton'; import { LogMonitorAction } from './actions'; diff --git a/packages/redux-devtools-log-monitor/src/LogMonitorEntry.tsx b/packages/redux-devtools-log-monitor/src/LogMonitorEntry.tsx index 853ca117..9ddeb41f 100644 --- a/packages/redux-devtools-log-monitor/src/LogMonitorEntry.tsx +++ b/packages/redux-devtools-log-monitor/src/LogMonitorEntry.tsx @@ -1,7 +1,7 @@ import React, { CSSProperties, MouseEventHandler, PureComponent } from 'react'; import { JSONTree } from 'react-json-tree'; import type { ShouldExpandNodeInitially, StylingValue } from 'react-json-tree'; -import { Base16Theme } from 'redux-devtools-themes'; +import type { Base16Theme } from 'react-base16-styling'; import { Action } from 'redux'; import LogMonitorEntryAction from './LogMonitorEntryAction'; diff --git a/packages/redux-devtools-log-monitor/src/LogMonitorEntryAction.tsx b/packages/redux-devtools-log-monitor/src/LogMonitorEntryAction.tsx index 5a4fac9f..03301bd8 100644 --- a/packages/redux-devtools-log-monitor/src/LogMonitorEntryAction.tsx +++ b/packages/redux-devtools-log-monitor/src/LogMonitorEntryAction.tsx @@ -1,7 +1,7 @@ import React, { Component, CSSProperties, MouseEventHandler } from 'react'; import { JSONTree } from 'react-json-tree'; import type { ShouldExpandNodeInitially } from 'react-json-tree'; -import { Base16Theme } from 'redux-devtools-themes'; +import type { Base16Theme } from 'react-base16-styling'; import { Action } from 'redux'; const styles = { diff --git a/packages/redux-devtools-log-monitor/src/LogMonitorEntryList.tsx b/packages/redux-devtools-log-monitor/src/LogMonitorEntryList.tsx index 76448453..8ff98bc7 100644 --- a/packages/redux-devtools-log-monitor/src/LogMonitorEntryList.tsx +++ b/packages/redux-devtools-log-monitor/src/LogMonitorEntryList.tsx @@ -1,7 +1,7 @@ import React, { PureComponent } from 'react'; import { Action } from 'redux'; import { PerformAction } from '@redux-devtools/core'; -import { Base16Theme } from 'redux-devtools-themes'; +import type { Base16Theme } from 'react-base16-styling'; import LogMonitorEntry from './LogMonitorEntry'; interface Props> { diff --git a/packages/redux-devtools-rtk-query-monitor/jest.config.js b/packages/redux-devtools-rtk-query-monitor/jest.config.js index b5063992..675273a8 100644 --- a/packages/redux-devtools-rtk-query-monitor/jest.config.js +++ b/packages/redux-devtools-rtk-query-monitor/jest.config.js @@ -8,5 +8,5 @@ module.exports = { '^.+\\.jsx?$': 'babel-jest', '^.+\\.tsx?$': ['ts-jest', { tsconfig: 'tsconfig.test.json' }], }, - transformIgnorePatterns: ['node_modules/(?!.pnpm|nanoid)'], + transformIgnorePatterns: ['node_modules/(?!.pnpm|lodash-es|nanoid)'], }; diff --git a/packages/redux-devtools-rtk-query-monitor/package.json b/packages/redux-devtools-rtk-query-monitor/package.json index 79cf66a6..a6d39baf 100644 --- a/packages/redux-devtools-rtk-query-monitor/package.json +++ b/packages/redux-devtools-rtk-query-monitor/package.json @@ -47,13 +47,11 @@ "@babel/runtime": "^7.24.1", "@redux-devtools/ui": "^1.3.1", "@types/lodash": "^4.17.0", - "@types/redux-devtools-themes": "^1.0.3", "hex-rgba": "^1.0.2", "immutable": "^4.3.5", "lodash.debounce": "^4.0.8", "react-base16-styling": "^0.9.1", - "react-json-tree": "^0.18.0", - "redux-devtools-themes": "^1.0.0" + "react-json-tree": "^0.18.0" }, "devDependencies": { "@babel/cli": "^7.24.1", diff --git a/packages/redux-devtools-rtk-query-monitor/src/styles/themes.ts b/packages/redux-devtools-rtk-query-monitor/src/styles/themes.ts index f9a08ce2..a8571eaa 100644 --- a/packages/redux-devtools-rtk-query-monitor/src/styles/themes.ts +++ b/packages/redux-devtools-rtk-query-monitor/src/styles/themes.ts @@ -1,14 +1,17 @@ -import { getBase16Theme, invertBase16Theme } from 'react-base16-styling'; +import { + base16Themes, + getBase16Theme, + invertBase16Theme, +} from 'react-base16-styling'; import type { Base16Theme, StylingConfig } from 'react-base16-styling'; import rgba from 'hex-rgba'; -import * as reduxThemes from 'redux-devtools-themes'; import { createContext } from 'react'; import { StyleUtils } from '../types'; export function resolveBase16Theme( - theme: keyof typeof reduxThemes | Base16Theme, + theme: keyof typeof base16Themes | Base16Theme, ) { - return getBase16Theme(theme, reduxThemes) ?? reduxThemes.nicinabox; + return getBase16Theme(theme, base16Themes) ?? base16Themes.nicinabox; } /** @@ -49,7 +52,7 @@ declare module '@emotion/react' { } } -export const colorMap = (theme: reduxThemes.Base16Theme) => +export const colorMap = (theme: Base16Theme) => ({ TEXT_COLOR: theme.base06, TEXT_PLACEHOLDER_COLOR: rgba(theme.base06, 60), @@ -94,13 +97,11 @@ export function createRtkQueryMonitorThemeFromBase16Theme( } export const StyleUtilsContext = createContext({ - base16Theme: reduxThemes.nicinabox, + base16Theme: base16Themes.nicinabox, invertTheme: false, }); -export function getJsonTreeTheme( - base16Theme: reduxThemes.Base16Theme, -): StylingConfig { +export function getJsonTreeTheme(base16Theme: Base16Theme): StylingConfig { return { extend: base16Theme, nestedNode: ({ style }, keyPath, nodeType, expanded) => ({ diff --git a/packages/redux-devtools-rtk-query-monitor/src/types.ts b/packages/redux-devtools-rtk-query-monitor/src/types.ts index 19935884..46f7896e 100644 --- a/packages/redux-devtools-rtk-query-monitor/src/types.ts +++ b/packages/redux-devtools-rtk-query-monitor/src/types.ts @@ -2,8 +2,8 @@ import type { LiftedAction, LiftedState } from '@redux-devtools/core'; import type { createApi, QueryStatus } from '@reduxjs/toolkit/query'; import type { Action, AnyAction, Dispatch } from '@reduxjs/toolkit'; import type { ComponentType } from 'react'; -import type { Base16Theme, StylingFunction } from 'react-base16-styling'; -import type * as themes from 'redux-devtools-themes'; +import { base16Themes } from 'react-base16-styling'; +import type { Base16Theme } from 'react-base16-styling'; import type { QueryComparators } from './utils/comparators'; import type { QueryFilters } from './utils/filters'; @@ -34,7 +34,7 @@ export interface RtkQueryMonitorState { export interface RtkQueryMonitorProps> extends LiftedState { dispatch: Dispatch>; - theme: keyof typeof themes | Base16Theme; + theme: keyof typeof base16Themes | Base16Theme; invertTheme: boolean; } @@ -56,7 +56,7 @@ export type RtkQueryProvided = RtkQueryApiState['provided']; export interface ExternalProps> { dispatch: Dispatch>; - theme: keyof typeof themes | Base16Theme; + theme: keyof typeof base16Themes | Base16Theme; hideMainButtons?: boolean; invertTheme: boolean; } diff --git a/packages/redux-devtools-slider-monitor/package.json b/packages/redux-devtools-slider-monitor/package.json index cc2e89c5..8908a1fe 100644 --- a/packages/redux-devtools-slider-monitor/package.json +++ b/packages/redux-devtools-slider-monitor/package.json @@ -34,8 +34,7 @@ "dependencies": { "@babel/runtime": "^7.24.1", "@redux-devtools/ui": "^1.3.1", - "@types/redux-devtools-themes": "^1.0.3", - "redux-devtools-themes": "^1.0.0" + "react-base16-styling": "^0.9.1" }, "devDependencies": { "@babel/cli": "^7.24.1", diff --git a/packages/redux-devtools-slider-monitor/src/SliderButton.tsx b/packages/redux-devtools-slider-monitor/src/SliderButton.tsx index 4d7f7c26..15d13be5 100644 --- a/packages/redux-devtools-slider-monitor/src/SliderButton.tsx +++ b/packages/redux-devtools-slider-monitor/src/SliderButton.tsx @@ -1,5 +1,5 @@ import React, { Component, PureComponent } from 'react'; -import { Base16Theme } from 'redux-devtools-themes'; +import type { Base16Theme } from 'react-base16-styling'; import { Button } from '@redux-devtools/ui'; interface Props { diff --git a/packages/redux-devtools-slider-monitor/src/SliderMonitor.tsx b/packages/redux-devtools-slider-monitor/src/SliderMonitor.tsx index 20ebe299..0851e2bb 100644 --- a/packages/redux-devtools-slider-monitor/src/SliderMonitor.tsx +++ b/packages/redux-devtools-slider-monitor/src/SliderMonitor.tsx @@ -1,7 +1,7 @@ import React, { Component, PureComponent } from 'react'; import { Action, Dispatch } from 'redux'; -import * as themes from 'redux-devtools-themes'; -import { Base16Theme } from 'redux-devtools-themes'; +import { base16Themes } from 'react-base16-styling'; +import type { Base16Theme } from 'react-base16-styling'; import { ActionCreators, LiftedAction, @@ -25,14 +25,14 @@ interface ExternalProps> { dispatch: Dispatch>; preserveScrollTop: boolean; select: (state: S) => unknown; - theme: keyof typeof themes | Base16Theme; + theme: keyof typeof base16Themes | Base16Theme; keyboardEnabled: boolean; hideResetButton?: boolean; } interface DefaultProps { select: (state: unknown) => unknown; - theme: keyof typeof themes; + theme: keyof typeof base16Themes; preserveScrollTop: boolean; keyboardEnabled: boolean; } @@ -43,7 +43,7 @@ interface SliderMonitorProps> // eslint-disable-next dispatch: Dispatch>; preserveScrollTop: boolean; select: (state: S) => unknown; - theme: keyof typeof themes | Base16Theme; + theme: keyof typeof base16Themes | Base16Theme; keyboardEnabled: boolean; hideResetButton?: boolean; } @@ -84,10 +84,10 @@ class SliderMonitor> extends (PureComponent || setUpTheme = (): Base16Theme => { let theme; if (typeof this.props.theme === 'string') { - if (typeof themes[this.props.theme] !== 'undefined') { - theme = themes[this.props.theme]; + if (typeof base16Themes[this.props.theme] !== 'undefined') { + theme = base16Themes[this.props.theme]; } else { - theme = themes.nicinabox; + theme = base16Themes.nicinabox; } } else { theme = this.props.theme; diff --git a/packages/redux-devtools-ui/jest.config.js b/packages/redux-devtools-ui/jest.config.js index b5063992..675273a8 100644 --- a/packages/redux-devtools-ui/jest.config.js +++ b/packages/redux-devtools-ui/jest.config.js @@ -8,5 +8,5 @@ module.exports = { '^.+\\.jsx?$': 'babel-jest', '^.+\\.tsx?$': ['ts-jest', { tsconfig: 'tsconfig.test.json' }], }, - transformIgnorePatterns: ['node_modules/(?!.pnpm|nanoid)'], + transformIgnorePatterns: ['node_modules/(?!.pnpm|lodash-es|nanoid)'], }; diff --git a/packages/redux-devtools-ui/package.json b/packages/redux-devtools-ui/package.json index a1238d51..15680e44 100644 --- a/packages/redux-devtools-ui/package.json +++ b/packages/redux-devtools-ui/package.json @@ -44,17 +44,14 @@ "dependencies": { "@babel/runtime": "^7.24.1", "@rjsf/core": "^4.2.3", - "@types/base16": "^1.0.5", "@types/codemirror": "^5.60.15", "@types/json-schema": "^7.0.15", - "@types/redux-devtools-themes": "^1.0.3", "@types/simple-element-resize-detector": "^1.3.3", - "base16": "^1.0.0", "codemirror": "^5.65.16", "color": "^4.2.3", + "react-base16-styling": "^0.9.1", "react-icons": "^5.0.1", "react-select": "^5.8.0", - "redux-devtools-themes": "^1.0.0", "simple-element-resize-detector": "^1.3.0" }, "devDependencies": { diff --git a/packages/redux-devtools-ui/src/Button/Button.tsx b/packages/redux-devtools-ui/src/Button/Button.tsx index f8387e6f..1bdb1aa4 100644 --- a/packages/redux-devtools-ui/src/Button/Button.tsx +++ b/packages/redux-devtools-ui/src/Button/Button.tsx @@ -1,5 +1,5 @@ import React, { Component, ReactNode } from 'react'; -import { Base16Theme } from 'base16'; +import type { Base16Theme } from 'react-base16-styling'; import createStyledComponent from '../utils/createStyledComponent'; import * as styles from './styles'; import { commonStyle, tooltipStyle } from './styles/common'; diff --git a/packages/redux-devtools-ui/src/Dialog/Dialog.tsx b/packages/redux-devtools-ui/src/Dialog/Dialog.tsx index d1f568f7..6045e361 100644 --- a/packages/redux-devtools-ui/src/Dialog/Dialog.tsx +++ b/packages/redux-devtools-ui/src/Dialog/Dialog.tsx @@ -1,5 +1,5 @@ import React, { PureComponent } from 'react'; -import { Base16Theme } from 'base16'; +import type { Base16Theme } from 'react-base16-styling'; import createStyledComponent from '../utils/createStyledComponent'; import * as styles from './styles'; import Button from '../Button'; diff --git a/packages/redux-devtools-ui/src/Editor/Editor.tsx b/packages/redux-devtools-ui/src/Editor/Editor.tsx index a41359ef..d9e1e5c5 100644 --- a/packages/redux-devtools-ui/src/Editor/Editor.tsx +++ b/packages/redux-devtools-ui/src/Editor/Editor.tsx @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import styled from 'styled-components'; import CodeMirror, { EditorChange } from 'codemirror'; -import { Base16Theme } from 'base16'; +import type { Base16Theme } from 'react-base16-styling'; import { defaultStyle, themedStyle } from './styles'; import { Theme } from '../themes/default'; diff --git a/packages/redux-devtools-ui/src/Form/Form.tsx b/packages/redux-devtools-ui/src/Form/Form.tsx index a708c966..d4f2a963 100644 --- a/packages/redux-devtools-ui/src/Form/Form.tsx +++ b/packages/redux-devtools-ui/src/Form/Form.tsx @@ -1,6 +1,6 @@ import React, { PureComponent, Component } from 'react'; import JSONSchemaForm, { FormProps } from '@rjsf/core'; -import { Base16Theme } from 'base16'; +import type { Base16Theme } from 'react-base16-styling'; import createStyledComponent from '../utils/createStyledComponent'; import styles from './styles'; import Button from '../Button'; diff --git a/packages/redux-devtools-ui/src/Notification/Notification.tsx b/packages/redux-devtools-ui/src/Notification/Notification.tsx index bac1256e..43d0fa82 100644 --- a/packages/redux-devtools-ui/src/Notification/Notification.tsx +++ b/packages/redux-devtools-ui/src/Notification/Notification.tsx @@ -3,7 +3,7 @@ import { MdClose } from 'react-icons/md'; import { MdWarning } from 'react-icons/md'; import { MdError } from 'react-icons/md'; import { MdCheckCircle } from 'react-icons/md'; -import { Base16Theme } from 'base16'; +import type { Base16Theme } from 'react-base16-styling'; import createStyledComponent from '../utils/createStyledComponent'; import styles from './styles'; diff --git a/packages/redux-devtools-ui/src/SegmentedControl/SegmentedControl.tsx b/packages/redux-devtools-ui/src/SegmentedControl/SegmentedControl.tsx index 86cdb88c..fcdc0f9e 100644 --- a/packages/redux-devtools-ui/src/SegmentedControl/SegmentedControl.tsx +++ b/packages/redux-devtools-ui/src/SegmentedControl/SegmentedControl.tsx @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import { Base16Theme } from 'base16'; +import type { Base16Theme } from 'react-base16-styling'; import createStyledComponent from '../utils/createStyledComponent'; import styles from './styles'; diff --git a/packages/redux-devtools-ui/src/Slider/Slider.tsx b/packages/redux-devtools-ui/src/Slider/Slider.tsx index 3d3a232d..dfe34f5f 100644 --- a/packages/redux-devtools-ui/src/Slider/Slider.tsx +++ b/packages/redux-devtools-ui/src/Slider/Slider.tsx @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import { Base16Theme } from 'base16'; +import type { Base16Theme } from 'react-base16-styling'; import createStyledComponent from '../utils/createStyledComponent'; import * as styles from './styles'; import { containerStyle } from './styles/common'; diff --git a/packages/redux-devtools-ui/src/Toolbar/styles/Toolbar.ts b/packages/redux-devtools-ui/src/Toolbar/styles/Toolbar.ts index bee6a842..5ca7c7c7 100644 --- a/packages/redux-devtools-ui/src/Toolbar/styles/Toolbar.ts +++ b/packages/redux-devtools-ui/src/Toolbar/styles/Toolbar.ts @@ -1,5 +1,5 @@ import styled, { ThemedStyledInterface } from 'styled-components'; -import { Base16Theme } from 'base16'; +import type { Base16Theme } from 'react-base16-styling'; import * as CSS from 'csstype'; export type BorderPosition = 'top' | 'bottom'; diff --git a/packages/redux-devtools-ui/src/index.ts b/packages/redux-devtools-ui/src/index.ts index 58b36732..81653324 100644 --- a/packages/redux-devtools-ui/src/index.ts +++ b/packages/redux-devtools-ui/src/index.ts @@ -1,4 +1,4 @@ -export type { Base16Theme } from 'base16'; +export type { Base16Theme } from 'react-base16-styling'; export { default as Container } from './Container'; export { default as Button } from './Button'; diff --git a/packages/redux-devtools-ui/src/themes/default.ts b/packages/redux-devtools-ui/src/themes/default.ts index 862b61e0..32724f83 100644 --- a/packages/redux-devtools-ui/src/themes/default.ts +++ b/packages/redux-devtools-ui/src/themes/default.ts @@ -1,4 +1,4 @@ -import { Base16Theme } from 'base16'; +import type { Base16Theme } from 'react-base16-styling'; import * as CSS from 'csstype'; import * as themes from './index'; diff --git a/packages/redux-devtools-ui/src/themes/material.ts b/packages/redux-devtools-ui/src/themes/material.ts index d6dbb93c..73cfb4c0 100644 --- a/packages/redux-devtools-ui/src/themes/material.ts +++ b/packages/redux-devtools-ui/src/themes/material.ts @@ -1,4 +1,4 @@ -import { Base16Theme } from 'base16'; +import type { Base16Theme } from 'react-base16-styling'; export default (colors: Base16Theme) => ({ fontFamily: "'Roboto', sans-serif", diff --git a/packages/redux-devtools-ui/src/utils/createStyledComponent.ts b/packages/redux-devtools-ui/src/utils/createStyledComponent.ts index b1592e4a..95f9d3ec 100644 --- a/packages/redux-devtools-ui/src/utils/createStyledComponent.ts +++ b/packages/redux-devtools-ui/src/utils/createStyledComponent.ts @@ -6,8 +6,8 @@ import styled, { ThemedStyledInterface, ThemedStyledProps, } from 'styled-components'; +import type { Base16Theme } from 'react-base16-styling'; import getDefaultTheme, { Theme } from '../themes/default'; -import { Base16Theme } from 'base16'; import { ThemeFromProvider } from './theme'; type StyleFunction< diff --git a/packages/redux-devtools-ui/src/utils/createThemedComponent.tsx b/packages/redux-devtools-ui/src/utils/createThemedComponent.tsx index 5c21a8d6..02ec5f01 100644 --- a/packages/redux-devtools-ui/src/utils/createThemedComponent.tsx +++ b/packages/redux-devtools-ui/src/utils/createThemedComponent.tsx @@ -1,7 +1,7 @@ import React from 'react'; -import getDefaultTheme, { Theme } from '../themes/default'; import { withTheme } from 'styled-components'; -import { Base16Theme } from 'base16'; +import type { Base16Theme } from 'react-base16-styling'; +import getDefaultTheme, { Theme } from '../themes/default'; export default >( UnthemedComponent: React.ComponentProps extends { theme?: Theme } diff --git a/packages/redux-devtools-ui/src/utils/invertColors.ts b/packages/redux-devtools-ui/src/utils/invertColors.ts index 2c70b0b6..fbc069a8 100644 --- a/packages/redux-devtools-ui/src/utils/invertColors.ts +++ b/packages/redux-devtools-ui/src/utils/invertColors.ts @@ -1,4 +1,4 @@ -import { Base16Theme } from 'base16'; +import type { Base16Theme } from 'react-base16-styling'; function invertColors(theme: Base16Theme) { return { diff --git a/packages/redux-devtools-ui/src/utils/theme.ts b/packages/redux-devtools-ui/src/utils/theme.ts index 5b4981f0..ab82e23d 100644 --- a/packages/redux-devtools-ui/src/utils/theme.ts +++ b/packages/redux-devtools-ui/src/utils/theme.ts @@ -1,11 +1,12 @@ import { useEffect, useMemo, useState } from 'react'; import * as themes from '../themes'; -import { nicinabox as defaultDarkScheme } from 'redux-devtools-themes'; -import * as baseSchemes from 'base16'; +import { base16Themes as baseSchemes } from 'react-base16-styling'; import * as additionalSchemes from '../colorSchemes'; import invertColors from '../utils/invertColors'; import { Theme as ThemeBase } from '../themes/default'; +const defaultDarkScheme = baseSchemes.nicinabox; + export const schemes = { ...baseSchemes, ...additionalSchemes }; export const listSchemes = () => Object.keys(schemes).slice(1).sort(); // remove `__esModule` export const listThemes = () => Object.keys(themes); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ca5acdba..a6321728 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -399,55 +399,28 @@ importers: packages/react-base16-styling: dependencies: - '@babel/runtime': - specifier: ^7.24.1 - version: 7.24.1 - '@types/base16': - specifier: ^1.0.5 - version: 1.0.5 '@types/lodash': specifier: ^4.17.0 version: 4.17.0 - base16: - specifier: ^1.0.0 - version: 1.0.0 color: specifier: ^4.2.3 version: 4.2.3 csstype: specifier: ^3.1.3 version: 3.1.3 - lodash.curry: - specifier: ^4.1.1 - version: 4.1.1 + lodash-es: + specifier: ^4.17.21 + version: 4.17.21 devDependencies: - '@babel/cli': - specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.3) - '@babel/core': - specifier: ^7.24.3 - version: 7.24.3 - '@babel/eslint-parser': - specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.3)(eslint@8.57.0) - '@babel/plugin-transform-runtime': - specifier: ^7.24.3 - version: 7.24.3(@babel/core@7.24.3) - '@babel/preset-env': - specifier: ^7.24.3 - version: 7.24.3(@babel/core@7.24.3) - '@babel/preset-typescript': - specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.3) '@types/color': specifier: ^3.0.6 version: 3.0.6 '@types/jest': specifier: ^29.5.12 version: 29.5.12 - '@types/lodash.curry': - specifier: ^4.1.9 - version: 4.1.9 + '@types/lodash-es': + specifier: ^4.17.12 + version: 4.17.12 '@typescript-eslint/eslint-plugin': specifier: ^7.4.0 version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.3.3) @@ -481,43 +454,16 @@ importers: packages/react-dock: dependencies: - '@babel/runtime': - specifier: ^7.24.1 - version: 7.24.1 - '@types/lodash': - specifier: ^4.17.0 - version: 4.17.0 - lodash.debounce: - specifier: ^4.0.8 - version: 4.0.8 + '@types/lodash-es': + specifier: ^4.17.12 + version: 4.17.12 + lodash-es: + specifier: ^4.17.21 + version: 4.17.21 devDependencies: - '@babel/cli': - specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.3) - '@babel/core': - specifier: ^7.24.3 - version: 7.24.3 - '@babel/eslint-parser': - specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.3)(eslint@8.57.0) - '@babel/plugin-transform-runtime': - specifier: ^7.24.3 - version: 7.24.3(@babel/core@7.24.3) - '@babel/preset-env': - specifier: ^7.24.3 - version: 7.24.3(@babel/core@7.24.3) - '@babel/preset-react': - specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.3) - '@babel/preset-typescript': - specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.3) '@types/jest': specifier: ^29.5.12 version: 29.5.12 - '@types/lodash.debounce': - specifier: ^4.0.9 - version: 4.0.9 '@types/react': specifier: ^18.2.72 version: 18.2.72 @@ -663,9 +609,6 @@ importers: packages/react-json-tree: dependencies: - '@babel/runtime': - specifier: ^7.24.1 - version: 7.24.1 '@types/lodash': specifier: ^4.17.0 version: 4.17.0 @@ -673,45 +616,9 @@ importers: specifier: ^0.9.1 version: link:../react-base16-styling devDependencies: - '@babel/cli': - specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.3) - '@babel/core': - specifier: ^7.24.3 - version: 7.24.3 - '@babel/eslint-parser': - specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.3)(eslint@8.57.0) - '@babel/plugin-transform-runtime': - specifier: ^7.24.3 - version: 7.24.3(@babel/core@7.24.3) - '@babel/preset-env': - specifier: ^7.24.3 - version: 7.24.3(@babel/core@7.24.3) - '@babel/preset-react': - specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.3) - '@babel/preset-typescript': - specifier: ^7.24.1 - version: 7.24.1(@babel/core@7.24.3) - '@rollup/plugin-babel': - specifier: ^6.0.4 - version: 6.0.4(@babel/core@7.24.3)(rollup@4.13.0) - '@rollup/plugin-commonjs': - specifier: ^25.0.7 - version: 25.0.7(rollup@4.13.0) - '@rollup/plugin-node-resolve': - specifier: ^15.2.3 - version: 15.2.3(rollup@4.13.0) - '@rollup/plugin-terser': - specifier: ^0.4.4 - version: 0.4.4(rollup@4.13.0) '@types/jest': specifier: ^29.5.12 version: 29.5.12 - '@types/node': - specifier: ^20.11.30 - version: 20.11.30 '@types/react': specifier: ^18.2.72 version: 18.2.72 @@ -751,18 +658,9 @@ importers: rimraf: specifier: ^5.0.5 version: 5.0.5 - rollup: - specifier: ^4.13.0 - version: 4.13.0 - rollup-plugin-typescript2: - specifier: ^0.36.0 - version: 0.36.0(rollup@4.13.0)(typescript@5.3.3) ts-jest: specifier: ^29.1.2 version: 29.1.2(@babel/core@7.24.3)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.3.3) - tslib: - specifier: ^2.6.2 - version: 2.6.2 typescript: specifier: ~5.3.3 version: 5.3.3 @@ -1165,18 +1063,15 @@ importers: '@babel/runtime': specifier: ^7.24.1 version: 7.24.1 - '@types/redux-devtools-themes': - specifier: ^1.0.3 - version: 1.0.3 d3-state-visualizer: specifier: ^3.0.0 version: link:../d3-state-visualizer deepmerge: specifier: ^4.3.1 version: 4.3.1 - redux-devtools-themes: - specifier: ^1.0.0 - version: 1.0.0 + react-base16-styling: + specifier: ^0.9.1 + version: link:../react-base16-styling devDependencies: '@babel/cli': specifier: ^7.24.1 @@ -1538,9 +1433,6 @@ importers: '@types/lodash': specifier: ^4.17.0 version: 4.17.0 - '@types/redux-devtools-themes': - specifier: ^1.0.3 - version: 1.0.3 dateformat: specifier: ^5.0.3 version: 5.0.3 @@ -1568,9 +1460,6 @@ importers: react-json-tree: specifier: ^0.18.0 version: link:../react-json-tree - redux-devtools-themes: - specifier: ^1.0.0 - version: 1.0.0 devDependencies: '@babel/cli': specifier: ^7.24.1 @@ -1928,9 +1817,9 @@ importers: path-browserify: specifier: ^1.0.1 version: 1.0.1 - redux-devtools-themes: - specifier: ^1.0.0 - version: 1.0.0 + react-base16-styling: + specifier: ^0.9.1 + version: link:../react-base16-styling source-map: specifier: ^0.5.7 version: 0.5.7 @@ -1986,9 +1875,6 @@ importers: '@types/react': specifier: ^18.2.72 version: 18.2.72 - '@types/redux-devtools-themes': - specifier: ^1.0.3 - version: 1.0.3 '@types/source-map': specifier: 0.5.2 version: 0.5.2 @@ -2055,9 +1941,6 @@ importers: '@redux-devtools/inspector-monitor': specifier: ^6.0.0 version: link:.. - base16: - specifier: ^1.0.0 - version: 1.0.0 immutable: specifier: ^4.3.5 version: 4.3.5 @@ -2067,6 +1950,9 @@ importers: react: specifier: ^18.2.0 version: 18.2.0 + react-base16-styling: + specifier: ^0.9.1 + version: link:../../react-base16-styling react-bootstrap: specifier: ^2.10.2 version: 2.10.2(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) @@ -2098,9 +1984,6 @@ importers: '@babel/preset-typescript': specifier: ^7.24.1 version: 7.24.1(@babel/core@7.24.3) - '@types/base16': - specifier: ^1.0.5 - version: 1.0.5 '@types/lodash.shuffle': specifier: ^4.2.9 version: 4.2.9 @@ -2243,18 +2126,15 @@ importers: '@types/lodash.debounce': specifier: ^4.0.9 version: 4.0.9 - '@types/redux-devtools-themes': - specifier: ^1.0.3 - version: 1.0.3 lodash.debounce: specifier: ^4.0.8 version: 4.0.8 + react-base16-styling: + specifier: ^0.9.1 + version: link:../react-base16-styling react-json-tree: specifier: ^0.18.0 version: link:../react-json-tree - redux-devtools-themes: - specifier: ^1.0.0 - version: 1.0.0 devDependencies: '@babel/cli': specifier: ^7.24.1 @@ -2401,9 +2281,6 @@ importers: '@types/lodash': specifier: ^4.17.0 version: 4.17.0 - '@types/redux-devtools-themes': - specifier: ^1.0.3 - version: 1.0.3 '@types/styled-components': specifier: ^5.1.34 version: 5.1.34 @@ -2422,9 +2299,6 @@ importers: react-json-tree: specifier: ^0.18.0 version: link:../react-json-tree - redux-devtools-themes: - specifier: ^1.0.0 - version: 1.0.0 styled-components: specifier: ^5.3.11 version: 5.3.11(@babel/core@7.24.3)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) @@ -2740,15 +2614,12 @@ importers: '@redux-devtools/ui': specifier: ^1.3.1 version: link:../redux-devtools-ui - '@types/redux-devtools-themes': - specifier: ^1.0.3 - version: 1.0.3 '@types/styled-components': specifier: ^5.1.34 version: 5.1.34 - redux-devtools-themes: - specifier: ^1.0.0 - version: 1.0.0 + react-base16-styling: + specifier: ^0.9.1 + version: link:../react-base16-styling styled-components: specifier: ^5.3.11 version: 5.3.11(@babel/core@7.24.3)(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) @@ -2940,39 +2811,30 @@ importers: '@rjsf/core': specifier: ^4.2.3 version: 4.2.3(react@18.2.0) - '@types/base16': - specifier: ^1.0.5 - version: 1.0.5 '@types/codemirror': specifier: ^5.60.15 version: 5.60.15 '@types/json-schema': specifier: ^7.0.15 version: 7.0.15 - '@types/redux-devtools-themes': - specifier: ^1.0.3 - version: 1.0.3 '@types/simple-element-resize-detector': specifier: ^1.3.3 version: 1.3.3 - base16: - specifier: ^1.0.0 - version: 1.0.0 codemirror: specifier: ^5.65.16 version: 5.65.16 color: specifier: ^4.2.3 version: 4.2.3 + react-base16-styling: + specifier: ^0.9.1 + version: link:../react-base16-styling react-icons: specifier: ^5.0.1 version: 5.0.1(react@18.2.0) react-select: specifier: ^5.8.0 version: 5.8.0(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) - redux-devtools-themes: - specifier: ^1.0.0 - version: 1.0.0 simple-element-resize-detector: specifier: ^1.3.0 version: 1.3.0 @@ -7637,203 +7499,6 @@ packages: react: 18.2.0 react-is: 16.9.0 - /@rollup/plugin-babel@6.0.4(@babel/core@7.24.3)(rollup@4.13.0): - resolution: {integrity: sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@types/babel__core': ^7.1.9 - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - '@types/babel__core': - optional: true - rollup: - optional: true - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-module-imports': 7.24.3 - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) - rollup: 4.13.0 - dev: true - - /@rollup/plugin-commonjs@25.0.7(rollup@4.13.0): - resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.68.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) - commondir: 1.0.1 - estree-walker: 2.0.2 - glob: 8.1.0 - is-reference: 1.2.1 - magic-string: 0.30.8 - rollup: 4.13.0 - dev: true - - /@rollup/plugin-node-resolve@15.2.3(rollup@4.13.0): - resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.78.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.13.0) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-builtin-module: 3.2.1 - is-module: 1.0.0 - resolve: 1.22.8 - rollup: 4.13.0 - dev: true - - /@rollup/plugin-terser@0.4.4(rollup@4.13.0): - resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - rollup: 4.13.0 - serialize-javascript: 6.0.2 - smob: 1.4.1 - terser: 5.29.2 - dev: true - - /@rollup/pluginutils@4.2.1: - resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} - engines: {node: '>= 8.0.0'} - dependencies: - estree-walker: 2.0.2 - picomatch: 2.3.1 - dev: true - - /@rollup/pluginutils@5.1.0(rollup@4.13.0): - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@types/estree': 1.0.5 - estree-walker: 2.0.2 - picomatch: 2.3.1 - rollup: 4.13.0 - dev: true - - /@rollup/rollup-android-arm-eabi@4.13.0: - resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.13.0: - resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.13.0: - resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-x64@4.13.0: - resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.13.0: - resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.13.0: - resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.13.0: - resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.13.0: - resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.13.0: - resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.13.0: - resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.13.0: - resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.13.0: - resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.13.0: - resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true @@ -9039,9 +8704,6 @@ packages: '@babel/types': 7.24.0 dev: true - /@types/base16@1.0.5: - resolution: {integrity: sha512-OzOWrTluG9cwqidEzC/Q6FAmIPcnZfm8BFRlIx0+UIUqnuAmi5OS88O0RpT3Yz6qdmqObvUhasrbNsCofE4W9A==} - /@types/body-parser@1.19.5: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: @@ -9475,13 +9137,6 @@ packages: resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} dependencies: '@types/lodash': 4.17.0 - dev: true - - /@types/lodash.curry@4.1.9: - resolution: {integrity: sha512-QV967vSflHEza0d0IMTK7fwbl+baPBXZjcESeAHrA5eSE+EHetaggZjPpkzX1NJh4qa8DLOLScwUR+f7FN85Zg==} - dependencies: - '@types/lodash': 4.17.0 - dev: true /@types/lodash.debounce@4.0.9: resolution: {integrity: sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==} @@ -9633,11 +9288,6 @@ packages: '@types/prop-types': 15.7.12 csstype: 3.1.3 - /@types/redux-devtools-themes@1.0.3: - resolution: {integrity: sha512-KqiQ2+6VTb1Yn02+ZNQsB0XcoJTu/W4AhnIUaeTnkVFie5YWMoeSpW4IOFYJ2/HJ+wi1kLw+PHDgjZ3t+M6IRw==} - dependencies: - '@types/base16': 1.0.5 - /@types/redux-logger@3.0.12: resolution: {integrity: sha512-5vAlwokZi/Unb1eGoZfVVzIBTPNDflwXiDzPLT1SynP6hdJfsOEf+w6ZOySOyboLWciCRYeE5DGYUnwVCq+Uyg==} dependencies: @@ -10952,10 +10602,6 @@ packages: resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} dev: true - /base16@1.0.0: - resolution: {integrity: sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==} - dev: false - /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -11135,11 +10781,6 @@ packages: base64-js: 1.5.1 ieee754: 1.2.1 - /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true - /bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} @@ -13347,10 +12988,6 @@ packages: engines: {node: '>=4.0'} dev: true - /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true - /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: @@ -14093,17 +13730,6 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - /global-agent@3.0.0: resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} engines: {node: '>=10.0'} @@ -14758,13 +14384,6 @@ packages: resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} dev: false - /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - dependencies: - builtin-modules: 3.3.0 - dev: true - /is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -14878,10 +14497,6 @@ packages: engines: {node: '>= 0.4'} dev: true - /is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - dev: true - /is-nan@1.3.2: resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} engines: {node: '>= 0.4'} @@ -14955,12 +14570,6 @@ packages: resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} dev: true - /is-reference@1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} - dependencies: - '@types/estree': 1.0.5 - dev: true - /is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -16073,10 +15682,6 @@ packages: /lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - /lodash.curry@4.1.1: - resolution: {integrity: sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==} - dev: false - /lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} @@ -18251,12 +17856,6 @@ packages: strip-indent: 3.0.0 dev: true - /redux-devtools-themes@1.0.0: - resolution: {integrity: sha512-hBWqdZX+dioMWnTjf8+uSm0q1wCdYO4kU5gERzHcMMbu0Qg7JDR42TnJ6GHJ6r7k/tIpsCSygc9U0ehAtR24TQ==} - dependencies: - base16: 1.0.0 - dev: false - /redux-logger@3.0.6: resolution: {integrity: sha512-JoCIok7bg/XpqA1JqCqXFypuqBbQzGQySrhFzewB7ThcnysTO30l4VCst86AuB9T9tuT03MAA56Jw2PNhRSNCg==} dependencies: @@ -18525,44 +18124,6 @@ packages: /robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - /rollup-plugin-typescript2@0.36.0(rollup@4.13.0)(typescript@5.3.3): - resolution: {integrity: sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw==} - peerDependencies: - rollup: '>=1.26.3' - typescript: '>=2.4.0' - dependencies: - '@rollup/pluginutils': 4.2.1 - find-cache-dir: 3.3.2 - fs-extra: 10.1.0 - rollup: 4.13.0 - semver: 7.6.0 - tslib: 2.6.2 - typescript: 5.3.3 - dev: true - - /rollup@4.13.0: - resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.13.0 - '@rollup/rollup-android-arm64': 4.13.0 - '@rollup/rollup-darwin-arm64': 4.13.0 - '@rollup/rollup-darwin-x64': 4.13.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.13.0 - '@rollup/rollup-linux-arm64-gnu': 4.13.0 - '@rollup/rollup-linux-arm64-musl': 4.13.0 - '@rollup/rollup-linux-riscv64-gnu': 4.13.0 - '@rollup/rollup-linux-x64-gnu': 4.13.0 - '@rollup/rollup-linux-x64-musl': 4.13.0 - '@rollup/rollup-win32-arm64-msvc': 4.13.0 - '@rollup/rollup-win32-ia32-msvc': 4.13.0 - '@rollup/rollup-win32-x64-msvc': 4.13.0 - fsevents: 2.3.3 - dev: true - /run-applescript@7.0.0: resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} engines: {node: '>=18'} @@ -18950,10 +18511,6 @@ packages: yargs: 15.4.1 dev: true - /smob@1.4.1: - resolution: {integrity: sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==} - dev: true - /socketcluster-client@19.1.0: resolution: {integrity: sha512-N7bkQfLuOtlAVkotSs9MqmYV2ku7My4GmjFvyLpuv8SbYOe34RXPRcshIOOzKPf8Rs1VUw08podFDXNJ8Doudg==} dependencies: diff --git a/tsconfig.esm.react.base.json b/tsconfig.esm.react.base.json new file mode 100644 index 00000000..14530f97 --- /dev/null +++ b/tsconfig.esm.react.base.json @@ -0,0 +1,6 @@ +{ + "extends": "./tsconfig.esm.base.json", + "compilerOptions": { + "jsx": "react" + } +}