diff --git a/Makefile b/Makefile index cbd9eb1e9..c1bb3eed6 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ # https://github.com/lgarron/Makefile-scripts # Note: the first command becomes the default `make` target. -NPM_COMMANDS = build build-esm build-cjs build-bundle-global build-types build-bin generate-js generate-js-parsers generate-js-svg dev clean test test-jest test-node-require test-node-import format setup lint prepack parcel-build-for-twizzle-net parcel-build-for-vr-cubing-net parcel-build-for-experiments-cubing-net parcel-build-for-twizzle-diaries +NPM_COMMANDS = build build-esm build-cjs build-bundle-global build-types build-bin build-experimental-splitting-build generate-js generate-js-parsers generate-js-svg dev clean test test-jest test-node-require test-node-import format setup lint prepack parcel-build-for-twizzle-net parcel-build-for-vr-cubing-net parcel-build-for-experiments-cubing-net parcel-build-for-twizzle-diaries .PHONY: $(NPM_COMMANDS) $(NPM_COMMANDS): diff --git a/alg/package.json b/alg/package.json index 6a07bed01..c4469fb48 100644 --- a/alg/package.json +++ b/alg/package.json @@ -1,6 +1,7 @@ { "name": "alg", "type": "module", - "main": "./index.js", + "main": "../dist/esm/alg/index.js", + "module": "../dist/esm/alg/index.js", "types": "../dist/types/alg/index.d.ts" } diff --git a/kpuzzle/package.json b/kpuzzle/package.json index 7a5a39ce5..7de44a7f8 100644 --- a/kpuzzle/package.json +++ b/kpuzzle/package.json @@ -1,6 +1,6 @@ { "name": "kpuzzle", "type": "module", - "main": "./index.js", + "main": "../dist/esm/kpuzzle/index.js", "types": "../dist/types/kpuzzle/index.d.ts" } diff --git a/notation/package.json b/notation/package.json index cd41b5bdb..7f4941663 100644 --- a/notation/package.json +++ b/notation/package.json @@ -1,6 +1,6 @@ { "name": "notation", "type": "module", - "main": "./index.js", + "main": "./dist/esm/notation/index.js", "types": "../dist/types/notation/index.d.ts" } diff --git a/package.json b/package.json index 97f2ac9b4..7d4aaaf9f 100644 --- a/package.json +++ b/package.json @@ -46,18 +46,18 @@ }, "scripts": { "build": "npm run clean && npm run build-esm && npm run build-cjs && npm run build-bundle-global && npm run build-types && npm run build-bin", - "build-esm": "node src/make/build.js", - "build-dist-esm": "npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm", + "build-esm": "npx esbuild --target=es2015 --bundle --external:three --splitting --format=esm --sourcemap --outdir=dist/esm src/cubing/index.ts src/cubing/alg/index.ts src/cubing/bluetooth/index.ts src/cubing/kpuzzle/index.ts src/cubing/protocol/index.ts src/cubing/puzzle-geometry/index.ts src/cubing/puzzles/index.ts src/cubing/stream/index.ts src/cubing/twisty/index.ts && cp -R src/dist-static/esm/* dist/esm", "build-cjs": "npx esbuild --target=es2015 --bundle --external:three --format=cjs --outfile=dist/cjs/index.js src/cubing/index.ts && cp -R src/dist-static/cjs/* dist/cjs", "build-bundle-global": "npx esbuild --target=es2015 --bundle --format=cjs --minify --outdir=dist/bundle-global src/cubing/cubing.bundle-global.ts", "build-types": "npx tsc src/cubing/*.ts src/cubing/**/*.ts --declaration --emitDeclarationOnly --outDir dist/types --target es2015 --module es2020 --moduleResolution node --lib esnext,dom --resolveJsonModule --allowJs --allowSyntheticDefaultImports # TODO: unify with tsconfig.json", "build-bin": "npx esbuild --target=es2015 --bundle --external:three --format=esm --outfile=dist/bin/puzzle-geometry-bin.js src/bin/puzzle-geometry-bin.ts", + "build-experimental-splitting-build": "node src/make/build.js", "generate-js": "npm run generate-js-parsers && npm run generate-js-svg", "generate-js-parsers": "npx pegjs src/cubing/alg/parser/parser-pegjs.pegjs && npx pegjs src/cubing/kpuzzle/parser/parser-pegjs.pegjs", "generate-js-svg": "echo \"TODO: Generating JS for SVGs is not implemented yet.\"", "dev": "npm run clean && npx parcel serve --no-autoinstall src/demo/index.html --port 3333 --open --dist-dir /tmp/cubing-js-parcel # cleaning is a workaround for one set of Parcel bugs, /tmp dir is a workaround dir for other Parcel bugs", - "clean": "rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel; node src/make/clean.js", - "test": "npm run test-jest && npm run lint", + "clean": "rm -rf dist .cache .parcel-cache .rpt2_cache /tmp/cubing-js-parcel", + "test": "npm run test-jest && npm run lint && npm run build-experimental-splitting-build", "test-jest": "npx jest --collectCoverage", "test-node-require": "node src/dist-test/require.cjs", "test-node-import": "node src/dist-test/import.mjs", @@ -144,47 +144,47 @@ }, "./alg": { "require": "./dist/cjs/alg/index.js", - "import": "./alg/index.js", + "import": "./dist/esm/alg/index.js", "types": "./dist/types/alg/index.d.ts" }, "./bluetooth": { "require": "./dist/cjs/bluetooth/index.js", - "import": "./bluetooth/index.js", + "import": "./dist/esm/bluetooth/index.js", "types": "./dist/types/bluetooth/index.d.ts" }, "./kpuzzle": { "require": "./dist/cjs/kpuzzle/index.js", - "import": "./kpuzzle/index.js", + "import": "./dist/esm/kpuzzle/index.js", "types": "./dist/types/kpuzzle/index.d.ts" }, "./notation": { "require": "./dist/cjs/notation/index.js", - "import": "./notation/index.js", + "import": "./dist/esm/notation/index.js", "types": "./dist/types/notation/index.d.ts" }, "./protocol": { "require": "./dist/cjs/protocol/index.js", - "import": "./protocol/index.js", + "import": "./dist/esm/protocol/index.js", "types": "./dist/types/protocol/index.d.ts" }, "./puzzle-geometry": { "require": "./dist/cjs/puzzle-geometry/index.js", - "import": "./puzzle-geometry/index.js", + "import": "./dist/esm/puzzle-geometry/index.js", "types": "./dist/esm/types/puzzle-geometry/index.d.ts" }, "./puzzles": { "require": "./dist/cjs/puzzles/index.js", - "import": "./puzzles/index.js", + "import": "./dist/esm/puzzles/index.js", "types": "./dist/esm/types-geometry/index.d.ts" }, "./stream": { "require": "./dist/cjs/stream/index.js", - "import": "./stream/index.js", + "import": "./dist/esm/stream/index.js", "types": "./dist/types/stream/index.d.ts" }, "./twisty": { "require": "./dist/cjs/twisty/index.js", - "import": "./twisty/index.js", + "import": "./dist/esm/twisty/index.js", "types": "./dist/types/twisty/index.d.ts" } }, diff --git a/protocol/package.json b/protocol/package.json index 832da42cc..0b44649c9 100644 --- a/protocol/package.json +++ b/protocol/package.json @@ -1,6 +1,6 @@ { "name": "protocol", "type": "module", - "main": "./index.js", + "main": "../dist/esm/protocol/index.js", "types": "../dist/types/protocol/index.d.ts" } diff --git a/puzzle-geometry/package.json b/puzzle-geometry/package.json index 4cc28f1e7..0d0aa7fcf 100644 --- a/puzzle-geometry/package.json +++ b/puzzle-geometry/package.json @@ -1,6 +1,6 @@ { "name": "puzzle-geometry", "type": "module", - "main": "./index.js", + "main": "../dist/esm/puzzle-geometry/index.js", "types": "../dist/types/puzzle-geometry/index.d.ts" } diff --git a/puzzles/package.json b/puzzles/package.json index 21ca641fe..5381ff34a 100644 --- a/puzzles/package.json +++ b/puzzles/package.json @@ -1,6 +1,6 @@ { "name": "puzzles", "type": "module", - "main": "./index.js", + "main": "../dist/esm/puzzles/index.js", "types": "../dist/types/puzzles/index.d.ts" } diff --git a/src/make/build.js b/src/make/build.js index 0e263ad75..e4cd6a806 100644 --- a/src/make/build.js +++ b/src/make/build.js @@ -10,7 +10,8 @@ const PATH_TO_SRC_CUBING = resolve(new URL(".", import.meta.url).pathname, "../c class Target { constructor(name, targetInfo) { this.name = name; - this.outdir = `./${this.name}` + // this.outdir = `./${this.name}` + this.outdir = `./dist/experimental-splitting-build/${this.name}` this.deps = targetInfo.deps; diff --git a/stream/package.json b/stream/package.json index 05c23fc99..4dba5f7ff 100644 --- a/stream/package.json +++ b/stream/package.json @@ -1,6 +1,6 @@ { "name": "stream", "type": "module", - "main": "./index.js", + "main": "../dist/esm/stream/index.js", "types": "../dist/types/stream/index.d.ts" } diff --git a/twisty/package.json b/twisty/package.json index 03eee316d..534af265e 100644 --- a/twisty/package.json +++ b/twisty/package.json @@ -1,6 +1,6 @@ { "name": "twisty", "type": "module", - "main": "./index.js", + "main": "../dist/esm/twisty/index.js", "types": "../dist/types/twisty/index.d.ts" }