From 8ca70ed3433b2845576f09780a53b7953efae858 Mon Sep 17 00:00:00 2001 From: Grant Sander Date: Wed, 20 Jul 2022 09:22:38 -0500 Subject: [PATCH 01/12] nuke script --- package.json | 3 +++ pnpm-lock.yaml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/package.json b/package.json index afb7c7cec..7585accf2 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,8 @@ "check": "pnpm run lint && pnpm run prettier:check && pnpm run test && pnpm run typecheck", "check-ci": "pnpm run check", "clean": "pnpm run -r clean", + "flush:deps": "rimraf **/node_modules", + "nuke": "pnpm run -r clean && pnpm run flush:deps", "build:examples": "pnpm run --filter spectacle build && pnpm run -r --filter \"*example*\" build", "build:core": "pnpm run --filter spectacle build", "build": "pnpm run -r build", @@ -38,6 +40,7 @@ "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-react": "^7.27.0", "eslint-plugin-react-hooks": "^4.3.0", + "rimraf": "^3.0.0", "prettier": "^2.4.1", "pretty": "^2.0.0", "typescript": "^4.5.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 898c89ccd..62832953f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,6 +18,7 @@ importers: eslint-plugin-react-hooks: ^4.3.0 prettier: ^2.4.1 pretty: ^2.0.0 + rimraf: ^3.0.0 typescript: ^4.5.2 devDependencies: '@babel/core': 7.18.6 @@ -34,6 +35,7 @@ importers: eslint-plugin-react-hooks: 4.6.0_eslint@8.19.0 prettier: 2.7.1 pretty: 2.0.0 + rimraf: 3.0.2 typescript: 4.7.4 examples/js: From 9c0b9c8aa5ea98041b7e282e89aa2f36362e0b83 Mon Sep 17 00:00:00 2001 From: Grant Sander Date: Wed, 20 Jul 2022 09:23:02 -0500 Subject: [PATCH 02/12] Move CHANGELOG to spectacle package --- CHANGELOG.md => packages/spectacle/CHANGELOG.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename CHANGELOG.md => packages/spectacle/CHANGELOG.md (100%) diff --git a/CHANGELOG.md b/packages/spectacle/CHANGELOG.md similarity index 100% rename from CHANGELOG.md rename to packages/spectacle/CHANGELOG.md From 799264c1b79ba607e4aae2fd209cdb0a108395fd Mon Sep 17 00:00:00 2001 From: Grant Sander Date: Wed, 20 Jul 2022 09:28:27 -0500 Subject: [PATCH 03/12] Add vscode settings to ignore built files for better search --- .vscode/settings.json | 8 ++++++++ examples/typescript/index.tsx | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..938ae7b42 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "search.exclude": { + "**/node_modules": true, + "**/lib": true, + "**/es": true, + "**/dist": true + } +} \ No newline at end of file diff --git a/examples/typescript/index.tsx b/examples/typescript/index.tsx index 45f126af3..2f21275b8 100644 --- a/examples/typescript/index.tsx +++ b/examples/typescript/index.tsx @@ -21,7 +21,7 @@ import { MarkdownSlideSet, Notes, SlideLayout -} from 'spectacle'; +} from 'spectacle/src'; import { createRoot } from 'react-dom/client'; const formidableLogo = From 21936f9b774d0c1bce33ca162819bf627f295a9d Mon Sep 17 00:00:00 2001 From: Grant Sander Date: Wed, 20 Jul 2022 09:51:21 -0500 Subject: [PATCH 04/12] Build core before examples --- examples/typescript/index.tsx | 2 +- package.json | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/typescript/index.tsx b/examples/typescript/index.tsx index 2f21275b8..45f126af3 100644 --- a/examples/typescript/index.tsx +++ b/examples/typescript/index.tsx @@ -21,7 +21,7 @@ import { MarkdownSlideSet, Notes, SlideLayout -} from 'spectacle/src'; +} from 'spectacle'; import { createRoot } from 'react-dom/client'; const formidableLogo = diff --git a/package.json b/package.json index 7585accf2..9b4e99d99 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,11 @@ { "name": "spectacle-monorepo", "scripts": { - "start:js": "pnpm run --filter spectacle-example-js start", - "start:ts": "pnpm run --filter spectacle-example-ts start", - "start:md": "pnpm run --filter spectacle-example-md start", + "start:js": "pnpm run build:core && pnpm run --filter spectacle-example-js start", + "start:ts": "pnpm run build:core && pnpm run --filter spectacle-example-ts start", + "start:md": "pnpm run build:core && pnpm run --filter spectacle-example-md start", "start:one-page": "pnpm run --filter spectacle-example-one-page start", - "start:examples": "pnpm run --parallel --filter \"*example*\" start", + "start:examples": "pnpm run build:core && pnpm run --parallel --filter \"*example*\" start", "start:cli": "pnpm run --filter spectacle-cli start", "lint": "eslint --ext .tsx,.ts,.jsx,.js ./examples ./scripts packages/spectacle/src packages/cli/src", "lint:fix": "pnpm run lint --fix", @@ -21,7 +21,7 @@ "nuke": "pnpm run -r clean && pnpm run flush:deps", "build:examples": "pnpm run --filter spectacle build && pnpm run -r --filter \"*example*\" build", "build:core": "pnpm run --filter spectacle build", - "build": "pnpm run -r build", + "build": "pnpm run build:core && pnpm run build:examples", "build:one-page": "node ./scripts/one-page.js", "build:cli": "pnpm run --filter spectacle-cli build", "changeset": "changeset", From 2f75a7f1601cc93ec968293ddd6ded20be4b238c Mon Sep 17 00:00:00 2001 From: Grant Sander Date: Wed, 20 Jul 2022 09:56:34 -0500 Subject: [PATCH 05/12] Drop webpack build scripts from spectacle --- packages/spectacle/package.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/spectacle/package.json b/packages/spectacle/package.json index 9a7b757a5..b1ce3f4e4 100644 --- a/packages/spectacle/package.json +++ b/packages/spectacle/package.json @@ -21,10 +21,7 @@ "build-babel": "babel src --extensions .tsx,.ts,.jsx,.js --ignore \\\\\\\"/__snapshots__/,**/*.test.*\\\\\\\"", "build-babel-esm": "builder run build-babel -- -d es", "build-babel-cjs": "builder run --env \"{\\\"BABEL_ENV\\\":\\\"cjs\\\"}\" build-babel -- -d lib", - "build-webpack-base": "webpack", - "build-webpack-lib-dev": "builder run build-webpack-base -- --config ../../webpack.config.dev.js", - "build-webpack-lib": "builder run build-webpack-base", - "build": "builder concurrent --buffer build-babel-esm build-babel-cjs build-webpack-lib build-webpack-lib-dev build-types", + "build": "builder concurrent --buffer build-babel-esm build-babel-cjs build-types", "build-types": "tsc --emitDeclarationOnly", "typecheck": "tsc --noEmit" }, From b179f10585204a784cadbb854b6d86ce5dc8086a Mon Sep 17 00:00:00 2001 From: Grant Sander Date: Wed, 20 Jul 2022 10:05:54 -0500 Subject: [PATCH 06/12] Update example deps --- examples/js/package.json | 6 +- examples/md/package.json | 2 + examples/typescript/package.json | 2 + packages/spectacle/package.json | 10 +- pnpm-lock.yaml | 176 +++++-------------------------- webpack.config.dev.js | 10 -- 6 files changed, 39 insertions(+), 167 deletions(-) delete mode 100644 webpack.config.dev.js diff --git a/examples/js/package.json b/examples/js/package.json index c5085d981..babbe9cce 100644 --- a/examples/js/package.json +++ b/examples/js/package.json @@ -7,9 +7,9 @@ "build": "webpack --config ./webpack.config.js" }, "dependencies": { - "spectacle": "workspace:spectacle@*", "react": "^18.1.0", - "react-dom": "^18.1.0" + "react-dom": "^18.1.0", + "spectacle": "workspace:spectacle@*" }, "devDependencies": { "@babel/core": "^7.17.2", @@ -19,8 +19,10 @@ "@babel/preset-react": "^7.16.7", "@babel/preset-typescript": "^7.16.0", "babel-loader": "^8.0.6", + "html-webpack-plugin": "^5.5.0", "rimraf": "^3.0.0", "webpack": "^5.68.0", + "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.7.4" } } diff --git a/examples/md/package.json b/examples/md/package.json index ffc0fbcd7..6bc585ca4 100644 --- a/examples/md/package.json +++ b/examples/md/package.json @@ -19,10 +19,12 @@ "@babel/preset-react": "^7.16.7", "@babel/preset-typescript": "^7.16.0", "babel-loader": "^8.0.6", + "html-webpack-plugin": "^5.5.0", "raw-loader": "^4.0.0", "rimraf": "^3.0.0", "typescript": "^4.5.2", "webpack": "^5.68.0", + "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.7.4" } } diff --git a/examples/typescript/package.json b/examples/typescript/package.json index f31b15257..fd2219189 100644 --- a/examples/typescript/package.json +++ b/examples/typescript/package.json @@ -19,9 +19,11 @@ "@babel/preset-react": "^7.16.7", "@babel/preset-typescript": "^7.16.0", "babel-loader": "^8.0.6", + "html-webpack-plugin": "^5.5.0", "rimraf": "^3.0.0", "typescript": "^4.5.2", "webpack": "^5.68.0", + "webpack-cli": "^4.10.0", "webpack-dev-server": "^4.7.4" } } diff --git a/packages/spectacle/package.json b/packages/spectacle/package.json index b1ce3f4e4..eb5fd058d 100644 --- a/packages/spectacle/package.json +++ b/packages/spectacle/package.json @@ -15,7 +15,7 @@ "module": "es/index.js", "scripts": { "test": "jest", - "clean": "rimraf dist lib es", + "clean": "rimraf lib es", "preversion": "cd ../../ && pnpm run check", "version": "pnpm run clean && pnpm run build", "build-babel": "babel src --extensions .tsx,.ts,.jsx,.js --ignore \\\\\\\"/__snapshots__/,**/*.test.*\\\\\\\"", @@ -84,21 +84,15 @@ "@types/styled-components": "^5.1.15", "@types/styled-system": "^5.1.5", "@types/unist": "^2.0.6", - "babel-loader": "^8.0.6", "builder": "^4.0.0", "csstype": "^3.1.0", - "file-loader": "5.1.0", - "html-webpack-plugin": "^5.5.0", "jest": "^27.3.1", "process": "^0.11.10", "react": "^18.1.0", "react-dom": "^18.1.0", "rimraf": "^3.0.0", "ts-jest": "^27.0.7", - "typescript": "^4.5.2", - "webpack": "^5.68.0", - "webpack-cli": "^4.9.2", - "webpack-dev-server": "^4.7.4" + "typescript": "^4.5.2" }, "resolutions": { "@types/react": "^18.0.12" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 62832953f..f299e8fe2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -47,11 +47,13 @@ importers: '@babel/preset-react': ^7.16.7 '@babel/preset-typescript': ^7.16.0 babel-loader: ^8.0.6 + html-webpack-plugin: ^5.5.0 react: ^18.1.0 react-dom: ^18.1.0 rimraf: ^3.0.0 spectacle: workspace:spectacle@* webpack: ^5.68.0 + webpack-cli: ^4.10.0 webpack-dev-server: ^4.7.4 dependencies: react: 18.2.0 @@ -65,9 +67,11 @@ importers: '@babel/preset-react': 7.18.6_@babel+core@7.18.6 '@babel/preset-typescript': 7.18.6_@babel+core@7.18.6 babel-loader: 8.2.5_fswvdo7jykdwhfxrdcvghfn6pa + html-webpack-plugin: 5.5.0_webpack@5.73.0 rimraf: 3.0.2 - webpack: 5.73.0 - webpack-dev-server: 4.9.3_webpack@5.73.0 + webpack: 5.73.0_webpack-cli@4.10.0 + webpack-cli: 4.10.0_6rc575xxn4hngez2jk2zkyfdoi + webpack-dev-server: 4.9.3_77l47gmqkrqiei5z7sbwz5iaj4 examples/md: specifiers: @@ -78,6 +82,7 @@ importers: '@babel/preset-react': ^7.16.7 '@babel/preset-typescript': ^7.16.0 babel-loader: ^8.0.6 + html-webpack-plugin: ^5.5.0 raw-loader: ^4.0.0 react: ^18.1.0 react-dom: ^18.1.0 @@ -85,6 +90,7 @@ importers: spectacle: workspace:spectacle@* typescript: ^4.5.2 webpack: ^5.68.0 + webpack-cli: ^4.10.0 webpack-dev-server: ^4.7.4 dependencies: react: 18.2.0 @@ -98,11 +104,13 @@ importers: '@babel/preset-react': 7.18.6_@babel+core@7.18.6 '@babel/preset-typescript': 7.18.6_@babel+core@7.18.6 babel-loader: 8.2.5_fswvdo7jykdwhfxrdcvghfn6pa + html-webpack-plugin: 5.5.0_webpack@5.73.0 raw-loader: 4.0.2_webpack@5.73.0 rimraf: 3.0.2 typescript: 4.7.4 - webpack: 5.73.0 - webpack-dev-server: 4.9.3_webpack@5.73.0 + webpack: 5.73.0_webpack-cli@4.10.0 + webpack-cli: 4.10.0_6rc575xxn4hngez2jk2zkyfdoi + webpack-dev-server: 4.9.3_77l47gmqkrqiei5z7sbwz5iaj4 examples/one-page: specifiers: {} @@ -116,12 +124,14 @@ importers: '@babel/preset-react': ^7.16.7 '@babel/preset-typescript': ^7.16.0 babel-loader: ^8.0.6 + html-webpack-plugin: ^5.5.0 react: ^18.1.0 react-dom: ^18.1.0 rimraf: ^3.0.0 spectacle: workspace:spectacle@* typescript: ^4.5.2 webpack: ^5.68.0 + webpack-cli: ^4.10.0 webpack-dev-server: ^4.7.4 dependencies: react: 18.2.0 @@ -135,10 +145,12 @@ importers: '@babel/preset-react': 7.18.6_@babel+core@7.18.6 '@babel/preset-typescript': 7.18.6_@babel+core@7.18.6 babel-loader: 8.2.5_fswvdo7jykdwhfxrdcvghfn6pa + html-webpack-plugin: 5.5.0_webpack@5.73.0 rimraf: 3.0.2 typescript: 4.7.4 - webpack: 5.73.0 - webpack-dev-server: 4.9.3_webpack@5.73.0 + webpack: 5.73.0_webpack-cli@4.10.0 + webpack-cli: 4.10.0_6rc575xxn4hngez2jk2zkyfdoi + webpack-dev-server: 4.9.3_77l47gmqkrqiei5z7sbwz5iaj4 packages/cli: specifiers: @@ -189,15 +201,12 @@ importers: '@types/styled-system': ^5.1.5 '@types/testing-library__jest-dom': ^5.14.5 '@types/unist': ^2.0.6 - babel-loader: ^8.0.6 broadcast-channel: ^3.2.0 broadcastchannel-polyfill: ^1.0.0 builder: ^4.0.0 csstype: ^3.1.0 dedent: ^0.7.0 - file-loader: 5.1.0 history: ^4.9.0 - html-webpack-plugin: ^5.5.0 jest: ^27.3.1 mdast-builder: ^1.1.1 mdast-zone: ^4.0.0 @@ -226,9 +235,6 @@ importers: unified: ^9.0.0 unist-util-visit: ^2.0.3 use-resize-observer: ^6.1.0 - webpack: ^5.68.0 - webpack-cli: ^4.9.2 - webpack-dev-server: ^4.7.4 dependencies: '@types/testing-library__jest-dom': 5.14.5 broadcast-channel: 3.7.0 @@ -276,11 +282,8 @@ importers: '@types/styled-components': 5.1.25 '@types/styled-system': 5.1.15 '@types/unist': 2.0.6 - babel-loader: 8.2.5_fswvdo7jykdwhfxrdcvghfn6pa builder: 4.0.0 csstype: 3.1.0 - file-loader: 5.1.0_webpack@5.73.0 - html-webpack-plugin: 5.5.0_webpack@5.73.0 jest: 27.5.1 process: 0.11.10 react: 18.2.0 @@ -288,9 +291,6 @@ importers: rimraf: 3.0.2 ts-jest: 27.1.5_lcmtnxtw7r6chtpcnqap6sfblq typescript: 4.7.4 - webpack: 5.73.0_webpack-cli@4.10.0 - webpack-cli: 4.10.0_6rc575xxn4hngez2jk2zkyfdoi - webpack-dev-server: 4.9.3_77l47gmqkrqiei5z7sbwz5iaj4 packages: @@ -3182,7 +3182,7 @@ packages: loader-utils: 2.0.2 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.73.0 + webpack: 5.73.0_webpack-cli@4.10.0 dev: true /babel-plugin-dynamic-import-node/2.3.3: @@ -3596,8 +3596,8 @@ packages: resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} dev: true - /clean-css/5.3.0: - resolution: {integrity: sha512-YYuuxv4H/iNb1Z/5IbMRoxgrzjWGhOEFfd+groZ5dMCVkpENiMZmwspdrzBo9286JjM1gZJPAyL7ZIdzuvu2AQ==} + /clean-css/5.3.1: + resolution: {integrity: sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==} engines: {node: '>= 10.0'} dependencies: source-map: 0.6.1 @@ -4621,8 +4621,9 @@ packages: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true - /fastest-levenshtein/1.0.12: - resolution: {integrity: sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==} + /fastest-levenshtein/1.0.14: + resolution: {integrity: sha512-tFfWHjnuUfKE186Tfgr+jtaFc0mZTApEgKDOeyN+FwOqRkO/zK/3h1AiRd8u8CY53owL3CUmGr/oI9p/RdyLTA==} + engines: {node: '>= 4.9.1'} dev: true /fastq/1.13.0: @@ -4657,17 +4658,6 @@ packages: flat-cache: 3.0.4 dev: true - /file-loader/5.1.0_webpack@5.73.0: - resolution: {integrity: sha512-u/VkLGskw3Ue59nyOwUwXI/6nuBCo7KBkniB/l7ICwr/7cPNGsL1WCXUp3GB0qgOOKU1TiP49bv4DZF/LJqprg==} - engines: {node: '>= 10.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - dependencies: - loader-utils: 1.4.0 - schema-utils: 2.7.1 - webpack: 5.73.0_webpack-cli@4.10.0 - dev: true - /fill-range/7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -5107,7 +5097,7 @@ packages: hasBin: true dependencies: camel-case: 4.1.2 - clean-css: 5.3.0 + clean-css: 5.3.1 commander: 8.3.0 he: 1.2.0 param-case: 3.0.4 @@ -6174,13 +6164,6 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true - /json5/1.0.1: - resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} - hasBin: true - dependencies: - minimist: 1.2.6 - dev: true - /json5/2.2.1: resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} engines: {node: '>=6'} @@ -6263,15 +6246,6 @@ packages: engines: {node: '>=6.11.5'} dev: true - /loader-utils/1.4.0: - resolution: {integrity: sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==} - engines: {node: '>=4.0.0'} - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 1.0.1 - dev: true - /loader-utils/2.0.2: resolution: {integrity: sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==} engines: {node: '>=8.9.0'} @@ -6566,10 +6540,6 @@ packages: kind-of: 6.0.3 dev: true - /minimist/1.2.6: - resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} - dev: true - /mixme/0.5.4: resolution: {integrity: sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw==} engines: {node: '>= 8.0.0'} @@ -7205,7 +7175,7 @@ packages: dependencies: loader-utils: 2.0.2 schema-utils: 3.1.1 - webpack: 5.73.0 + webpack: 5.73.0_webpack-cli@4.10.0 dev: true /react-dom/18.2.0_react@18.2.0: @@ -8174,7 +8144,7 @@ packages: schema-utils: 3.1.1 serialize-javascript: 6.0.0 terser: 5.14.1 - webpack: 5.73.0 + webpack: 5.73.0_webpack-cli@4.10.0 dev: true /terser/5.14.1: @@ -8768,7 +8738,7 @@ packages: colorette: 2.0.19 commander: 7.2.0 cross-spawn: 7.0.3 - fastest-levenshtein: 1.0.12 + fastest-levenshtein: 1.0.14 import-local: 3.1.0 interpret: 2.2.0 rechoir: 0.7.1 @@ -8788,7 +8758,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.0.0 - webpack: 5.73.0 + webpack: 5.73.0_webpack-cli@4.10.0 dev: true /webpack-dev-server/4.9.3_77l47gmqkrqiei5z7sbwz5iaj4: @@ -8840,54 +8810,6 @@ packages: - utf-8-validate dev: true - /webpack-dev-server/4.9.3_webpack@5.73.0: - resolution: {integrity: sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==} - engines: {node: '>= 12.13.0'} - hasBin: true - peerDependencies: - webpack: ^4.37.0 || ^5.0.0 - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - dependencies: - '@types/bonjour': 3.5.10 - '@types/connect-history-api-fallback': 1.3.5 - '@types/express': 4.17.13 - '@types/serve-index': 1.9.1 - '@types/serve-static': 1.13.10 - '@types/sockjs': 0.3.33 - '@types/ws': 8.5.3 - ansi-html-community: 0.0.8 - bonjour-service: 1.0.13 - chokidar: 3.5.3 - colorette: 2.0.19 - compression: 1.7.4 - connect-history-api-fallback: 2.0.0 - default-gateway: 6.0.3 - express: 4.18.1 - graceful-fs: 4.2.10 - html-entities: 2.3.3 - http-proxy-middleware: 2.0.6_@types+express@4.17.13 - ipaddr.js: 2.0.1 - open: 8.4.0 - p-retry: 4.6.2 - rimraf: 3.0.2 - schema-utils: 4.0.0 - selfsigned: 2.0.1 - serve-index: 1.9.1 - sockjs: 0.3.24 - spdy: 4.0.2 - webpack: 5.73.0 - webpack-dev-middleware: 5.3.3_webpack@5.73.0 - ws: 8.8.0 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - dev: true - /webpack-merge/5.8.0: resolution: {integrity: sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==} engines: {node: '>=10.0.0'} @@ -8901,46 +8823,6 @@ packages: engines: {node: '>=10.13.0'} dev: true - /webpack/5.73.0: - resolution: {integrity: sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.7.1 - acorn-import-assertions: 1.8.0_acorn@8.7.1 - browserslist: 4.21.1 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.10.0 - es-module-lexer: 0.9.3 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.10 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.1.1 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.3_webpack@5.73.0 - watchpack: 2.4.0 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - dev: true - /webpack/5.73.0_webpack-cli@4.10.0: resolution: {integrity: sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==} engines: {node: '>=10.13.0'} diff --git a/webpack.config.dev.js b/webpack.config.dev.js deleted file mode 100644 index 88131a75b..000000000 --- a/webpack.config.dev.js +++ /dev/null @@ -1,10 +0,0 @@ -const base = require('./packages/spectacle/webpack.config'); - -module.exports = { - ...base, - mode: 'development', - output: { - ...base.output, - filename: 'spectacle.js' - } -}; From 554415046e9c1a73bb7686105d149b92b130f61d Mon Sep 17 00:00:00 2001 From: Grant Sander Date: Wed, 20 Jul 2022 10:13:36 -0500 Subject: [PATCH 07/12] Update package.json --- packages/spectacle/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/spectacle/package.json b/packages/spectacle/package.json index eb5fd058d..e38b79e16 100644 --- a/packages/spectacle/package.json +++ b/packages/spectacle/package.json @@ -23,7 +23,8 @@ "build-babel-cjs": "builder run --env \"{\\\"BABEL_ENV\\\":\\\"cjs\\\"}\" build-babel -- -d lib", "build": "builder concurrent --buffer build-babel-esm build-babel-cjs build-types", "build-types": "tsc --emitDeclarationOnly", - "typecheck": "tsc --noEmit" + "typecheck": "tsc --noEmit", + "prepublishOnly": "cp ../../README.md ./README.md && pnpm run build" }, "author": "Formidable Labs ", "license": "MIT", From 1700a806035faf3639cb6d628c8abbe1409793ca Mon Sep 17 00:00:00 2001 From: Grant Sander Date: Wed, 20 Jul 2022 10:14:49 -0500 Subject: [PATCH 08/12] Create .gitignore --- packages/spectacle/.gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 packages/spectacle/.gitignore diff --git a/packages/spectacle/.gitignore b/packages/spectacle/.gitignore new file mode 100644 index 000000000..b43bf86b5 --- /dev/null +++ b/packages/spectacle/.gitignore @@ -0,0 +1 @@ +README.md From 6ebdd811505773494af701139500161236083728 Mon Sep 17 00:00:00 2001 From: Grant Sander Date: Wed, 20 Jul 2022 10:15:58 -0500 Subject: [PATCH 09/12] Update package.json --- packages/spectacle/package.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/spectacle/package.json b/packages/spectacle/package.json index e38b79e16..67312eaf6 100644 --- a/packages/spectacle/package.json +++ b/packages/spectacle/package.json @@ -6,11 +6,7 @@ "main": "lib/index.js", "files": [ "lib/", - "es/", - "dist/", - "examples/", - "scripts/", - "../../README.md" + "es/" ], "module": "es/index.js", "scripts": { From 4047d1daa5ea225539b3bfa9bd0cbbdc0498f3bd Mon Sep 17 00:00:00 2001 From: Grant Sander Date: Wed, 20 Jul 2022 12:36:12 -0500 Subject: [PATCH 10/12] Put back in dist/webpack build step --- packages/spectacle/package.json | 16 +++++++-- packages/spectacle/webpack.config.dev.js | 10 ++++++ packages/spectacle/webpack.config.js | 9 ++++- pnpm-lock.yaml | 43 ++++++++++++++++++++++++ 4 files changed, 74 insertions(+), 4 deletions(-) create mode 100644 packages/spectacle/webpack.config.dev.js diff --git a/packages/spectacle/package.json b/packages/spectacle/package.json index 67312eaf6..0e3d5699e 100644 --- a/packages/spectacle/package.json +++ b/packages/spectacle/package.json @@ -6,7 +6,8 @@ "main": "lib/index.js", "files": [ "lib/", - "es/" + "es/", + "dist/" ], "module": "es/index.js", "scripts": { @@ -17,7 +18,10 @@ "build-babel": "babel src --extensions .tsx,.ts,.jsx,.js --ignore \\\\\\\"/__snapshots__/,**/*.test.*\\\\\\\"", "build-babel-esm": "builder run build-babel -- -d es", "build-babel-cjs": "builder run --env \"{\\\"BABEL_ENV\\\":\\\"cjs\\\"}\" build-babel -- -d lib", - "build": "builder concurrent --buffer build-babel-esm build-babel-cjs build-types", + "build-webpack-base": "webpack", + "build-webpack-lib-dev": "builder run build-webpack-base -- --config ./webpack.config.dev.js", + "build-webpack-lib": "builder run build-webpack-base", + "build": "builder concurrent --buffer build-babel-esm build-babel-cjs build-webpack-lib build-webpack-lib-dev build-types", "build-types": "tsc --emitDeclarationOnly", "typecheck": "tsc --noEmit", "prepublishOnly": "cp ../../README.md ./README.md && pnpm run build" @@ -81,15 +85,21 @@ "@types/styled-components": "^5.1.15", "@types/styled-system": "^5.1.5", "@types/unist": "^2.0.6", + "babel-loader": "^8.0.6", "builder": "^4.0.0", "csstype": "^3.1.0", + "file-loader": "5.1.0", + "html-webpack-plugin": "^5.5.0", "jest": "^27.3.1", "process": "^0.11.10", "react": "^18.1.0", "react-dom": "^18.1.0", "rimraf": "^3.0.0", "ts-jest": "^27.0.7", - "typescript": "^4.5.2" + "typescript": "^4.5.2", + "webpack": "^5.68.0", + "webpack-cli": "^4.9.2", + "webpack-dev-server": "^4.7.4" }, "resolutions": { "@types/react": "^18.0.12" diff --git a/packages/spectacle/webpack.config.dev.js b/packages/spectacle/webpack.config.dev.js new file mode 100644 index 000000000..9163e54ab --- /dev/null +++ b/packages/spectacle/webpack.config.dev.js @@ -0,0 +1,10 @@ +const base = require('./webpack.config'); + +module.exports = { + ...base, + mode: 'development', + output: { + ...base.output, + filename: 'spectacle.js' + } +}; diff --git a/packages/spectacle/webpack.config.js b/packages/spectacle/webpack.config.js index a19f0e887..280b239b1 100644 --- a/packages/spectacle/webpack.config.js +++ b/packages/spectacle/webpack.config.js @@ -1,3 +1,10 @@ +const path = require('path'); const base = require('../../webpack.config.base'); -module.exports = base; +module.exports = { + ...base, + output: { + ...base.output, + path: path.join(__dirname, 'dist') + } +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f299e8fe2..24d9cb653 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -201,12 +201,15 @@ importers: '@types/styled-system': ^5.1.5 '@types/testing-library__jest-dom': ^5.14.5 '@types/unist': ^2.0.6 + babel-loader: ^8.0.6 broadcast-channel: ^3.2.0 broadcastchannel-polyfill: ^1.0.0 builder: ^4.0.0 csstype: ^3.1.0 dedent: ^0.7.0 + file-loader: 5.1.0 history: ^4.9.0 + html-webpack-plugin: ^5.5.0 jest: ^27.3.1 mdast-builder: ^1.1.1 mdast-zone: ^4.0.0 @@ -235,6 +238,9 @@ importers: unified: ^9.0.0 unist-util-visit: ^2.0.3 use-resize-observer: ^6.1.0 + webpack: ^5.68.0 + webpack-cli: ^4.9.2 + webpack-dev-server: ^4.7.4 dependencies: '@types/testing-library__jest-dom': 5.14.5 broadcast-channel: 3.7.0 @@ -282,8 +288,11 @@ importers: '@types/styled-components': 5.1.25 '@types/styled-system': 5.1.15 '@types/unist': 2.0.6 + babel-loader: 8.2.5_fswvdo7jykdwhfxrdcvghfn6pa builder: 4.0.0 csstype: 3.1.0 + file-loader: 5.1.0_webpack@5.73.0 + html-webpack-plugin: 5.5.0_webpack@5.73.0 jest: 27.5.1 process: 0.11.10 react: 18.2.0 @@ -291,6 +300,9 @@ importers: rimraf: 3.0.2 ts-jest: 27.1.5_lcmtnxtw7r6chtpcnqap6sfblq typescript: 4.7.4 + webpack: 5.73.0_webpack-cli@4.10.0 + webpack-cli: 4.10.0_6rc575xxn4hngez2jk2zkyfdoi + webpack-dev-server: 4.9.3_77l47gmqkrqiei5z7sbwz5iaj4 packages: @@ -4658,6 +4670,17 @@ packages: flat-cache: 3.0.4 dev: true + /file-loader/5.1.0_webpack@5.73.0: + resolution: {integrity: sha512-u/VkLGskw3Ue59nyOwUwXI/6nuBCo7KBkniB/l7ICwr/7cPNGsL1WCXUp3GB0qgOOKU1TiP49bv4DZF/LJqprg==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + loader-utils: 1.4.0 + schema-utils: 2.7.1 + webpack: 5.73.0_webpack-cli@4.10.0 + dev: true + /fill-range/7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -6164,6 +6187,13 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true + /json5/1.0.1: + resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} + hasBin: true + dependencies: + minimist: 1.2.6 + dev: true + /json5/2.2.1: resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} engines: {node: '>=6'} @@ -6246,6 +6276,15 @@ packages: engines: {node: '>=6.11.5'} dev: true + /loader-utils/1.4.0: + resolution: {integrity: sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==} + engines: {node: '>=4.0.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 1.0.1 + dev: true + /loader-utils/2.0.2: resolution: {integrity: sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==} engines: {node: '>=8.9.0'} @@ -6540,6 +6579,10 @@ packages: kind-of: 6.0.3 dev: true + /minimist/1.2.6: + resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + dev: true + /mixme/0.5.4: resolution: {integrity: sha512-3KYa4m4Vlqx98GPdOHghxSdNtTvcP8E0kkaJ5Dlh+h2DRzF7zpuVVcA8B0QpKd11YJeP9QQ7ASkKzOeu195Wzw==} engines: {node: '>= 8.0.0'} From 6967a2fd7d755b7a420deabb075a88d7083b2891 Mon Sep 17 00:00:00 2001 From: Grant Sander Date: Wed, 20 Jul 2022 12:37:05 -0500 Subject: [PATCH 11/12] Update package.json --- packages/spectacle/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/spectacle/package.json b/packages/spectacle/package.json index 0e3d5699e..1792811be 100644 --- a/packages/spectacle/package.json +++ b/packages/spectacle/package.json @@ -12,7 +12,7 @@ "module": "es/index.js", "scripts": { "test": "jest", - "clean": "rimraf lib es", + "clean": "rimraf dist lib es", "preversion": "cd ../../ && pnpm run check", "version": "pnpm run clean && pnpm run build", "build-babel": "babel src --extensions .tsx,.ts,.jsx,.js --ignore \\\\\\\"/__snapshots__/,**/*.test.*\\\\\\\"", From a9127faef2e8bbd810fd7207c2774e3061c73256 Mon Sep 17 00:00:00 2001 From: Grant Sander Date: Mon, 25 Jul 2022 08:13:16 -0500 Subject: [PATCH 12/12] Use shx for x-platform moving, and postpack to cleanup files --- packages/spectacle/package.json | 4 +++- pnpm-lock.yaml | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/packages/spectacle/package.json b/packages/spectacle/package.json index 1792811be..8c01aeeae 100644 --- a/packages/spectacle/package.json +++ b/packages/spectacle/package.json @@ -24,7 +24,8 @@ "build": "builder concurrent --buffer build-babel-esm build-babel-cjs build-webpack-lib build-webpack-lib-dev build-types", "build-types": "tsc --emitDeclarationOnly", "typecheck": "tsc --noEmit", - "prepublishOnly": "cp ../../README.md ./README.md && pnpm run build" + "prepublishOnly": "shx cp ../../README.md ./README.md && shx cp ../../LICENSE ./LICENSE && pnpm run build", + "postpack": "shx rm ./README.md && shx rm ./LICENSE" }, "author": "Formidable Labs ", "license": "MIT", @@ -95,6 +96,7 @@ "react": "^18.1.0", "react-dom": "^18.1.0", "rimraf": "^3.0.0", + "shx": "^0.3.4", "ts-jest": "^27.0.7", "typescript": "^4.5.2", "webpack": "^5.68.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 24d9cb653..051dfd1bb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -230,6 +230,7 @@ importers: remark-parse: ^8.0.3 remark-rehype: ^7.0.0 rimraf: ^3.0.0 + shx: ^0.3.4 styled-components: ^4.3.2 styled-system: 5.1.5 ts-jest: ^27.0.7 @@ -298,6 +299,7 @@ importers: react: 18.2.0 react-dom: 18.2.0_react@18.2.0 rimraf: 3.0.2 + shx: 0.3.4 ts-jest: 27.1.5_lcmtnxtw7r6chtpcnqap6sfblq typescript: 4.7.4 webpack: 5.73.0_webpack-cli@4.10.0 @@ -5317,6 +5319,11 @@ packages: side-channel: 1.0.4 dev: true + /interpret/1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + dev: true + /interpret/2.2.0: resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==} engines: {node: '>= 0.10'} @@ -7340,6 +7347,13 @@ packages: picomatch: 2.3.1 dev: true + /rechoir/0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + dependencies: + resolve: 1.22.1 + dev: true + /rechoir/0.7.1: resolution: {integrity: sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==} engines: {node: '>= 0.10'} @@ -7759,6 +7773,25 @@ packages: engines: {node: '>=8'} dev: true + /shelljs/0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + dependencies: + glob: 7.2.3 + interpret: 1.4.0 + rechoir: 0.6.2 + dev: true + + /shx/0.3.4: + resolution: {integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==} + engines: {node: '>=6'} + hasBin: true + dependencies: + minimist: 1.2.6 + shelljs: 0.8.5 + dev: true + /side-channel/1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: