From 6a14d29512dba01a3a3dc2edc0b3ea94b8579405 Mon Sep 17 00:00:00 2001 From: Nathan Bierema Date: Tue, 21 Sep 2021 21:36:10 -0400 Subject: [PATCH] chore(react-dock): fix demo build --- package.json | 1 + .../examples/tree/webpack.config.ts | 2 +- packages/react-dock/.babelrc | 3 +- packages/react-dock/.eslintrc.js | 16 ------ packages/react-dock/demo/index.html | 1 - packages/react-dock/demo/package.json | 38 ++++++++++++++ packages/react-dock/demo/src/App.tsx | 5 +- packages/react-dock/demo/tsconfig.json | 2 +- .../react-dock/demo/tsconfig.webpack.json | 4 ++ packages/react-dock/demo/webpack.config.ts | 44 +++++++++++++++++ packages/react-dock/package.json | 20 +------- packages/react-dock/tsconfig.webpack.json | 4 -- packages/react-dock/webpack.config.ts | 49 ------------------- yarn.lock | 48 ++++++++++++------ 14 files changed, 124 insertions(+), 113 deletions(-) create mode 100644 packages/react-dock/demo/package.json create mode 100644 packages/react-dock/demo/tsconfig.webpack.json create mode 100644 packages/react-dock/demo/webpack.config.ts delete mode 100644 packages/react-dock/tsconfig.webpack.json delete mode 100644 packages/react-dock/webpack.config.ts diff --git a/package.json b/package.json index 2063b0f5..3162d46d 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "extension", "packages/*", "packages/d3-state-visualizer/examples/tree", + "packages/react-dock/demo", "packages/react-json-tree/examples", "packages/redux-devtools/examples/counter", "packages/redux-devtools/examples/todomvc", diff --git a/packages/d3-state-visualizer/examples/tree/webpack.config.ts b/packages/d3-state-visualizer/examples/tree/webpack.config.ts index 23586a63..fffa3c56 100644 --- a/packages/d3-state-visualizer/examples/tree/webpack.config.ts +++ b/packages/d3-state-visualizer/examples/tree/webpack.config.ts @@ -38,6 +38,6 @@ export default { ], }, resolve: { - extensions: ['.js', '.jsx', '.ts', '.tsx'], + extensions: ['.js', '.ts'], }, }; diff --git a/packages/react-dock/.babelrc b/packages/react-dock/.babelrc index ed30a6fd..202d425a 100644 --- a/packages/react-dock/.babelrc +++ b/packages/react-dock/.babelrc @@ -3,6 +3,5 @@ "@babel/preset-env", "@babel/preset-react", "@babel/preset-typescript" - ], - "plugins": ["react-hot-loader/babel"] + ] } diff --git a/packages/react-dock/.eslintrc.js b/packages/react-dock/.eslintrc.js index e598b266..faaca940 100644 --- a/packages/react-dock/.eslintrc.js +++ b/packages/react-dock/.eslintrc.js @@ -13,21 +13,5 @@ module.exports = { project: ['./test/tsconfig.json'], }, }, - { - files: ['demo/**/*.ts', 'demo/**/*.tsx'], - extends: '../../eslintrc.ts.react.base.json', - parserOptions: { - tsconfigRootDir: __dirname, - project: ['./demo/tsconfig.json'], - }, - }, - { - files: ['webpack.config.ts'], - extends: '../../eslintrc.ts.base.json', - parserOptions: { - tsconfigRootDir: __dirname, - project: ['./tsconfig.webpack.json'], - }, - }, ], }; diff --git a/packages/react-dock/demo/index.html b/packages/react-dock/demo/index.html index 46e2af2b..b5145605 100644 --- a/packages/react-dock/demo/index.html +++ b/packages/react-dock/demo/index.html @@ -22,6 +22,5 @@ data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_green_007200.png" />
- diff --git a/packages/react-dock/demo/package.json b/packages/react-dock/demo/package.json new file mode 100644 index 00000000..4f601841 --- /dev/null +++ b/packages/react-dock/demo/package.json @@ -0,0 +1,38 @@ +{ + "private": true, + "name": "react-dock-demo", + "version": "0.1.0", + "license": "MIT", + "scripts": { + "start": "webpack serve --open" + }, + "dependencies": { + "react": "^16.14.0", + "react-bootstrap": "^1.6.3", + "react-dock": "^0.4.0", + "react-dom": "^16.14.0", + "react-icons": "^4.2.0", + "react-is": "^16.13.1", + "styled-components": "^5.3.1" + }, + "devDependencies": { + "@babel/core": "^7.15.5", + "@babel/preset-env": "^7.15.6", + "@babel/preset-react": "^7.14.5", + "@babel/preset-typescript": "^7.15.0", + "@types/node": "^14.17.17", + "@types/react": "^16.14.15", + "@types/react-dom": "^16.9.14", + "@types/styled-components": "^5.1.14", + "@types/webpack": "^5.28.0", + "@types/webpack-dev-server": "^4.1.0", + "babel-loader": "^8.2.2", + "fork-ts-checker-webpack-plugin": "^6.3.3", + "html-webpack-plugin": "^5.3.2", + "ts-node": "^10.2.1", + "typescript": "~4.3.5", + "webpack": "^5.53.0", + "webpack-cli": "^4.8.0", + "webpack-dev-server": "^4.2.1" + } +} diff --git a/packages/react-dock/demo/src/App.tsx b/packages/react-dock/demo/src/App.tsx index e5a06ed1..0406a526 100644 --- a/packages/react-dock/demo/src/App.tsx +++ b/packages/react-dock/demo/src/App.tsx @@ -1,4 +1,3 @@ -import { hot } from 'react-hot-loader/root'; import React, { Component } from 'react'; import Button from 'react-bootstrap/Button'; import Form from 'react-bootstrap/Form'; @@ -52,7 +51,7 @@ interface State { size: number; } -class App extends Component { +export default class App extends Component<{}, State> { state: State = { positionIdx: 0, dimModeIdx: 0, @@ -187,5 +186,3 @@ class App extends Component { this.setState({ dimModeIdx: (this.state.dimModeIdx + 1) % 3 }); }; } - -export default hot(App); diff --git a/packages/react-dock/demo/tsconfig.json b/packages/react-dock/demo/tsconfig.json index 2d04eaee..5463ab30 100644 --- a/packages/react-dock/demo/tsconfig.json +++ b/packages/react-dock/demo/tsconfig.json @@ -1,4 +1,4 @@ { "extends": "../../../tsconfig.react.base.json", - "include": ["../src", "src"] + "include": ["src"] } diff --git a/packages/react-dock/demo/tsconfig.webpack.json b/packages/react-dock/demo/tsconfig.webpack.json new file mode 100644 index 00000000..95fbb8a6 --- /dev/null +++ b/packages/react-dock/demo/tsconfig.webpack.json @@ -0,0 +1,4 @@ +{ + "extends": "../../../tsconfig.base.json", + "include": ["webpack.config.ts"] +} diff --git a/packages/react-dock/demo/webpack.config.ts b/packages/react-dock/demo/webpack.config.ts new file mode 100644 index 00000000..e49340bd --- /dev/null +++ b/packages/react-dock/demo/webpack.config.ts @@ -0,0 +1,44 @@ +import * as path from 'path'; +import HtmlWebpackPlugin from 'html-webpack-plugin'; +import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin'; + +module.exports = { + mode: 'development', + entry: './src/index.tsx', + devtool: 'eval-source-map', + devServer: { + static: './dist', + }, + plugins: [ + new HtmlWebpackPlugin({ + template: './index.html', + }), + new ForkTsCheckerWebpackPlugin(), + ], + output: { + filename: 'bundle.js', + path: path.join(__dirname, 'dist'), + clean: true, + }, + module: { + rules: [ + { + test: /\.(js|ts)x?$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader', + options: { + presets: [ + ['@babel/preset-env', { targets: 'defaults' }], + '@babel/preset-react', + '@babel/preset-typescript', + ], + }, + }, + }, + ], + }, + resolve: { + extensions: ['.js', '.jsx', '.ts', '.tsx'], + }, +}; diff --git a/packages/react-dock/package.json b/packages/react-dock/package.json index 79fafd3e..3fe935a1 100644 --- a/packages/react-dock/package.json +++ b/packages/react-dock/package.json @@ -25,8 +25,6 @@ "url": "https://github.com/reduxjs/redux-devtools.git" }, "scripts": { - "start": "webpack serve", - "build:demo": "NODE_ENV=production webpack -p", "build": "yarn run build:types && yarn run build:js", "build:types": "tsc --emitDeclarationOnly", "build:js": "babel src --out-dir lib --extensions \".ts,.tsx\" --source-maps inline", @@ -51,36 +49,20 @@ "@babel/preset-typescript": "^7.15.0", "@types/jest": "^27.0.1", "@types/lodash.debounce": "^4.0.6", - "@types/node": "^14.17.17", "@types/react": "^16.14.15", - "@types/react-dom": "^16.9.14", "@types/react-test-renderer": "^16.9.5", - "@types/styled-components": "^5.1.14", - "@types/webpack": "^5.28.0", - "@types/webpack-dev-server": "^4.1.0", "@typescript-eslint/eslint-plugin": "^4.31.2", "@typescript-eslint/parser": "^4.31.2", - "babel-loader": "^8.2.2", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-jest": "^24.4.2", "eslint-plugin-react": "^7.25.3", "jest": "^27.2.1", "react": "^16.14.0", - "react-bootstrap": "^1.6.3", - "react-dom": "^16.14.0", - "react-hot-loader": "^4.13.0", - "react-icons": "^4.2.0", - "react-is": "^16.13.1", "react-test-renderer": "^16.14.0", "rimraf": "^3.0.2", - "styled-components": "^5.3.1", "ts-jest": "^27.0.5", - "ts-node": "^10.2.1", - "typescript": "~4.3.5", - "webpack": "^5.53.0", - "webpack-cli": "^4.8.0", - "webpack-dev-server": "^4.2.1" + "typescript": "~4.3.5" }, "peerDependencies": { "@types/react": "^16.3.0 || ^17.0.0", diff --git a/packages/react-dock/tsconfig.webpack.json b/packages/react-dock/tsconfig.webpack.json deleted file mode 100644 index 86bc1286..00000000 --- a/packages/react-dock/tsconfig.webpack.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "include": ["webpack.config.ts"] -} diff --git a/packages/react-dock/webpack.config.ts b/packages/react-dock/webpack.config.ts deleted file mode 100644 index 4207ba56..00000000 --- a/packages/react-dock/webpack.config.ts +++ /dev/null @@ -1,49 +0,0 @@ -import * as path from 'path'; -import * as webpack from 'webpack'; - -const isProduction = process.env.NODE_ENV === 'production'; - -module.exports = { - mode: isProduction ? 'production' : 'development', - entry: isProduction - ? ['./demo/src/index'] - : [ - 'webpack-dev-server/client?http://localhost:3000', - 'webpack/hot/only-dev-server', - './demo/src/index', - ], - output: { - path: path.join(__dirname, 'demo/static'), - filename: 'bundle.js', - publicPath: isProduction ? 'static/' : '/static/', - }, - module: { - rules: [ - { - test: /\.(js|ts)x?$/, - loader: 'babel-loader', - include: [ - path.join(__dirname, 'src'), - path.join(__dirname, 'demo/src'), - ], - }, - ], - }, - resolve: { - extensions: ['.js', '.jsx', '.ts', '.tsx'], - }, - plugins: isProduction ? [] : [new webpack.HotModuleReplacementPlugin()], - devServer: isProduction - ? null - : { - publicPath: '/static/', - port: 3000, - contentBase: './demo/', - hot: true, - stats: { - colors: true, - }, - historyApiFallback: true, - }, - devtool: 'eval-source-map', -}; diff --git a/yarn.lock b/yarn.lock index 2be4ba3d..75b235b1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24435,6 +24435,38 @@ fsevents@^1.2.7: languageName: node linkType: hard +"react-dock-demo@workspace:packages/react-dock/demo": + version: 0.0.0-use.local + resolution: "react-dock-demo@workspace:packages/react-dock/demo" + dependencies: + "@babel/core": ^7.15.5 + "@babel/preset-env": ^7.15.6 + "@babel/preset-react": ^7.14.5 + "@babel/preset-typescript": ^7.15.0 + "@types/node": ^14.17.17 + "@types/react": ^16.14.15 + "@types/react-dom": ^16.9.14 + "@types/styled-components": ^5.1.14 + "@types/webpack": ^5.28.0 + "@types/webpack-dev-server": ^4.1.0 + babel-loader: ^8.2.2 + fork-ts-checker-webpack-plugin: ^6.3.3 + html-webpack-plugin: ^5.3.2 + react: ^16.14.0 + react-bootstrap: ^1.6.3 + react-dock: ^0.4.0 + react-dom: ^16.14.0 + react-icons: ^4.2.0 + react-is: ^16.13.1 + styled-components: ^5.3.1 + ts-node: ^10.2.1 + typescript: ~4.3.5 + webpack: ^5.53.0 + webpack-cli: ^4.8.0 + webpack-dev-server: ^4.2.1 + languageName: unknown + linkType: soft + "react-dock@^0.4.0, react-dock@workspace:packages/react-dock": version: 0.0.0-use.local resolution: "react-dock@workspace:packages/react-dock" @@ -24447,17 +24479,11 @@ fsevents@^1.2.7: "@types/jest": ^27.0.1 "@types/lodash": ^4.14.173 "@types/lodash.debounce": ^4.0.6 - "@types/node": ^14.17.17 "@types/prop-types": ^15.7.4 "@types/react": ^16.14.15 - "@types/react-dom": ^16.9.14 "@types/react-test-renderer": ^16.9.5 - "@types/styled-components": ^5.1.14 - "@types/webpack": ^5.28.0 - "@types/webpack-dev-server": ^4.1.0 "@typescript-eslint/eslint-plugin": ^4.31.2 "@typescript-eslint/parser": ^4.31.2 - babel-loader: ^8.2.2 eslint: ^7.32.0 eslint-config-prettier: ^8.3.0 eslint-plugin-jest: ^24.4.2 @@ -24466,20 +24492,10 @@ fsevents@^1.2.7: lodash.debounce: ^4.0.8 prop-types: ^15.7.2 react: ^16.14.0 - react-bootstrap: ^1.6.3 - react-dom: ^16.14.0 - react-hot-loader: ^4.13.0 - react-icons: ^4.2.0 - react-is: ^16.13.1 react-test-renderer: ^16.14.0 rimraf: ^3.0.2 - styled-components: ^5.3.1 ts-jest: ^27.0.5 - ts-node: ^10.2.1 typescript: ~4.3.5 - webpack: ^5.53.0 - webpack-cli: ^4.8.0 - webpack-dev-server: ^4.2.1 peerDependencies: "@types/react": ^16.3.0 || ^17.0.0 react: ^16.3.0 || ^17.0.0