Update to add externalized dependencies for the goods-editor-module

This commit is contained in:
khalid@traclabs.com
2026-05-24 10:56:43 -05:00
parent 846560f81a
commit e4e9459c86
3 changed files with 57 additions and 15 deletions

39
package-lock.json generated
View File

@@ -8,17 +8,22 @@
"name": "apparel-designer",
"version": "1.0.0",
"dependencies": {
"@huggingface/transformers": "^3.4.0",
"canvas": "^3.0.0",
"cors": "^2.8.5",
"express": "^4.18.2",
"express-rate-limit": "^7.4.0",
"goods-editor": "git+ssh://git@git.kadil.dev:222/khalidadil/goods-editor-module.git#v0.1.0-alpha.2",
"goods-editor": "git+ssh://git@git.kadil.dev:222/khalidadil/goods-editor-module.git#v0.2.0-alpha.0",
"konva": "^10.0.0",
"multer": "^2.0.0",
"pino": "^9.5.0",
"pino-http": "^10.3.0",
"react": "^19.2.5",
"react-dom": "^19.2.5",
"react-filerobot-image-editor": "^4.8.1",
"react-konva": "^19.2.3",
"sharp": "^0.33.2",
"use-image": "^1.1.1",
"uuid": "^9.0.1"
},
"devDependencies": {
@@ -6439,27 +6444,27 @@
}
},
"node_modules/goods-editor": {
"version": "0.1.0-alpha.2",
"resolved": "git+ssh://git@git.kadil.dev:222/khalidadil/goods-editor-module.git#8da0362f1c97ed7951175a3a40c84b5f2090c0fd",
"version": "0.2.0-alpha.0",
"resolved": "git+ssh://git@git.kadil.dev:222/khalidadil/goods-editor-module.git#e4b7c820ad3775c3671164950ed6dbb78895693a",
"dependencies": {
"@emotion/is-prop-valid": "^1.4.0",
"@huggingface/transformers": "^3.4.0",
"konva": "^10.0.0",
"react-filerobot-image-editor": "^4.8.1",
"react-konva": "^19.2.3",
"react-select": "^5.8.0",
"styled-components": "^6.4.1",
"use-image": "^1.1.1",
"uuid": "^9.0.1"
},
"engines": {
"node": ">=20.0.0"
},
"peerDependencies": {
"@huggingface/transformers": ">=3.0.0",
"canvas": "^3.0.0",
"konva": ">=9.0.0",
"react": ">=18.0.0",
"react-dom": ">=18.0.0",
"sharp": "^0.33.0"
"react-filerobot-image-editor": ">=4.0.0",
"react-konva": ">=18.0.0",
"sharp": "^0.33.0",
"use-image": ">=1.1.0"
},
"peerDependenciesMeta": {
"canvas": {
@@ -11104,6 +11109,22 @@
"dev": true,
"license": "ISC"
},
"node_modules/yaml": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
"integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
"extraneous": true,
"license": "ISC",
"bin": {
"yaml": "bin.mjs"
},
"engines": {
"node": ">= 14.6"
},
"funding": {
"url": "https://github.com/sponsors/eemeli"
}
},
"node_modules/yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",

View File

@@ -14,17 +14,22 @@
"test": "echo 'Editor tests live in the goods-editor module. Run them from there.' && exit 0"
},
"dependencies": {
"goods-editor": "git+ssh://git@git.kadil.dev:222/khalidadil/goods-editor-module.git#v0.1.0-alpha.2",
"goods-editor": "git+ssh://git@git.kadil.dev:222/khalidadil/goods-editor-module.git#v0.2.0-alpha.0",
"@huggingface/transformers": "^3.4.0",
"canvas": "^3.0.0",
"cors": "^2.8.5",
"express": "^4.18.2",
"express-rate-limit": "^7.4.0",
"konva": "^10.0.0",
"multer": "^2.0.0",
"pino": "^9.5.0",
"pino-http": "^10.3.0",
"react": "^19.2.5",
"react-dom": "^19.2.5",
"react-filerobot-image-editor": "^4.8.1",
"react-konva": "^19.2.3",
"sharp": "^0.33.2",
"use-image": "^1.1.1",
"uuid": "^9.0.1"
},
"devDependencies": {

View File

@@ -119,14 +119,20 @@ export default defineConfig({
// which precaching would undo. They're served via the
// `sticker-library` runtimeCaching rule below instead.
globIgnores: ['**/stickers/**'],
// Note: we deliberately do NOT raise `maximumFileSizeToCacheInBytes`
// We deliberately do NOT raise `maximumFileSizeToCacheInBytes`
// here. The default 2 MiB cap is a useful regression alarm — if
// a future change pushes any chunk past it, the build fails loudly
// and we know to either split further or investigate why a chunk
// grew. Earlier this file overrode the cap to 5 MiB because the
// pre-split bundle was 2.32 MB; that override was removed once
// `build.rollupOptions.output.manualChunks` (below in this config)
// brought every chunk under the default cap.
// grew.
//
// History: this file briefly overrode the cap to 3 MiB when the
// goods-editor module shipped its dist with konva, react-konva,
// use-image, react-filerobot-image-editor, and
// @huggingface/transformers inlined (~2.14 MiB chunk). That
// override was removed when the module externalized those deps
// (goods-editor v0.2.0-alpha.0+) and they became host-resolved
// peer deps, letting the host's manualChunks rules split them
// into separate sub-2-MiB chunks.
runtimeCaching: [
{
urlPattern: /^https:\/\/cdn\.huggingface\.co\/.*/i,
@@ -328,6 +334,15 @@ export default defineConfig({
// used only when the user opens the advanced
// image editor. Worth its own chunk so the
// rest of the app doesn't pay for it.
// goods-editor/ The editor module's own bundle. By far the
// largest single piece of UI code (the entire
// editor surface). Lives in its own chunk so
// host-only deploys don't bust its cache — it
// only changes when we bump the module's tag
// in package.json. Without this split, it sits
// inside `index` and pushes the index chunk
// past 2 MiB, which fails the workbox precache
// check.
// index/ Everything else: app code, react-select,
// styled-components, zod, uuid, plus all
// the small utilities. This stays the
@@ -365,6 +380,7 @@ export default defineConfig({
['konva', 'konva', 'react-konva', 'use-image'],
['react-vendor', 'react', 'react-dom'],
['filerobot', 'react-filerobot-image-editor'],
['goods-editor', 'goods-editor'],
];
for (const [chunk, ...packages] of groups) {
for (const pkg of packages) {