From d06231b198389344bdf884c47e9d08f0a3ad67ca Mon Sep 17 00:00:00 2001 From: Nathan Bierema Date: Sun, 9 Jan 2022 16:41:19 -0500 Subject: [PATCH] Use rollup for redux-devtools-extension --- packages/redux-devtools-extension/.babelrc | 6 +++- .../redux-devtools-extension/.eslintignore | 2 +- .../redux-devtools-extension/.eslintrc.js | 16 ++++++---- .../redux-devtools-extension/package.json | 23 ++++++++++----- .../redux-devtools-extension/rollup.config.js | 29 +++++++++++++++++++ yarn.lock | 8 ++++- 6 files changed, 68 insertions(+), 16 deletions(-) create mode 100644 packages/redux-devtools-extension/rollup.config.js diff --git a/packages/redux-devtools-extension/.babelrc b/packages/redux-devtools-extension/.babelrc index 3313ff9e..5ed95986 100644 --- a/packages/redux-devtools-extension/.babelrc +++ b/packages/redux-devtools-extension/.babelrc @@ -1,3 +1,7 @@ { - "presets": ["@babel/preset-env", "@babel/preset-typescript"] + "presets": [ + ["@babel/preset-env", { "targets": "defaults" }], + "@babel/preset-typescript" + ], + "plugins": ["@babel/plugin-transform-runtime"] } diff --git a/packages/redux-devtools-extension/.eslintignore b/packages/redux-devtools-extension/.eslintignore index a65b4177..1521c8b7 100644 --- a/packages/redux-devtools-extension/.eslintignore +++ b/packages/redux-devtools-extension/.eslintignore @@ -1 +1 @@ -lib +dist diff --git a/packages/redux-devtools-extension/.eslintrc.js b/packages/redux-devtools-extension/.eslintrc.js index 090f9e70..90313a76 100644 --- a/packages/redux-devtools-extension/.eslintrc.js +++ b/packages/redux-devtools-extension/.eslintrc.js @@ -1,7 +1,13 @@ module.exports = { - extends: '../../eslintrc.ts.base.json', - parserOptions: { - tsconfigRootDir: __dirname, - project: ['./tsconfig.json'], - }, + extends: '../../eslintrc.js.base.json', + overrides: [ + { + files: ['*.ts'], + extends: '../../eslintrc.ts.base.json', + parserOptions: { + tsconfigRootDir: __dirname, + project: ['./tsconfig.json'], + }, + }, + ], }; diff --git a/packages/redux-devtools-extension/package.json b/packages/redux-devtools-extension/package.json index 3a29d5f4..dd76b921 100644 --- a/packages/redux-devtools-extension/package.json +++ b/packages/redux-devtools-extension/package.json @@ -6,36 +6,43 @@ "license": "MIT", "author": "Mihail Diordiev (https://github.com/zalmoxisus)", "files": [ - "lib", + "dist", "src" ], - "main": "lib/index.js", - "types": "lib/index.d.ts", + "main": "dist/redux-devtools-extension.cjs.js", + "module": "dist/redux-devtools-extension.esm.js", + "types": "dist/index.d.ts", "repository": { "type": "git", "url": "https://github.com/reduxjs/redux-devtools" }, "scripts": { - "build": "yarn run build:types && yarn run build:js", - "build:types": "tsc --emitDeclarationOnly", - "build:js": "babel src --out-dir lib --extensions \".ts\" --source-maps inline", - "clean": "rimraf lib", + "build": "rollup -c", + "clean": "rimraf dist", "lint": "eslint . --ext .ts", "type-check": "tsc --noEmit", "prepack": "yarn run clean && yarn run build", "prepublish": "yarn run type-check && yarn run lint" }, + "dependencies": { + "@babel/runtime": "^7.16.7" + }, "devDependencies": { - "@babel/cli": "^7.16.7", "@babel/core": "^7.16.7", + "@babel/eslint-parser": "^7.16.5", + "@babel/plugin-transform-runtime": "^7.16.7", "@babel/preset-env": "^7.16.7", "@babel/preset-typescript": "^7.16.7", + "@rollup/plugin-babel": "^5.3.0", "@typescript-eslint/eslint-plugin": "^5.8.1", "@typescript-eslint/parser": "^5.8.1", "eslint": "^8.6.0", "eslint-config-prettier": "^8.3.0", "redux": "^4.1.2", "rimraf": "^3.0.2", + "rollup": "^2.63.0", + "rollup-plugin-typescript2": "^0.31.1", + "tslib": "^2.3.1", "typescript": "~4.5.4" }, "peerDependencies": { diff --git a/packages/redux-devtools-extension/rollup.config.js b/packages/redux-devtools-extension/rollup.config.js new file mode 100644 index 00000000..9f37af43 --- /dev/null +++ b/packages/redux-devtools-extension/rollup.config.js @@ -0,0 +1,29 @@ +import typescript from 'rollup-plugin-typescript2'; +import babel from '@rollup/plugin-babel'; + +const config = [ + { + input: 'src/index.ts', + output: [ + { + file: 'dist/redux-devtools-extension.cjs.js', + format: 'cjs', + }, + { + file: 'dist/redux-devtools-extension.esm.js', + format: 'esm', + }, + ], + plugins: [ + typescript(), + babel({ + babelHelpers: 'runtime', + extensions: ['.ts'], + plugins: ['@babel/plugin-transform-runtime'], + }), + ], + external: [/@babel\/runtime/], + }, +]; + +export default config; diff --git a/yarn.lock b/yarn.lock index 8ef220ad..2e5b7a6b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4806,16 +4806,22 @@ __metadata: version: 0.0.0-use.local resolution: "@redux-devtools/extension@workspace:packages/redux-devtools-extension" dependencies: - "@babel/cli": ^7.16.7 "@babel/core": ^7.16.7 + "@babel/eslint-parser": ^7.16.5 + "@babel/plugin-transform-runtime": ^7.16.7 "@babel/preset-env": ^7.16.7 "@babel/preset-typescript": ^7.16.7 + "@babel/runtime": ^7.16.7 + "@rollup/plugin-babel": ^5.3.0 "@typescript-eslint/eslint-plugin": ^5.8.1 "@typescript-eslint/parser": ^5.8.1 eslint: ^8.6.0 eslint-config-prettier: ^8.3.0 redux: ^4.1.2 rimraf: ^3.0.2 + rollup: ^2.63.0 + rollup-plugin-typescript2: ^0.31.1 + tslib: ^2.3.1 typescript: ~4.5.4 peerDependencies: redux: ^3.1.0 || ^4.0.0