From de9ad5c2b17dbacc70aee761df2475bc6722075f Mon Sep 17 00:00:00 2001 From: Nathan Bierema Date: Sun, 7 Apr 2024 16:27:34 -0400 Subject: [PATCH] react-dock --- .../{.eslintrc.js => .eslintrc.cjs} | 0 packages/react-dock/babel.config.esm.json | 8 ---- packages/react-dock/babel.config.json | 8 ---- packages/react-dock/jest.config.cjs | 13 +++++++ packages/react-dock/jest.config.js | 7 ---- packages/react-dock/package.json | 28 ++++--------- packages/react-dock/src/Dock.tsx | 6 +-- packages/react-dock/src/index.ts | 2 +- packages/react-dock/test/index.test.tsx | 6 +-- packages/react-dock/tsconfig.json | 4 +- packages/react-dock/tsconfig.test.json | 2 +- pnpm-lock.yaml | 39 +++---------------- 12 files changed, 37 insertions(+), 86 deletions(-) rename packages/react-dock/{.eslintrc.js => .eslintrc.cjs} (100%) delete mode 100644 packages/react-dock/babel.config.esm.json delete mode 100644 packages/react-dock/babel.config.json create mode 100644 packages/react-dock/jest.config.cjs delete mode 100644 packages/react-dock/jest.config.js 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/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..4f6023d9 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" + "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/lodash-es": "^4.17.12", "@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/pnpm-lock.yaml b/pnpm-lock.yaml index d9cfff65..f4ee0f67 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -454,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 + 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/lodash-es': + specifier: ^4.17.12 + version: 4.17.12 '@types/react': specifier: ^18.2.72 version: 18.2.72