2026-03-25 00:10:03 +01:00
{
"name" : "biteplan" ,
2026-03-30 23:13:21 +02:00
"version" : "1.0.0" ,
2026-03-25 00:10:03 +01:00
"lockfileVersion" : 3 ,
"requires" : true ,
"packages" : {
"" : {
"name" : "biteplan" ,
2026-03-30 23:13:21 +02:00
"version" : "1.0.0" ,
2026-03-25 00:10:03 +01:00
"dependencies" : {
2026-03-30 23:13:21 +02:00
"jsqr" : "^1.4.0" ,
"qrcode" : "^1.5.4" ,
2026-03-25 00:10:03 +01:00
"vue" : "^3.4.0"
} ,
"devDependencies" : {
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"@playwright/test" : "^1.58.2" ,
2026-03-31 10:15:55 +02:00
"@vitejs/plugin-vue" : "^5.2.0" ,
"@vitest/coverage-v8" : "^3.0.0" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"@vue/test-utils" : "^2.4.6" ,
"happy-dom" : "^20.8.9" ,
"jsdom" : "^29.0.1" ,
2026-03-31 10:15:55 +02:00
"vite" : "^6.0.0" ,
"vitest" : "^3.0.0"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
}
} ,
"node_modules/@ampproject/remapping" : {
"version" : "2.3.0" ,
"resolved" : "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" ,
"integrity" : "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==" ,
"dev" : true ,
"dependencies" : {
"@jridgewell/gen-mapping" : "^0.3.5" ,
"@jridgewell/trace-mapping" : "^0.3.24"
} ,
"engines" : {
"node" : ">=6.0.0"
}
} ,
"node_modules/@asamuzakjp/css-color" : {
"version" : "5.0.1" ,
"resolved" : "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.0.1.tgz" ,
"integrity" : "sha512-2SZFvqMyvboVV1d15lMf7XiI3m7SDqXUuKaTymJYLN6dSGadqp+fVojqJlVoMlbZnlTmu3S0TLwLTJpvBMO1Aw==" ,
"dev" : true ,
"dependencies" : {
"@csstools/css-calc" : "^3.1.1" ,
"@csstools/css-color-parser" : "^4.0.2" ,
"@csstools/css-parser-algorithms" : "^4.0.0" ,
"@csstools/css-tokenizer" : "^4.0.0" ,
"lru-cache" : "^11.2.6"
} ,
"engines" : {
"node" : "^20.19.0 || ^22.12.0 || >=24.0.0"
}
} ,
"node_modules/@asamuzakjp/dom-selector" : {
"version" : "7.0.4" ,
"resolved" : "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-7.0.4.tgz" ,
"integrity" : "sha512-jXR6x4AcT3eIrS2fSNAwJpwirOkGcd+E7F7CP3zjdTqz9B/2huHOL8YJZBgekKwLML+u7qB/6P1LXQuMScsx0w==" ,
"dev" : true ,
"dependencies" : {
"@asamuzakjp/nwsapi" : "^2.3.9" ,
"bidi-js" : "^1.0.3" ,
"css-tree" : "^3.2.1" ,
"is-potential-custom-element-name" : "^1.0.1" ,
"lru-cache" : "^11.2.7"
} ,
"engines" : {
"node" : "^20.19.0 || ^22.12.0 || >=24.0.0"
2026-03-25 00:10:03 +01:00
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/@asamuzakjp/nwsapi" : {
"version" : "2.3.9" ,
"resolved" : "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz" ,
"integrity" : "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==" ,
"dev" : true
} ,
2026-03-25 00:10:03 +01:00
"node_modules/@babel/helper-string-parser" : {
"version" : "7.27.1" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz" ,
"integrity" : "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==" ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/helper-validator-identifier" : {
"version" : "7.28.5" ,
"resolved" : "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz" ,
"integrity" : "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==" ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
"node_modules/@babel/parser" : {
"version" : "7.29.2" ,
"resolved" : "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz" ,
"integrity" : "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==" ,
"dependencies" : {
"@babel/types" : "^7.29.0"
} ,
"bin" : {
"parser" : "bin/babel-parser.js"
} ,
"engines" : {
"node" : ">=6.0.0"
}
} ,
"node_modules/@babel/types" : {
"version" : "7.29.0" ,
"resolved" : "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz" ,
"integrity" : "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==" ,
"dependencies" : {
"@babel/helper-string-parser" : "^7.27.1" ,
"@babel/helper-validator-identifier" : "^7.28.5"
} ,
"engines" : {
"node" : ">=6.9.0"
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/@bcoe/v8-coverage" : {
2026-03-31 10:15:55 +02:00
"version" : "1.0.2" ,
"resolved" : "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz" ,
"integrity" : "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-31 10:15:55 +02:00
"engines" : {
"node" : ">=18"
}
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"node_modules/@bramus/specificity" : {
"version" : "2.4.2" ,
"resolved" : "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz" ,
"integrity" : "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==" ,
"dev" : true ,
"dependencies" : {
"css-tree" : "^3.0.0"
} ,
"bin" : {
"specificity" : "bin/cli.js"
}
} ,
"node_modules/@csstools/color-helpers" : {
"version" : "6.0.2" ,
"resolved" : "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.0.2.tgz" ,
"integrity" : "sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==" ,
"dev" : true ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/csstools"
} ,
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/csstools"
}
] ,
"engines" : {
"node" : ">=20.19.0"
}
} ,
"node_modules/@csstools/css-calc" : {
"version" : "3.1.1" ,
"resolved" : "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.1.1.tgz" ,
"integrity" : "sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==" ,
"dev" : true ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/csstools"
} ,
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/csstools"
}
] ,
"engines" : {
"node" : ">=20.19.0"
} ,
"peerDependencies" : {
"@csstools/css-parser-algorithms" : "^4.0.0" ,
"@csstools/css-tokenizer" : "^4.0.0"
}
} ,
"node_modules/@csstools/css-color-parser" : {
"version" : "4.0.2" ,
"resolved" : "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.0.2.tgz" ,
"integrity" : "sha512-0GEfbBLmTFf0dJlpsNU7zwxRIH0/BGEMuXLTCvFYxuL1tNhqzTbtnFICyJLTNK4a+RechKP75e7w42ClXSnJQw==" ,
"dev" : true ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/csstools"
} ,
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/csstools"
}
] ,
"dependencies" : {
"@csstools/color-helpers" : "^6.0.2" ,
"@csstools/css-calc" : "^3.1.1"
} ,
"engines" : {
"node" : ">=20.19.0"
} ,
"peerDependencies" : {
"@csstools/css-parser-algorithms" : "^4.0.0" ,
"@csstools/css-tokenizer" : "^4.0.0"
}
} ,
"node_modules/@csstools/css-parser-algorithms" : {
"version" : "4.0.0" ,
"resolved" : "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz" ,
"integrity" : "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==" ,
"dev" : true ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/csstools"
} ,
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/csstools"
}
] ,
"engines" : {
"node" : ">=20.19.0"
} ,
"peerDependencies" : {
"@csstools/css-tokenizer" : "^4.0.0"
}
} ,
"node_modules/@csstools/css-syntax-patches-for-csstree" : {
"version" : "1.1.2" ,
"resolved" : "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.2.tgz" ,
"integrity" : "sha512-5GkLzz4prTIpoyeUiIu3iV6CSG3Plo7xRVOFPKI7FVEJ3mZ0A8SwK0XU3Gl7xAkiQ+mDyam+NNp875/C5y+jSA==" ,
"dev" : true ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/csstools"
} ,
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/csstools"
}
] ,
"peerDependencies" : {
"css-tree" : "^3.2.1"
} ,
"peerDependenciesMeta" : {
"css-tree" : {
"optional" : true
}
}
} ,
"node_modules/@csstools/css-tokenizer" : {
"version" : "4.0.0" ,
"resolved" : "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz" ,
"integrity" : "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==" ,
"dev" : true ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/csstools"
} ,
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/csstools"
}
] ,
"engines" : {
"node" : ">=20.19.0"
}
} ,
2026-03-25 00:10:03 +01:00
"node_modules/@esbuild/aix-ppc64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz" ,
"integrity" : "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"ppc64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"aix"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/android-arm" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz" ,
"integrity" : "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"arm"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"android"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/android-arm64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz" ,
"integrity" : "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"android"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/android-x64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz" ,
"integrity" : "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"android"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/darwin-arm64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz" ,
"integrity" : "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"darwin"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/darwin-x64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz" ,
"integrity" : "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"darwin"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/freebsd-arm64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz" ,
"integrity" : "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"freebsd"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/freebsd-x64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz" ,
"integrity" : "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"freebsd"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/linux-arm" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz" ,
"integrity" : "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"arm"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/linux-arm64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz" ,
"integrity" : "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/linux-ia32" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz" ,
"integrity" : "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"ia32"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/linux-loong64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz" ,
"integrity" : "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"loong64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/linux-mips64el" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz" ,
"integrity" : "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"mips64el"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/linux-ppc64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz" ,
"integrity" : "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"ppc64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/linux-riscv64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz" ,
"integrity" : "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"riscv64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/linux-s390x" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz" ,
"integrity" : "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"s390x"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/linux-x64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz" ,
"integrity" : "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"linux"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
}
} ,
"node_modules/@esbuild/netbsd-arm64" : {
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz" ,
"integrity" : "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==" ,
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-31 10:15:55 +02:00
"optional" : true ,
"os" : [
"netbsd"
] ,
"engines" : {
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/netbsd-x64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz" ,
"integrity" : "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"netbsd"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
}
} ,
"node_modules/@esbuild/openbsd-arm64" : {
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz" ,
"integrity" : "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==" ,
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-31 10:15:55 +02:00
"optional" : true ,
"os" : [
"openbsd"
] ,
"engines" : {
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/openbsd-x64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz" ,
"integrity" : "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"openbsd"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
}
} ,
"node_modules/@esbuild/openharmony-arm64" : {
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz" ,
"integrity" : "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==" ,
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-31 10:15:55 +02:00
"optional" : true ,
"os" : [
"openharmony"
] ,
"engines" : {
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/sunos-x64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz" ,
"integrity" : "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"sunos"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/win32-arm64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz" ,
"integrity" : "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"arm64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"win32"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/win32-ia32" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz" ,
"integrity" : "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"ia32"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"win32"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
"node_modules/@esbuild/win32-x64" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz" ,
"integrity" : "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==" ,
2026-03-25 00:10:03 +01:00
"cpu" : [
"x64"
] ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"optional" : true ,
"os" : [
"win32"
] ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/@exodus/bytes" : {
"version" : "1.15.0" ,
"resolved" : "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.0.tgz" ,
"integrity" : "sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==" ,
"dev" : true ,
"engines" : {
"node" : "^20.19.0 || ^22.12.0 || >=24.0.0"
} ,
"peerDependencies" : {
"@noble/hashes" : "^1.8.0 || ^2.0.0"
} ,
"peerDependenciesMeta" : {
"@noble/hashes" : {
"optional" : true
}
}
} ,
"node_modules/@isaacs/cliui" : {
"version" : "8.0.2" ,
"resolved" : "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" ,
"integrity" : "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==" ,
"dev" : true ,
"dependencies" : {
"string-width" : "^5.1.2" ,
"string-width-cjs" : "npm:string-width@^4.2.0" ,
"strip-ansi" : "^7.0.1" ,
"strip-ansi-cjs" : "npm:strip-ansi@^6.0.1" ,
"wrap-ansi" : "^8.1.0" ,
"wrap-ansi-cjs" : "npm:wrap-ansi@^7.0.0"
} ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/@istanbuljs/schema" : {
"version" : "0.1.3" ,
"resolved" : "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" ,
"integrity" : "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" ,
"dev" : true ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/@jridgewell/gen-mapping" : {
"version" : "0.3.13" ,
"resolved" : "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz" ,
"integrity" : "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==" ,
"dev" : true ,
"dependencies" : {
"@jridgewell/sourcemap-codec" : "^1.5.0" ,
"@jridgewell/trace-mapping" : "^0.3.24"
}
} ,
"node_modules/@jridgewell/resolve-uri" : {
"version" : "3.1.2" ,
"resolved" : "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" ,
"integrity" : "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" ,
"dev" : true ,
"engines" : {
"node" : ">=6.0.0"
}
} ,
2026-03-25 00:10:03 +01:00
"node_modules/@jridgewell/sourcemap-codec" : {
"version" : "1.5.5" ,
"resolved" : "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz" ,
"integrity" : "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/@jridgewell/trace-mapping" : {
"version" : "0.3.31" ,
"resolved" : "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz" ,
"integrity" : "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==" ,
"dev" : true ,
"dependencies" : {
"@jridgewell/resolve-uri" : "^3.1.0" ,
"@jridgewell/sourcemap-codec" : "^1.4.14"
}
} ,
"node_modules/@one-ini/wasm" : {
"version" : "0.1.1" ,
"resolved" : "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz" ,
"integrity" : "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==" ,
"dev" : true
} ,
"node_modules/@pkgjs/parseargs" : {
"version" : "0.11.0" ,
"resolved" : "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" ,
"integrity" : "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==" ,
"dev" : true ,
"optional" : true ,
"engines" : {
"node" : ">=14"
}
} ,
"node_modules/@playwright/test" : {
"version" : "1.58.2" ,
"resolved" : "https://registry.npmjs.org/@playwright/test/-/test-1.58.2.tgz" ,
"integrity" : "sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==" ,
"dev" : true ,
"dependencies" : {
"playwright" : "1.58.2"
} ,
"bin" : {
"playwright" : "cli.js"
} ,
"engines" : {
"node" : ">=18"
}
} ,
2026-03-25 00:10:03 +01:00
"node_modules/@rollup/rollup-android-arm-eabi" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.0.tgz" ,
"integrity" : "sha512-WOhNW9K8bR3kf4zLxbfg6Pxu2ybOUbB2AjMDHSQx86LIF4rH4Ft7vmMwNt0loO0eonglSNy4cpD3MKXXKQu0/A==" ,
"cpu" : [
"arm"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"android"
]
} ,
"node_modules/@rollup/rollup-android-arm64" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.0.tgz" ,
"integrity" : "sha512-u6JHLll5QKRvjciE78bQXDmqRqNs5M/3GVqZeMwvmjaNODJih/WIrJlFVEihvV0MiYFmd+ZyPr9wxOVbPAG2Iw==" ,
"cpu" : [
"arm64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"android"
]
} ,
"node_modules/@rollup/rollup-darwin-arm64" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.0.tgz" ,
"integrity" : "sha512-qEF7CsKKzSRc20Ciu2Zw1wRrBz4g56F7r/vRwY430UPp/nt1x21Q/fpJ9N5l47WWvJlkNCPJz3QRVw008fi7yA==" ,
"cpu" : [
"arm64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"darwin"
]
} ,
"node_modules/@rollup/rollup-darwin-x64" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.0.tgz" ,
"integrity" : "sha512-WADYozJ4QCnXCH4wPB+3FuGmDPoFseVCUrANmA5LWwGmC6FL14BWC7pcq+FstOZv3baGX65tZ378uT6WG8ynTw==" ,
"cpu" : [
"x64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"darwin"
]
} ,
"node_modules/@rollup/rollup-freebsd-arm64" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.0.tgz" ,
"integrity" : "sha512-6b8wGHJlDrGeSE3aH5mGNHBjA0TTkxdoNHik5EkvPHCt351XnigA4pS7Wsj/Eo9Y8RBU6f35cjN9SYmCFBtzxw==" ,
"cpu" : [
"arm64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"freebsd"
]
} ,
"node_modules/@rollup/rollup-freebsd-x64" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.0.tgz" ,
"integrity" : "sha512-h25Ga0t4jaylMB8M/JKAyrvvfxGRjnPQIR8lnCayyzEjEOx2EJIlIiMbhpWxDRKGKF8jbNH01NnN663dH638mA==" ,
"cpu" : [
"x64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"freebsd"
]
} ,
"node_modules/@rollup/rollup-linux-arm-gnueabihf" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.0.tgz" ,
"integrity" : "sha512-RzeBwv0B3qtVBWtcuABtSuCzToo2IEAIQrcyB/b2zMvBWVbjo8bZDjACUpnaafaxhTw2W+imQbP2BD1usasK4g==" ,
"cpu" : [
"arm"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-arm-musleabihf" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.0.tgz" ,
"integrity" : "sha512-Sf7zusNI2CIU1HLzuu9Tc5YGAHEZs5Lu7N1ssJG4Tkw6e0MEsN7NdjUDDfGNHy2IU+ENyWT+L2obgWiguWibWQ==" ,
"cpu" : [
"arm"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-arm64-gnu" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.0.tgz" ,
"integrity" : "sha512-DX2x7CMcrJzsE91q7/O02IJQ5/aLkVtYFryqCjduJhUfGKG6yJV8hxaw8pZa93lLEpPTP/ohdN4wFz7yp/ry9A==" ,
"cpu" : [
"arm64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-arm64-musl" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.0.tgz" ,
"integrity" : "sha512-09EL+yFVbJZlhcQfShpswwRZ0Rg+z/CsSELFCnPt3iK+iqwGsI4zht3secj5vLEs957QvFFXnzAT0FFPIxSrkQ==" ,
"cpu" : [
"arm64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-loong64-gnu" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.0.tgz" ,
"integrity" : "sha512-i9IcCMPr3EXm8EQg5jnja0Zyc1iFxJjZWlb4wr7U2Wx/GrddOuEafxRdMPRYVaXjgbhvqalp6np07hN1w9kAKw==" ,
"cpu" : [
"loong64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-loong64-musl" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.0.tgz" ,
"integrity" : "sha512-DGzdJK9kyJ+B78MCkWeGnpXJ91tK/iKA6HwHxF4TAlPIY7GXEvMe8hBFRgdrR9Ly4qebR/7gfUs9y2IoaVEyog==" ,
"cpu" : [
"loong64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-ppc64-gnu" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.0.tgz" ,
"integrity" : "sha512-RwpnLsqC8qbS8z1H1AxBA1H6qknR4YpPR9w2XX0vo2Sz10miu57PkNcnHVaZkbqyw/kUWfKMI73jhmfi9BRMUQ==" ,
"cpu" : [
"ppc64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-ppc64-musl" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.0.tgz" ,
"integrity" : "sha512-Z8pPf54Ly3aqtdWC3G4rFigZgNvd+qJlOE52fmko3KST9SoGfAdSRCwyoyG05q1HrrAblLbk1/PSIV+80/pxLg==" ,
"cpu" : [
"ppc64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-riscv64-gnu" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.0.tgz" ,
"integrity" : "sha512-3a3qQustp3COCGvnP4SvrMHnPQ9d1vzCakQVRTliaz8cIp/wULGjiGpbcqrkv0WrHTEp8bQD/B3HBjzujVWLOA==" ,
"cpu" : [
"riscv64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-riscv64-musl" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.0.tgz" ,
"integrity" : "sha512-pjZDsVH/1VsghMJ2/kAaxt6dL0psT6ZexQVrijczOf+PeP2BUqTHYejk3l6TlPRydggINOeNRhvpLa0AYpCWSQ==" ,
"cpu" : [
"riscv64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-s390x-gnu" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.0.tgz" ,
"integrity" : "sha512-3ObQs0BhvPgiUVZrN7gqCSvmFuMWvWvsjG5ayJ3Lraqv+2KhOsp+pUbigqbeWqueGIsnn+09HBw27rJ+gYK4VQ==" ,
"cpu" : [
"s390x"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-x64-gnu" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.0.tgz" ,
"integrity" : "sha512-EtylprDtQPdS5rXvAayrNDYoJhIz1/vzN2fEubo3yLE7tfAw+948dO0g4M0vkTVFhKojnF+n6C8bDNe+gDRdTg==" ,
"cpu" : [
"x64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-linux-x64-musl" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.0.tgz" ,
"integrity" : "sha512-k09oiRCi/bHU9UVFqD17r3eJR9bn03TyKraCrlz5ULFJGdJGi7VOmm9jl44vOJvRJ6P7WuBi/s2A97LxxHGIdw==" ,
"cpu" : [
"x64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"linux"
]
} ,
"node_modules/@rollup/rollup-openbsd-x64" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.0.tgz" ,
"integrity" : "sha512-1o/0/pIhozoSaDJoDcec+IVLbnRtQmHwPV730+AOD29lHEEo4F5BEUB24H0OBdhbBBDwIOSuf7vgg0Ywxdfiiw==" ,
"cpu" : [
"x64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"openbsd"
]
} ,
"node_modules/@rollup/rollup-openharmony-arm64" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.0.tgz" ,
"integrity" : "sha512-pESDkos/PDzYwtyzB5p/UoNU/8fJo68vcXM9ZW2V0kjYayj1KaaUfi1NmTUTUpMn4UhU4gTuK8gIaFO4UGuMbA==" ,
"cpu" : [
"arm64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"openharmony"
]
} ,
"node_modules/@rollup/rollup-win32-arm64-msvc" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.0.tgz" ,
"integrity" : "sha512-hj1wFStD7B1YBeYmvY+lWXZ7ey73YGPcViMShYikqKT1GtstIKQAtfUI6yrzPjAy/O7pO0VLXGmUVWXQMaYgTQ==" ,
"cpu" : [
"arm64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"win32"
]
} ,
"node_modules/@rollup/rollup-win32-ia32-msvc" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.0.tgz" ,
"integrity" : "sha512-SyaIPFoxmUPlNDq5EHkTbiKzmSEmq/gOYFI/3HHJ8iS/v1mbugVa7dXUzcJGQfoytp9DJFLhHH4U3/eTy2Bq4w==" ,
"cpu" : [
"ia32"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"win32"
]
} ,
"node_modules/@rollup/rollup-win32-x64-gnu" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.0.tgz" ,
"integrity" : "sha512-RdcryEfzZr+lAr5kRm2ucN9aVlCCa2QNq4hXelZxb8GG0NJSazq44Z3PCCc8wISRuCVnGs0lQJVX5Vp6fKA+IA==" ,
"cpu" : [
"x64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"win32"
]
} ,
"node_modules/@rollup/rollup-win32-x64-msvc" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.0.tgz" ,
"integrity" : "sha512-PrsWNQ8BuE00O3Xsx3ALh2Df8fAj9+cvvX9AIA6o4KpATR98c9mud4XtDWVvsEuyia5U4tVSTKygawyJkjm60w==" ,
"cpu" : [
"x64"
] ,
"dev" : true ,
"optional" : true ,
"os" : [
"win32"
]
} ,
2026-03-31 10:15:55 +02:00
"node_modules/@types/chai" : {
"version" : "5.2.3" ,
"resolved" : "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz" ,
"integrity" : "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-31 10:15:55 +02:00
"dependencies" : {
"@types/deep-eql" : "*" ,
"assertion-error" : "^2.0.1"
}
} ,
"node_modules/@types/deep-eql" : {
"version" : "4.0.2" ,
"resolved" : "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz" ,
"integrity" : "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==" ,
2026-03-31 10:20:03 +02:00
"dev" : true ,
"license" : "MIT"
2026-03-31 10:15:55 +02:00
} ,
2026-03-25 00:10:03 +01:00
"node_modules/@types/estree" : {
"version" : "1.0.8" ,
"resolved" : "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz" ,
"integrity" : "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==" ,
"dev" : true
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/@types/node" : {
"version" : "25.5.0" ,
"resolved" : "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz" ,
"integrity" : "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==" ,
"dev" : true ,
"dependencies" : {
"undici-types" : "~7.18.0"
}
} ,
"node_modules/@types/whatwg-mimetype" : {
"version" : "3.0.2" ,
"resolved" : "https://registry.npmjs.org/@types/whatwg-mimetype/-/whatwg-mimetype-3.0.2.tgz" ,
"integrity" : "sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==" ,
"dev" : true
} ,
"node_modules/@types/ws" : {
"version" : "8.18.1" ,
"resolved" : "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz" ,
"integrity" : "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==" ,
"dev" : true ,
"dependencies" : {
"@types/node" : "*"
}
} ,
2026-03-25 00:10:03 +01:00
"node_modules/@vitejs/plugin-vue" : {
"version" : "5.2.4" ,
"resolved" : "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz" ,
"integrity" : "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==" ,
"dev" : true ,
"engines" : {
"node" : "^18.0.0 || >=20.0.0"
} ,
"peerDependencies" : {
"vite" : "^5.0.0 || ^6.0.0" ,
"vue" : "^3.2.25"
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/@vitest/coverage-v8" : {
2026-03-31 10:15:55 +02:00
"version" : "3.2.4" ,
"resolved" : "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.2.4.tgz" ,
"integrity" : "sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dependencies" : {
"@ampproject/remapping" : "^2.3.0" ,
2026-03-31 10:15:55 +02:00
"@bcoe/v8-coverage" : "^1.0.2" ,
"ast-v8-to-istanbul" : "^0.3.3" ,
"debug" : "^4.4.1" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"istanbul-lib-coverage" : "^3.2.2" ,
"istanbul-lib-report" : "^3.0.1" ,
"istanbul-lib-source-maps" : "^5.0.6" ,
"istanbul-reports" : "^3.1.7" ,
2026-03-31 10:15:55 +02:00
"magic-string" : "^0.30.17" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"magicast" : "^0.3.5" ,
2026-03-31 10:15:55 +02:00
"std-env" : "^3.9.0" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"test-exclude" : "^7.0.1" ,
2026-03-31 10:15:55 +02:00
"tinyrainbow" : "^2.0.0"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"funding" : {
"url" : "https://opencollective.com/vitest"
} ,
"peerDependencies" : {
2026-03-31 10:15:55 +02:00
"@vitest/browser" : "3.2.4" ,
"vitest" : "3.2.4"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"peerDependenciesMeta" : {
"@vitest/browser" : {
"optional" : true
}
}
} ,
"node_modules/@vitest/expect" : {
2026-03-31 10:15:55 +02:00
"version" : "3.2.4" ,
"resolved" : "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz" ,
"integrity" : "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dependencies" : {
2026-03-31 10:15:55 +02:00
"@types/chai" : "^5.2.2" ,
"@vitest/spy" : "3.2.4" ,
"@vitest/utils" : "3.2.4" ,
"chai" : "^5.2.0" ,
"tinyrainbow" : "^2.0.0"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"funding" : {
"url" : "https://opencollective.com/vitest"
}
} ,
"node_modules/@vitest/mocker" : {
2026-03-31 10:15:55 +02:00
"version" : "3.2.4" ,
"resolved" : "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz" ,
"integrity" : "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dependencies" : {
2026-03-31 10:15:55 +02:00
"@vitest/spy" : "3.2.4" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"estree-walker" : "^3.0.3" ,
2026-03-31 10:15:55 +02:00
"magic-string" : "^0.30.17"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"funding" : {
"url" : "https://opencollective.com/vitest"
} ,
"peerDependencies" : {
"msw" : "^2.4.9" ,
2026-03-31 10:15:55 +02:00
"vite" : "^5.0.0 || ^6.0.0 || ^7.0.0-0"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"peerDependenciesMeta" : {
"msw" : {
"optional" : true
} ,
"vite" : {
"optional" : true
}
}
} ,
"node_modules/@vitest/mocker/node_modules/estree-walker" : {
"version" : "3.0.3" ,
"resolved" : "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz" ,
"integrity" : "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dependencies" : {
"@types/estree" : "^1.0.0"
}
} ,
"node_modules/@vitest/pretty-format" : {
2026-03-31 10:15:55 +02:00
"version" : "3.2.4" ,
"resolved" : "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz" ,
"integrity" : "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dependencies" : {
2026-03-31 10:15:55 +02:00
"tinyrainbow" : "^2.0.0"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"funding" : {
"url" : "https://opencollective.com/vitest"
}
} ,
"node_modules/@vitest/runner" : {
2026-03-31 10:15:55 +02:00
"version" : "3.2.4" ,
"resolved" : "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz" ,
"integrity" : "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dependencies" : {
2026-03-31 10:15:55 +02:00
"@vitest/utils" : "3.2.4" ,
"pathe" : "^2.0.3" ,
"strip-literal" : "^3.0.0"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"funding" : {
"url" : "https://opencollective.com/vitest"
}
} ,
"node_modules/@vitest/snapshot" : {
2026-03-31 10:15:55 +02:00
"version" : "3.2.4" ,
"resolved" : "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz" ,
"integrity" : "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dependencies" : {
2026-03-31 10:15:55 +02:00
"@vitest/pretty-format" : "3.2.4" ,
"magic-string" : "^0.30.17" ,
"pathe" : "^2.0.3"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"funding" : {
"url" : "https://opencollective.com/vitest"
}
} ,
"node_modules/@vitest/spy" : {
2026-03-31 10:15:55 +02:00
"version" : "3.2.4" ,
"resolved" : "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz" ,
"integrity" : "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dependencies" : {
2026-03-31 10:15:55 +02:00
"tinyspy" : "^4.0.3"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"funding" : {
"url" : "https://opencollective.com/vitest"
}
} ,
"node_modules/@vitest/utils" : {
2026-03-31 10:15:55 +02:00
"version" : "3.2.4" ,
"resolved" : "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz" ,
"integrity" : "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dependencies" : {
2026-03-31 10:15:55 +02:00
"@vitest/pretty-format" : "3.2.4" ,
"loupe" : "^3.1.4" ,
"tinyrainbow" : "^2.0.0"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"funding" : {
"url" : "https://opencollective.com/vitest"
}
} ,
2026-03-25 00:10:03 +01:00
"node_modules/@vue/compiler-core" : {
"version" : "3.5.30" ,
"resolved" : "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.30.tgz" ,
"integrity" : "sha512-s3DfdZkcu/qExZ+td75015ljzHc6vE+30cFMGRPROYjqkroYI5NV2X1yAMX9UeyBNWB9MxCfPcsjpLS11nzkkw==" ,
"dependencies" : {
"@babel/parser" : "^7.29.0" ,
"@vue/shared" : "3.5.30" ,
"entities" : "^7.0.1" ,
"estree-walker" : "^2.0.2" ,
"source-map-js" : "^1.2.1"
}
} ,
"node_modules/@vue/compiler-dom" : {
"version" : "3.5.30" ,
"resolved" : "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.30.tgz" ,
"integrity" : "sha512-eCFYESUEVYHhiMuK4SQTldO3RYxyMR/UQL4KdGD1Yrkfdx4m/HYuZ9jSfPdA+nWJY34VWndiYdW/wZXyiPEB9g==" ,
"dependencies" : {
"@vue/compiler-core" : "3.5.30" ,
"@vue/shared" : "3.5.30"
}
} ,
"node_modules/@vue/compiler-sfc" : {
"version" : "3.5.30" ,
"resolved" : "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.30.tgz" ,
"integrity" : "sha512-LqmFPDn89dtU9vI3wHJnwaV6GfTRD87AjWpTWpyrdVOObVtjIuSeZr181z5C4PmVx/V3j2p+0f7edFKGRMpQ5A==" ,
"dependencies" : {
"@babel/parser" : "^7.29.0" ,
"@vue/compiler-core" : "3.5.30" ,
"@vue/compiler-dom" : "3.5.30" ,
"@vue/compiler-ssr" : "3.5.30" ,
"@vue/shared" : "3.5.30" ,
"estree-walker" : "^2.0.2" ,
"magic-string" : "^0.30.21" ,
"postcss" : "^8.5.8" ,
"source-map-js" : "^1.2.1"
}
} ,
"node_modules/@vue/compiler-ssr" : {
"version" : "3.5.30" ,
"resolved" : "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.30.tgz" ,
"integrity" : "sha512-NsYK6OMTnx109PSL2IAyf62JP6EUdk4Dmj6AkWcJGBvN0dQoMYtVekAmdqgTtWQgEJo+Okstbf/1p7qZr5H+bA==" ,
"dependencies" : {
"@vue/compiler-dom" : "3.5.30" ,
"@vue/shared" : "3.5.30"
}
} ,
"node_modules/@vue/reactivity" : {
"version" : "3.5.30" ,
"resolved" : "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.30.tgz" ,
"integrity" : "sha512-179YNgKATuwj9gB+66snskRDOitDiuOZqkYia7mHKJaidOMo/WJxHKF8DuGc4V4XbYTJANlfEKb0yxTQotnx4Q==" ,
"dependencies" : {
"@vue/shared" : "3.5.30"
}
} ,
"node_modules/@vue/runtime-core" : {
"version" : "3.5.30" ,
"resolved" : "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.30.tgz" ,
"integrity" : "sha512-e0Z+8PQsUTdwV8TtEsLzUM7SzC7lQwYKePydb7K2ZnmS6jjND+WJXkmmfh/swYzRyfP1EY3fpdesyYoymCzYfg==" ,
"dependencies" : {
"@vue/reactivity" : "3.5.30" ,
"@vue/shared" : "3.5.30"
}
} ,
"node_modules/@vue/runtime-dom" : {
"version" : "3.5.30" ,
"resolved" : "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.30.tgz" ,
"integrity" : "sha512-2UIGakjU4WSQ0T4iwDEW0W7vQj6n7AFn7taqZ9Cvm0Q/RA2FFOziLESrDL4GmtI1wV3jXg5nMoJSYO66egDUBw==" ,
"dependencies" : {
"@vue/reactivity" : "3.5.30" ,
"@vue/runtime-core" : "3.5.30" ,
"@vue/shared" : "3.5.30" ,
"csstype" : "^3.2.3"
}
} ,
"node_modules/@vue/server-renderer" : {
"version" : "3.5.30" ,
"resolved" : "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.30.tgz" ,
"integrity" : "sha512-v+R34icapydRwbZRD0sXwtHqrQJv38JuMB4JxbOxd8NEpGLny7cncMp53W9UH/zo4j8eDHjQ1dEJXwzFQknjtQ==" ,
"dependencies" : {
"@vue/compiler-ssr" : "3.5.30" ,
"@vue/shared" : "3.5.30"
} ,
"peerDependencies" : {
"vue" : "3.5.30"
}
} ,
"node_modules/@vue/shared" : {
"version" : "3.5.30" ,
"resolved" : "https://registry.npmjs.org/@vue/shared/-/shared-3.5.30.tgz" ,
"integrity" : "sha512-YXgQ7JjaO18NeK2K9VTbDHaFy62WrObMa6XERNfNOkAhD1F1oDSf3ZJ7K6GqabZ0BvSDHajp8qfS5Sa2I9n8uQ=="
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/@vue/test-utils" : {
"version" : "2.4.6" ,
"resolved" : "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.6.tgz" ,
"integrity" : "sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==" ,
"dev" : true ,
"dependencies" : {
"js-beautify" : "^1.14.9" ,
"vue-component-type-helpers" : "^2.0.0"
}
2026-03-25 00:10:03 +01:00
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/abbrev" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz" ,
"integrity" : "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==" ,
"dev" : true ,
2026-03-25 00:10:03 +01:00
"engines" : {
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node" : "^14.17.0 || ^16.13.0 || >=18.0.0"
2026-03-25 00:10:03 +01:00
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/ansi-regex" : {
"version" : "6.2.2" ,
"resolved" : "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz" ,
"integrity" : "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==" ,
"dev" : true ,
"engines" : {
"node" : ">=12"
} ,
"funding" : {
"url" : "https://github.com/chalk/ansi-regex?sponsor=1"
}
} ,
"node_modules/ansi-styles" : {
"version" : "6.2.3" ,
"resolved" : "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz" ,
"integrity" : "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==" ,
"dev" : true ,
"engines" : {
"node" : ">=12"
} ,
"funding" : {
"url" : "https://github.com/chalk/ansi-styles?sponsor=1"
}
} ,
"node_modules/assertion-error" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz" ,
"integrity" : "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"engines" : {
"node" : ">=12"
}
} ,
2026-03-31 10:15:55 +02:00
"node_modules/ast-v8-to-istanbul" : {
"version" : "0.3.12" ,
"resolved" : "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.12.tgz" ,
"integrity" : "sha512-BRRC8VRZY2R4Z4lFIL35MwNXmwVqBityvOIwETtsCSwvjl0IdgFsy9NhdaA6j74nUdtJJlIypeRhpDam19Wq3g==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-31 10:15:55 +02:00
"dependencies" : {
"@jridgewell/trace-mapping" : "^0.3.31" ,
"estree-walker" : "^3.0.3" ,
"js-tokens" : "^10.0.0"
}
} ,
"node_modules/ast-v8-to-istanbul/node_modules/estree-walker" : {
"version" : "3.0.3" ,
"resolved" : "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz" ,
"integrity" : "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-31 10:15:55 +02:00
"dependencies" : {
"@types/estree" : "^1.0.0"
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/balanced-match" : {
"version" : "1.0.2" ,
"resolved" : "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" ,
"integrity" : "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" ,
"dev" : true
} ,
"node_modules/bidi-js" : {
"version" : "1.0.3" ,
"resolved" : "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz" ,
"integrity" : "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==" ,
"dev" : true ,
"dependencies" : {
"require-from-string" : "^2.0.2"
}
} ,
"node_modules/brace-expansion" : {
"version" : "2.0.3" ,
"resolved" : "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz" ,
"integrity" : "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==" ,
"dev" : true ,
"dependencies" : {
"balanced-match" : "^1.0.0"
}
} ,
"node_modules/cac" : {
"version" : "6.7.14" ,
"resolved" : "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz" ,
"integrity" : "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"engines" : {
"node" : ">=8"
}
} ,
2026-03-30 23:13:21 +02:00
"node_modules/camelcase" : {
"version" : "5.3.1" ,
"resolved" : "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" ,
"integrity" : "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" ,
"license" : "MIT" ,
"engines" : {
"node" : ">=6"
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/chai" : {
"version" : "5.3.3" ,
"resolved" : "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz" ,
"integrity" : "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dependencies" : {
"assertion-error" : "^2.0.1" ,
"check-error" : "^2.1.1" ,
"deep-eql" : "^5.0.1" ,
"loupe" : "^3.1.0" ,
"pathval" : "^2.0.0"
} ,
"engines" : {
"node" : ">=18"
}
} ,
"node_modules/check-error" : {
"version" : "2.1.3" ,
"resolved" : "https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz" ,
"integrity" : "sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"engines" : {
"node" : ">= 16"
}
} ,
2026-03-30 23:13:21 +02:00
"node_modules/cliui" : {
"version" : "6.0.0" ,
"resolved" : "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" ,
"integrity" : "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==" ,
"license" : "ISC" ,
"dependencies" : {
"string-width" : "^4.2.0" ,
"strip-ansi" : "^6.0.0" ,
"wrap-ansi" : "^6.2.0"
}
} ,
"node_modules/cliui/node_modules/ansi-regex" : {
"version" : "5.0.1" ,
"resolved" : "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" ,
"integrity" : "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" ,
"license" : "MIT" ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/cliui/node_modules/ansi-styles" : {
"version" : "4.3.0" ,
"resolved" : "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" ,
"integrity" : "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" ,
"license" : "MIT" ,
"dependencies" : {
"color-convert" : "^2.0.1"
} ,
"engines" : {
"node" : ">=8"
} ,
"funding" : {
"url" : "https://github.com/chalk/ansi-styles?sponsor=1"
}
} ,
"node_modules/cliui/node_modules/emoji-regex" : {
"version" : "8.0.0" ,
"resolved" : "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" ,
"integrity" : "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" ,
"license" : "MIT"
} ,
"node_modules/cliui/node_modules/string-width" : {
"version" : "4.2.3" ,
"resolved" : "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" ,
"integrity" : "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" ,
"license" : "MIT" ,
"dependencies" : {
"emoji-regex" : "^8.0.0" ,
"is-fullwidth-code-point" : "^3.0.0" ,
"strip-ansi" : "^6.0.1"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/cliui/node_modules/strip-ansi" : {
"version" : "6.0.1" ,
"resolved" : "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" ,
"integrity" : "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" ,
"license" : "MIT" ,
"dependencies" : {
"ansi-regex" : "^5.0.1"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/cliui/node_modules/wrap-ansi" : {
"version" : "6.2.0" ,
"resolved" : "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" ,
"integrity" : "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==" ,
"license" : "MIT" ,
"dependencies" : {
"ansi-styles" : "^4.0.0" ,
"string-width" : "^4.1.0" ,
"strip-ansi" : "^6.0.0"
} ,
"engines" : {
"node" : ">=8"
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/color-convert" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" ,
"integrity" : "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" ,
"dependencies" : {
"color-name" : "~1.1.4"
} ,
"engines" : {
"node" : ">=7.0.0"
}
} ,
"node_modules/color-name" : {
"version" : "1.1.4" ,
"resolved" : "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" ,
2026-03-30 23:13:21 +02:00
"integrity" : "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"node_modules/commander" : {
"version" : "10.0.1" ,
"resolved" : "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz" ,
"integrity" : "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==" ,
"dev" : true ,
"engines" : {
"node" : ">=14"
}
} ,
"node_modules/config-chain" : {
"version" : "1.1.13" ,
"resolved" : "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz" ,
"integrity" : "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==" ,
"dev" : true ,
"dependencies" : {
"ini" : "^1.3.4" ,
"proto-list" : "~1.2.1"
}
} ,
"node_modules/cross-spawn" : {
"version" : "7.0.6" ,
"resolved" : "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" ,
"integrity" : "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==" ,
"dev" : true ,
"dependencies" : {
"path-key" : "^3.1.0" ,
"shebang-command" : "^2.0.0" ,
"which" : "^2.0.1"
} ,
"engines" : {
"node" : ">= 8"
}
} ,
"node_modules/css-tree" : {
"version" : "3.2.1" ,
"resolved" : "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz" ,
"integrity" : "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==" ,
"dev" : true ,
"dependencies" : {
"mdn-data" : "2.27.1" ,
"source-map-js" : "^1.2.1"
} ,
"engines" : {
"node" : "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
}
} ,
"node_modules/csstype" : {
"version" : "3.2.3" ,
"resolved" : "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz" ,
"integrity" : "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="
} ,
"node_modules/data-urls" : {
"version" : "7.0.0" ,
"resolved" : "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz" ,
"integrity" : "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==" ,
"dev" : true ,
"dependencies" : {
"whatwg-mimetype" : "^5.0.0" ,
"whatwg-url" : "^16.0.0"
} ,
"engines" : {
"node" : "^20.19.0 || ^22.12.0 || >=24.0.0"
}
} ,
"node_modules/debug" : {
"version" : "4.4.3" ,
"resolved" : "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz" ,
"integrity" : "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==" ,
"dev" : true ,
"dependencies" : {
"ms" : "^2.1.3"
} ,
"engines" : {
"node" : ">=6.0"
} ,
"peerDependenciesMeta" : {
"supports-color" : {
"optional" : true
}
}
} ,
2026-03-30 23:13:21 +02:00
"node_modules/decamelize" : {
"version" : "1.2.0" ,
"resolved" : "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" ,
"integrity" : "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" ,
"license" : "MIT" ,
"engines" : {
"node" : ">=0.10.0"
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/decimal.js" : {
"version" : "10.6.0" ,
"resolved" : "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz" ,
"integrity" : "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==" ,
"dev" : true
} ,
"node_modules/deep-eql" : {
"version" : "5.0.2" ,
"resolved" : "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz" ,
"integrity" : "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"engines" : {
"node" : ">=6"
}
} ,
2026-03-30 23:13:21 +02:00
"node_modules/dijkstrajs" : {
"version" : "1.0.3" ,
"resolved" : "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz" ,
"integrity" : "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==" ,
"license" : "MIT"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"node_modules/eastasianwidth" : {
"version" : "0.2.0" ,
"resolved" : "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" ,
"integrity" : "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" ,
"dev" : true
} ,
"node_modules/editorconfig" : {
"version" : "1.0.7" ,
"resolved" : "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.7.tgz" ,
"integrity" : "sha512-e0GOtq/aTQhVdNyDU9e02+wz9oDDM+SIOQxWME2QRjzRX5yyLAuHDE+0aE8vHb9XRC8XD37eO2u57+F09JqFhw==" ,
"dev" : true ,
"dependencies" : {
"@one-ini/wasm" : "0.1.1" ,
"commander" : "^10.0.0" ,
"minimatch" : "^9.0.1" ,
"semver" : "^7.5.3"
} ,
"bin" : {
"editorconfig" : "bin/editorconfig"
} ,
"engines" : {
"node" : ">=14"
}
} ,
"node_modules/emoji-regex" : {
"version" : "9.2.2" ,
"resolved" : "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" ,
"integrity" : "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" ,
"dev" : true
} ,
"node_modules/entities" : {
"version" : "7.0.1" ,
"resolved" : "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz" ,
"integrity" : "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==" ,
"engines" : {
"node" : ">=0.12"
} ,
"funding" : {
"url" : "https://github.com/fb55/entities?sponsor=1"
}
} ,
"node_modules/es-module-lexer" : {
"version" : "1.7.0" ,
"resolved" : "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz" ,
"integrity" : "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==" ,
2026-03-31 10:20:03 +02:00
"dev" : true ,
"license" : "MIT"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
2026-03-25 00:10:03 +01:00
"node_modules/esbuild" : {
2026-03-31 10:15:55 +02:00
"version" : "0.25.12" ,
"resolved" : "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz" ,
"integrity" : "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==" ,
2026-03-25 00:10:03 +01:00
"dev" : true ,
"hasInstallScript" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"bin" : {
"esbuild" : "bin/esbuild"
} ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : ">=18"
2026-03-25 00:10:03 +01:00
} ,
"optionalDependencies" : {
2026-03-31 10:15:55 +02:00
"@esbuild/aix-ppc64" : "0.25.12" ,
"@esbuild/android-arm" : "0.25.12" ,
"@esbuild/android-arm64" : "0.25.12" ,
"@esbuild/android-x64" : "0.25.12" ,
"@esbuild/darwin-arm64" : "0.25.12" ,
"@esbuild/darwin-x64" : "0.25.12" ,
"@esbuild/freebsd-arm64" : "0.25.12" ,
"@esbuild/freebsd-x64" : "0.25.12" ,
"@esbuild/linux-arm" : "0.25.12" ,
"@esbuild/linux-arm64" : "0.25.12" ,
"@esbuild/linux-ia32" : "0.25.12" ,
"@esbuild/linux-loong64" : "0.25.12" ,
"@esbuild/linux-mips64el" : "0.25.12" ,
"@esbuild/linux-ppc64" : "0.25.12" ,
"@esbuild/linux-riscv64" : "0.25.12" ,
"@esbuild/linux-s390x" : "0.25.12" ,
"@esbuild/linux-x64" : "0.25.12" ,
"@esbuild/netbsd-arm64" : "0.25.12" ,
"@esbuild/netbsd-x64" : "0.25.12" ,
"@esbuild/openbsd-arm64" : "0.25.12" ,
"@esbuild/openbsd-x64" : "0.25.12" ,
"@esbuild/openharmony-arm64" : "0.25.12" ,
"@esbuild/sunos-x64" : "0.25.12" ,
"@esbuild/win32-arm64" : "0.25.12" ,
"@esbuild/win32-ia32" : "0.25.12" ,
"@esbuild/win32-x64" : "0.25.12"
2026-03-25 00:10:03 +01:00
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/estree-walker" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" ,
"integrity" : "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
} ,
"node_modules/expect-type" : {
"version" : "1.3.0" ,
"resolved" : "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz" ,
"integrity" : "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "Apache-2.0" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"engines" : {
"node" : ">=12.0.0"
}
} ,
2026-03-31 10:15:55 +02:00
"node_modules/fdir" : {
"version" : "6.5.0" ,
"resolved" : "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz" ,
"integrity" : "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"engines" : {
"node" : ">=12.0.0"
2026-03-31 10:15:55 +02:00
} ,
"peerDependencies" : {
"picomatch" : "^3 || ^4"
} ,
"peerDependenciesMeta" : {
"picomatch" : {
"optional" : true
}
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
}
} ,
2026-03-30 23:13:21 +02:00
"node_modules/find-up" : {
"version" : "4.1.0" ,
"resolved" : "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" ,
"integrity" : "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" ,
"license" : "MIT" ,
"dependencies" : {
"locate-path" : "^5.0.0" ,
"path-exists" : "^4.0.0"
} ,
"engines" : {
"node" : ">=8"
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/foreground-child" : {
"version" : "3.3.1" ,
"resolved" : "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz" ,
"integrity" : "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==" ,
"dev" : true ,
"dependencies" : {
"cross-spawn" : "^7.0.6" ,
"signal-exit" : "^4.0.1"
} ,
"engines" : {
"node" : ">=14"
} ,
"funding" : {
"url" : "https://github.com/sponsors/isaacs"
}
} ,
"node_modules/fsevents" : {
"version" : "2.3.3" ,
"resolved" : "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" ,
"integrity" : "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==" ,
"dev" : true ,
"hasInstallScript" : true ,
"optional" : true ,
"os" : [
"darwin"
] ,
"engines" : {
"node" : "^8.16.0 || ^10.6.0 || >=11.0.0"
}
} ,
2026-03-30 23:13:21 +02:00
"node_modules/get-caller-file" : {
"version" : "2.0.5" ,
"resolved" : "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" ,
"integrity" : "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" ,
"license" : "ISC" ,
"engines" : {
"node" : "6.* || 8.* || >= 10.*"
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/glob" : {
"version" : "10.5.0" ,
"resolved" : "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz" ,
"integrity" : "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==" ,
"deprecated" : "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me" ,
"dev" : true ,
"dependencies" : {
"foreground-child" : "^3.1.0" ,
"jackspeak" : "^3.1.2" ,
"minimatch" : "^9.0.4" ,
"minipass" : "^7.1.2" ,
"package-json-from-dist" : "^1.0.0" ,
"path-scurry" : "^1.11.1"
} ,
"bin" : {
"glob" : "dist/esm/bin.mjs"
} ,
"funding" : {
"url" : "https://github.com/sponsors/isaacs"
}
} ,
"node_modules/happy-dom" : {
"version" : "20.8.9" ,
"resolved" : "https://registry.npmjs.org/happy-dom/-/happy-dom-20.8.9.tgz" ,
"integrity" : "sha512-Tz23LR9T9jOGVZm2x1EPdXqwA37G/owYMxRwU0E4miurAtFsPMQ1d2Jc2okUaSjZqAFz2oEn3FLXC5a0a+siyA==" ,
"dev" : true ,
"dependencies" : {
"@types/node" : ">=20.0.0" ,
"@types/whatwg-mimetype" : "^3.0.2" ,
"@types/ws" : "^8.18.1" ,
"entities" : "^7.0.1" ,
"whatwg-mimetype" : "^3.0.0" ,
"ws" : "^8.18.3"
} ,
"engines" : {
"node" : ">=20.0.0"
}
} ,
"node_modules/happy-dom/node_modules/whatwg-mimetype" : {
"version" : "3.0.0" ,
"resolved" : "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz" ,
"integrity" : "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==" ,
"dev" : true ,
"engines" : {
"node" : ">=12"
}
} ,
"node_modules/has-flag" : {
"version" : "4.0.0" ,
"resolved" : "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" ,
"integrity" : "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" ,
"dev" : true ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/html-encoding-sniffer" : {
"version" : "6.0.0" ,
"resolved" : "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz" ,
"integrity" : "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==" ,
"dev" : true ,
"dependencies" : {
"@exodus/bytes" : "^1.6.0"
} ,
"engines" : {
"node" : "^20.19.0 || ^22.12.0 || >=24.0.0"
}
} ,
"node_modules/html-escaper" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" ,
"integrity" : "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" ,
"dev" : true
} ,
"node_modules/ini" : {
"version" : "1.3.8" ,
"resolved" : "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" ,
"integrity" : "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" ,
"dev" : true
} ,
"node_modules/is-fullwidth-code-point" : {
"version" : "3.0.0" ,
"resolved" : "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" ,
"integrity" : "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/is-potential-custom-element-name" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" ,
"integrity" : "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" ,
"dev" : true
} ,
"node_modules/isexe" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" ,
"integrity" : "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" ,
"dev" : true
} ,
"node_modules/istanbul-lib-coverage" : {
"version" : "3.2.2" ,
"resolved" : "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz" ,
"integrity" : "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==" ,
"dev" : true ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/istanbul-lib-report" : {
"version" : "3.0.1" ,
"resolved" : "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" ,
"integrity" : "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==" ,
"dev" : true ,
"dependencies" : {
"istanbul-lib-coverage" : "^3.0.0" ,
"make-dir" : "^4.0.0" ,
"supports-color" : "^7.1.0"
} ,
"engines" : {
"node" : ">=10"
}
} ,
"node_modules/istanbul-lib-source-maps" : {
"version" : "5.0.6" ,
"resolved" : "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz" ,
"integrity" : "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==" ,
"dev" : true ,
"dependencies" : {
"@jridgewell/trace-mapping" : "^0.3.23" ,
"debug" : "^4.1.1" ,
"istanbul-lib-coverage" : "^3.0.0"
} ,
"engines" : {
"node" : ">=10"
}
} ,
"node_modules/istanbul-reports" : {
"version" : "3.2.0" ,
"resolved" : "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz" ,
"integrity" : "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==" ,
"dev" : true ,
"dependencies" : {
"html-escaper" : "^2.0.0" ,
"istanbul-lib-report" : "^3.0.0"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/jackspeak" : {
"version" : "3.4.3" ,
"resolved" : "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz" ,
"integrity" : "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==" ,
"dev" : true ,
"dependencies" : {
"@isaacs/cliui" : "^8.0.2"
} ,
"funding" : {
"url" : "https://github.com/sponsors/isaacs"
} ,
"optionalDependencies" : {
"@pkgjs/parseargs" : "^0.11.0"
}
} ,
"node_modules/js-beautify" : {
"version" : "1.15.4" ,
"resolved" : "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.4.tgz" ,
"integrity" : "sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==" ,
"dev" : true ,
"dependencies" : {
"config-chain" : "^1.1.13" ,
"editorconfig" : "^1.0.4" ,
"glob" : "^10.4.2" ,
"js-cookie" : "^3.0.5" ,
"nopt" : "^7.2.1"
} ,
"bin" : {
"css-beautify" : "js/bin/css-beautify.js" ,
"html-beautify" : "js/bin/html-beautify.js" ,
"js-beautify" : "js/bin/js-beautify.js"
} ,
"engines" : {
"node" : ">=14"
}
} ,
"node_modules/js-cookie" : {
"version" : "3.0.5" ,
"resolved" : "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz" ,
"integrity" : "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==" ,
"dev" : true ,
"engines" : {
"node" : ">=14"
}
} ,
2026-03-31 10:15:55 +02:00
"node_modules/js-tokens" : {
"version" : "10.0.0" ,
"resolved" : "https://registry.npmjs.org/js-tokens/-/js-tokens-10.0.0.tgz" ,
"integrity" : "sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==" ,
2026-03-31 10:20:03 +02:00
"dev" : true ,
"license" : "MIT"
2026-03-31 10:15:55 +02:00
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/jsdom" : {
"version" : "29.0.1" ,
"resolved" : "https://registry.npmjs.org/jsdom/-/jsdom-29.0.1.tgz" ,
"integrity" : "sha512-z6JOK5gRO7aMybVq/y/MlIpKh8JIi68FBKMUtKkK2KH/wMSRlCxQ682d08LB9fYXplyY/UXG8P4XXTScmdjApg==" ,
"dev" : true ,
"dependencies" : {
"@asamuzakjp/css-color" : "^5.0.1" ,
"@asamuzakjp/dom-selector" : "^7.0.3" ,
"@bramus/specificity" : "^2.4.2" ,
"@csstools/css-syntax-patches-for-csstree" : "^1.1.1" ,
"@exodus/bytes" : "^1.15.0" ,
"css-tree" : "^3.2.1" ,
"data-urls" : "^7.0.0" ,
"decimal.js" : "^10.6.0" ,
"html-encoding-sniffer" : "^6.0.0" ,
"is-potential-custom-element-name" : "^1.0.1" ,
"lru-cache" : "^11.2.7" ,
"parse5" : "^8.0.0" ,
"saxes" : "^6.0.0" ,
"symbol-tree" : "^3.2.4" ,
"tough-cookie" : "^6.0.1" ,
"undici" : "^7.24.5" ,
"w3c-xmlserializer" : "^5.0.0" ,
"webidl-conversions" : "^8.0.1" ,
"whatwg-mimetype" : "^5.0.0" ,
"whatwg-url" : "^16.0.1" ,
"xml-name-validator" : "^5.0.0"
} ,
"engines" : {
"node" : "^20.19.0 || ^22.13.0 || >=24.0.0"
} ,
"peerDependencies" : {
"canvas" : "^3.0.0"
} ,
"peerDependenciesMeta" : {
"canvas" : {
"optional" : true
}
}
} ,
2026-03-30 23:13:21 +02:00
"node_modules/jsqr" : {
"version" : "1.4.0" ,
"resolved" : "https://registry.npmjs.org/jsqr/-/jsqr-1.4.0.tgz" ,
"integrity" : "sha512-dxLob7q65Xg2DvstYkRpkYtmKm2sPJ9oFhrhmudT1dZvNFFTlroai3AWSpLey/w5vMcLBXRgOJsbXpdN9HzU/A==" ,
"license" : "Apache-2.0"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
2026-03-30 23:13:21 +02:00
"node_modules/locate-path" : {
"version" : "5.0.0" ,
"resolved" : "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" ,
"integrity" : "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" ,
"license" : "MIT" ,
"dependencies" : {
"p-locate" : "^4.1.0"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"engines" : {
2026-03-30 23:13:21 +02:00
"node" : ">=8"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
}
} ,
"node_modules/loupe" : {
"version" : "3.2.1" ,
"resolved" : "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz" ,
"integrity" : "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==" ,
2026-03-31 10:20:03 +02:00
"dev" : true ,
"license" : "MIT"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"node_modules/lru-cache" : {
"version" : "11.2.7" ,
"resolved" : "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz" ,
"integrity" : "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==" ,
"dev" : true ,
"engines" : {
"node" : "20 || >=22"
}
} ,
"node_modules/magic-string" : {
"version" : "0.30.21" ,
"resolved" : "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz" ,
"integrity" : "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==" ,
"dependencies" : {
"@jridgewell/sourcemap-codec" : "^1.5.5"
}
} ,
"node_modules/magicast" : {
"version" : "0.3.5" ,
"resolved" : "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz" ,
"integrity" : "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==" ,
"dev" : true ,
"dependencies" : {
"@babel/parser" : "^7.25.4" ,
"@babel/types" : "^7.25.4" ,
"source-map-js" : "^1.2.0"
}
} ,
"node_modules/make-dir" : {
"version" : "4.0.0" ,
"resolved" : "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz" ,
"integrity" : "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==" ,
"dev" : true ,
"dependencies" : {
"semver" : "^7.5.3"
} ,
"engines" : {
"node" : ">=10"
} ,
"funding" : {
"url" : "https://github.com/sponsors/sindresorhus"
}
} ,
"node_modules/mdn-data" : {
"version" : "2.27.1" ,
"resolved" : "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz" ,
"integrity" : "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==" ,
"dev" : true
} ,
"node_modules/minimatch" : {
"version" : "9.0.9" ,
"resolved" : "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz" ,
"integrity" : "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==" ,
"dev" : true ,
"dependencies" : {
"brace-expansion" : "^2.0.2"
} ,
"engines" : {
"node" : ">=16 || 14 >=14.17"
} ,
"funding" : {
"url" : "https://github.com/sponsors/isaacs"
}
} ,
"node_modules/minipass" : {
"version" : "7.1.3" ,
"resolved" : "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz" ,
"integrity" : "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==" ,
"dev" : true ,
"engines" : {
"node" : ">=16 || 14 >=14.17"
}
} ,
"node_modules/ms" : {
"version" : "2.1.3" ,
"resolved" : "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" ,
"integrity" : "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" ,
"dev" : true
} ,
"node_modules/nanoid" : {
"version" : "3.3.11" ,
"resolved" : "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz" ,
"integrity" : "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==" ,
"funding" : [
{
"type" : "github" ,
"url" : "https://github.com/sponsors/ai"
}
] ,
"bin" : {
"nanoid" : "bin/nanoid.cjs"
} ,
"engines" : {
"node" : "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
} ,
"node_modules/nopt" : {
"version" : "7.2.1" ,
"resolved" : "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz" ,
"integrity" : "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==" ,
"dev" : true ,
"dependencies" : {
"abbrev" : "^2.0.0"
} ,
"bin" : {
"nopt" : "bin/nopt.js"
} ,
"engines" : {
"node" : "^14.17.0 || ^16.13.0 || >=18.0.0"
}
} ,
2026-03-30 23:13:21 +02:00
"node_modules/p-limit" : {
"version" : "2.3.0" ,
"resolved" : "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" ,
"integrity" : "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" ,
"license" : "MIT" ,
"dependencies" : {
"p-try" : "^2.0.0"
} ,
"engines" : {
"node" : ">=6"
} ,
"funding" : {
"url" : "https://github.com/sponsors/sindresorhus"
}
} ,
"node_modules/p-locate" : {
"version" : "4.1.0" ,
"resolved" : "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" ,
"integrity" : "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" ,
"license" : "MIT" ,
"dependencies" : {
"p-limit" : "^2.2.0"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/p-try" : {
"version" : "2.2.0" ,
"resolved" : "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" ,
"integrity" : "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" ,
"license" : "MIT" ,
"engines" : {
"node" : ">=6"
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/package-json-from-dist" : {
"version" : "1.0.1" ,
"resolved" : "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz" ,
"integrity" : "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" ,
"dev" : true
} ,
"node_modules/parse5" : {
"version" : "8.0.0" ,
"resolved" : "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz" ,
"integrity" : "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==" ,
"dev" : true ,
"dependencies" : {
"entities" : "^6.0.0"
} ,
"funding" : {
"url" : "https://github.com/inikulin/parse5?sponsor=1"
}
} ,
"node_modules/parse5/node_modules/entities" : {
"version" : "6.0.1" ,
"resolved" : "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz" ,
"integrity" : "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==" ,
"dev" : true ,
"engines" : {
"node" : ">=0.12"
} ,
"funding" : {
"url" : "https://github.com/fb55/entities?sponsor=1"
}
} ,
2026-03-30 23:13:21 +02:00
"node_modules/path-exists" : {
"version" : "4.0.0" ,
"resolved" : "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" ,
"integrity" : "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" ,
"license" : "MIT" ,
"engines" : {
"node" : ">=8"
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/path-key" : {
"version" : "3.1.1" ,
"resolved" : "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" ,
"integrity" : "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" ,
"dev" : true ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/path-scurry" : {
"version" : "1.11.1" ,
"resolved" : "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz" ,
"integrity" : "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==" ,
"dev" : true ,
"dependencies" : {
"lru-cache" : "^10.2.0" ,
"minipass" : "^5.0.0 || ^6.0.2 || ^7.0.0"
} ,
"engines" : {
"node" : ">=16 || 14 >=14.18"
} ,
"funding" : {
"url" : "https://github.com/sponsors/isaacs"
}
} ,
"node_modules/path-scurry/node_modules/lru-cache" : {
"version" : "10.4.3" ,
"resolved" : "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz" ,
"integrity" : "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" ,
"dev" : true
} ,
"node_modules/pathe" : {
2026-03-31 10:15:55 +02:00
"version" : "2.0.3" ,
"resolved" : "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz" ,
"integrity" : "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==" ,
2026-03-31 10:20:03 +02:00
"dev" : true ,
"license" : "MIT"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"node_modules/pathval" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz" ,
"integrity" : "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"engines" : {
"node" : ">= 14.16"
}
} ,
"node_modules/picocolors" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" ,
"integrity" : "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
} ,
2026-03-31 10:15:55 +02:00
"node_modules/picomatch" : {
"version" : "4.0.4" ,
"resolved" : "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz" ,
"integrity" : "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-31 10:15:55 +02:00
"engines" : {
"node" : ">=12"
} ,
"funding" : {
"url" : "https://github.com/sponsors/jonschlinkert"
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/playwright" : {
"version" : "1.58.2" ,
"resolved" : "https://registry.npmjs.org/playwright/-/playwright-1.58.2.tgz" ,
"integrity" : "sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==" ,
"dev" : true ,
"dependencies" : {
"playwright-core" : "1.58.2"
} ,
"bin" : {
"playwright" : "cli.js"
} ,
"engines" : {
"node" : ">=18"
} ,
"optionalDependencies" : {
"fsevents" : "2.3.2"
}
} ,
"node_modules/playwright-core" : {
"version" : "1.58.2" ,
"resolved" : "https://registry.npmjs.org/playwright-core/-/playwright-core-1.58.2.tgz" ,
"integrity" : "sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==" ,
"dev" : true ,
"bin" : {
"playwright-core" : "cli.js"
} ,
"engines" : {
"node" : ">=18"
}
} ,
"node_modules/playwright/node_modules/fsevents" : {
"version" : "2.3.2" ,
"resolved" : "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" ,
"integrity" : "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" ,
"dev" : true ,
"hasInstallScript" : true ,
"optional" : true ,
"os" : [
"darwin"
] ,
"engines" : {
"node" : "^8.16.0 || ^10.6.0 || >=11.0.0"
}
} ,
2026-03-30 23:13:21 +02:00
"node_modules/pngjs" : {
"version" : "5.0.0" ,
"resolved" : "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz" ,
"integrity" : "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==" ,
"license" : "MIT" ,
"engines" : {
"node" : ">=10.13.0"
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/postcss" : {
"version" : "8.5.8" ,
"resolved" : "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz" ,
"integrity" : "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==" ,
"funding" : [
{
"type" : "opencollective" ,
"url" : "https://opencollective.com/postcss/"
} ,
{
"type" : "tidelift" ,
"url" : "https://tidelift.com/funding/github/npm/postcss"
} ,
{
"type" : "github" ,
"url" : "https://github.com/sponsors/ai"
}
] ,
"dependencies" : {
"nanoid" : "^3.3.11" ,
"picocolors" : "^1.1.1" ,
"source-map-js" : "^1.2.1"
} ,
"engines" : {
"node" : "^10 || ^12 || >=14"
}
} ,
"node_modules/proto-list" : {
"version" : "1.2.4" ,
"resolved" : "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz" ,
"integrity" : "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" ,
"dev" : true
} ,
"node_modules/punycode" : {
"version" : "2.3.1" ,
"resolved" : "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" ,
"integrity" : "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" ,
"dev" : true ,
"engines" : {
"node" : ">=6"
}
} ,
2026-03-30 23:13:21 +02:00
"node_modules/qrcode" : {
"version" : "1.5.4" ,
"resolved" : "https://registry.npmjs.org/qrcode/-/qrcode-1.5.4.tgz" ,
"integrity" : "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==" ,
"license" : "MIT" ,
"dependencies" : {
"dijkstrajs" : "^1.0.1" ,
"pngjs" : "^5.0.0" ,
"yargs" : "^15.3.1"
} ,
"bin" : {
"qrcode" : "bin/qrcode"
} ,
"engines" : {
"node" : ">=10.13.0"
}
} ,
"node_modules/require-directory" : {
"version" : "2.1.1" ,
"resolved" : "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" ,
"integrity" : "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" ,
"license" : "MIT" ,
"engines" : {
"node" : ">=0.10.0"
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/require-from-string" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" ,
"integrity" : "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" ,
"dev" : true ,
"engines" : {
"node" : ">=0.10.0"
}
} ,
2026-03-30 23:13:21 +02:00
"node_modules/require-main-filename" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" ,
"integrity" : "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" ,
"license" : "ISC"
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/rollup" : {
"version" : "4.60.0" ,
"resolved" : "https://registry.npmjs.org/rollup/-/rollup-4.60.0.tgz" ,
"integrity" : "sha512-yqjxruMGBQJ2gG4HtjZtAfXArHomazDHoFwFFmZZl0r7Pdo7qCIXKqKHZc8yeoMgzJJ+pO6pEEHa+V7uzWlrAQ==" ,
"dev" : true ,
"dependencies" : {
"@types/estree" : "1.0.8"
} ,
"bin" : {
"rollup" : "dist/bin/rollup"
} ,
"engines" : {
"node" : ">=18.0.0" ,
"npm" : ">=8.0.0"
} ,
"optionalDependencies" : {
"@rollup/rollup-android-arm-eabi" : "4.60.0" ,
"@rollup/rollup-android-arm64" : "4.60.0" ,
"@rollup/rollup-darwin-arm64" : "4.60.0" ,
"@rollup/rollup-darwin-x64" : "4.60.0" ,
"@rollup/rollup-freebsd-arm64" : "4.60.0" ,
"@rollup/rollup-freebsd-x64" : "4.60.0" ,
"@rollup/rollup-linux-arm-gnueabihf" : "4.60.0" ,
"@rollup/rollup-linux-arm-musleabihf" : "4.60.0" ,
"@rollup/rollup-linux-arm64-gnu" : "4.60.0" ,
"@rollup/rollup-linux-arm64-musl" : "4.60.0" ,
"@rollup/rollup-linux-loong64-gnu" : "4.60.0" ,
"@rollup/rollup-linux-loong64-musl" : "4.60.0" ,
"@rollup/rollup-linux-ppc64-gnu" : "4.60.0" ,
"@rollup/rollup-linux-ppc64-musl" : "4.60.0" ,
"@rollup/rollup-linux-riscv64-gnu" : "4.60.0" ,
"@rollup/rollup-linux-riscv64-musl" : "4.60.0" ,
"@rollup/rollup-linux-s390x-gnu" : "4.60.0" ,
"@rollup/rollup-linux-x64-gnu" : "4.60.0" ,
"@rollup/rollup-linux-x64-musl" : "4.60.0" ,
"@rollup/rollup-openbsd-x64" : "4.60.0" ,
"@rollup/rollup-openharmony-arm64" : "4.60.0" ,
"@rollup/rollup-win32-arm64-msvc" : "4.60.0" ,
"@rollup/rollup-win32-ia32-msvc" : "4.60.0" ,
"@rollup/rollup-win32-x64-gnu" : "4.60.0" ,
"@rollup/rollup-win32-x64-msvc" : "4.60.0" ,
"fsevents" : "~2.3.2"
}
} ,
"node_modules/saxes" : {
"version" : "6.0.0" ,
"resolved" : "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz" ,
"integrity" : "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==" ,
"dev" : true ,
"dependencies" : {
"xmlchars" : "^2.2.0"
} ,
"engines" : {
"node" : ">=v12.22.7"
}
} ,
"node_modules/semver" : {
"version" : "7.7.4" ,
"resolved" : "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz" ,
"integrity" : "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==" ,
"dev" : true ,
"bin" : {
"semver" : "bin/semver.js"
} ,
"engines" : {
"node" : ">=10"
}
} ,
2026-03-30 23:13:21 +02:00
"node_modules/set-blocking" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" ,
"integrity" : "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" ,
"license" : "ISC"
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/shebang-command" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" ,
"integrity" : "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" ,
"dev" : true ,
"dependencies" : {
"shebang-regex" : "^3.0.0"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/shebang-regex" : {
"version" : "3.0.0" ,
"resolved" : "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" ,
"integrity" : "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" ,
"dev" : true ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/siginfo" : {
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz" ,
"integrity" : "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==" ,
2026-03-31 10:20:03 +02:00
"dev" : true ,
"license" : "ISC"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"node_modules/signal-exit" : {
"version" : "4.1.0" ,
"resolved" : "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" ,
"integrity" : "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" ,
"dev" : true ,
"engines" : {
"node" : ">=14"
} ,
"funding" : {
"url" : "https://github.com/sponsors/isaacs"
}
} ,
"node_modules/source-map-js" : {
"version" : "1.2.1" ,
"resolved" : "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz" ,
"integrity" : "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" ,
"engines" : {
"node" : ">=0.10.0"
}
} ,
"node_modules/stackback" : {
"version" : "0.0.2" ,
"resolved" : "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz" ,
"integrity" : "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==" ,
2026-03-31 10:20:03 +02:00
"dev" : true ,
"license" : "MIT"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"node_modules/std-env" : {
"version" : "3.10.0" ,
"resolved" : "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz" ,
"integrity" : "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==" ,
2026-03-31 10:20:03 +02:00
"dev" : true ,
"license" : "MIT"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"node_modules/string-width" : {
"version" : "5.1.2" ,
"resolved" : "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" ,
"integrity" : "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==" ,
"dev" : true ,
"dependencies" : {
"eastasianwidth" : "^0.2.0" ,
"emoji-regex" : "^9.2.2" ,
"strip-ansi" : "^7.0.1"
} ,
"engines" : {
"node" : ">=12"
} ,
"funding" : {
"url" : "https://github.com/sponsors/sindresorhus"
}
} ,
"node_modules/string-width-cjs" : {
"name" : "string-width" ,
"version" : "4.2.3" ,
"resolved" : "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" ,
"integrity" : "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" ,
"dev" : true ,
"dependencies" : {
"emoji-regex" : "^8.0.0" ,
"is-fullwidth-code-point" : "^3.0.0" ,
"strip-ansi" : "^6.0.1"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/string-width-cjs/node_modules/ansi-regex" : {
"version" : "5.0.1" ,
"resolved" : "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" ,
"integrity" : "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" ,
"dev" : true ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/string-width-cjs/node_modules/emoji-regex" : {
"version" : "8.0.0" ,
"resolved" : "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" ,
"integrity" : "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" ,
"dev" : true
} ,
"node_modules/string-width-cjs/node_modules/strip-ansi" : {
"version" : "6.0.1" ,
"resolved" : "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" ,
"integrity" : "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" ,
"dev" : true ,
"dependencies" : {
"ansi-regex" : "^5.0.1"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/strip-ansi" : {
"version" : "7.2.0" ,
"resolved" : "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz" ,
"integrity" : "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==" ,
"dev" : true ,
"dependencies" : {
"ansi-regex" : "^6.2.2"
} ,
"engines" : {
"node" : ">=12"
} ,
"funding" : {
"url" : "https://github.com/chalk/strip-ansi?sponsor=1"
}
} ,
"node_modules/strip-ansi-cjs" : {
"name" : "strip-ansi" ,
"version" : "6.0.1" ,
"resolved" : "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" ,
"integrity" : "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" ,
"dev" : true ,
"dependencies" : {
"ansi-regex" : "^5.0.1"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/strip-ansi-cjs/node_modules/ansi-regex" : {
"version" : "5.0.1" ,
"resolved" : "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" ,
"integrity" : "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" ,
"dev" : true ,
"engines" : {
"node" : ">=8"
}
} ,
2026-03-31 10:15:55 +02:00
"node_modules/strip-literal" : {
"version" : "3.1.0" ,
"resolved" : "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz" ,
"integrity" : "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-31 10:15:55 +02:00
"dependencies" : {
"js-tokens" : "^9.0.1"
} ,
"funding" : {
"url" : "https://github.com/sponsors/antfu"
}
} ,
"node_modules/strip-literal/node_modules/js-tokens" : {
"version" : "9.0.1" ,
"resolved" : "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz" ,
"integrity" : "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==" ,
2026-03-31 10:20:03 +02:00
"dev" : true ,
"license" : "MIT"
2026-03-31 10:15:55 +02:00
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/supports-color" : {
"version" : "7.2.0" ,
"resolved" : "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" ,
"integrity" : "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" ,
"dev" : true ,
"dependencies" : {
"has-flag" : "^4.0.0"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/symbol-tree" : {
"version" : "3.2.4" ,
"resolved" : "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" ,
"integrity" : "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" ,
"dev" : true
} ,
"node_modules/test-exclude" : {
"version" : "7.0.2" ,
"resolved" : "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.2.tgz" ,
"integrity" : "sha512-u9E6A+ZDYdp7a4WnarkXPZOx8Ilz46+kby6p1yZ8zsGTz9gYa6FIS7lj2oezzNKmtdyyJNNmmXDppga5GB7kSw==" ,
"dev" : true ,
"dependencies" : {
"@istanbuljs/schema" : "^0.1.2" ,
"glob" : "^10.4.1" ,
"minimatch" : "^10.2.2"
} ,
"engines" : {
"node" : ">=18"
}
} ,
"node_modules/test-exclude/node_modules/balanced-match" : {
"version" : "4.0.4" ,
"resolved" : "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz" ,
"integrity" : "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==" ,
"dev" : true ,
"engines" : {
"node" : "18 || 20 || >=22"
}
} ,
"node_modules/test-exclude/node_modules/brace-expansion" : {
"version" : "5.0.5" ,
"resolved" : "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz" ,
"integrity" : "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==" ,
"dev" : true ,
"dependencies" : {
"balanced-match" : "^4.0.2"
} ,
"engines" : {
"node" : "18 || 20 || >=22"
}
} ,
"node_modules/test-exclude/node_modules/minimatch" : {
"version" : "10.2.4" ,
"resolved" : "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz" ,
"integrity" : "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==" ,
"dev" : true ,
"dependencies" : {
"brace-expansion" : "^5.0.2"
} ,
"engines" : {
"node" : "18 || 20 || >=22"
} ,
"funding" : {
"url" : "https://github.com/sponsors/isaacs"
}
} ,
"node_modules/tinybench" : {
"version" : "2.9.0" ,
"resolved" : "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz" ,
"integrity" : "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==" ,
2026-03-31 10:20:03 +02:00
"dev" : true ,
"license" : "MIT"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"node_modules/tinyexec" : {
"version" : "0.3.2" ,
"resolved" : "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz" ,
"integrity" : "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==" ,
2026-03-31 10:20:03 +02:00
"dev" : true ,
"license" : "MIT"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
2026-03-31 10:15:55 +02:00
"node_modules/tinyglobby" : {
"version" : "0.2.15" ,
"resolved" : "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz" ,
"integrity" : "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-31 10:15:55 +02:00
"dependencies" : {
"fdir" : "^6.5.0" ,
"picomatch" : "^4.0.3"
} ,
"engines" : {
"node" : ">=12.0.0"
} ,
"funding" : {
"url" : "https://github.com/sponsors/SuperchupuDev"
}
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"node_modules/tinypool" : {
"version" : "1.1.1" ,
"resolved" : "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz" ,
"integrity" : "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"engines" : {
"node" : "^18.0.0 || >=20.0.0"
}
} ,
"node_modules/tinyrainbow" : {
2026-03-31 10:15:55 +02:00
"version" : "2.0.0" ,
"resolved" : "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz" ,
"integrity" : "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==" ,
2026-03-25 00:10:03 +01:00
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"engines" : {
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node" : ">=14.0.0"
2026-03-25 00:10:03 +01:00
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/tinyspy" : {
2026-03-31 10:15:55 +02:00
"version" : "4.0.4" ,
"resolved" : "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz" ,
"integrity" : "sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"engines" : {
"node" : ">=14.0.0"
2026-03-25 00:10:03 +01:00
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/tldts" : {
"version" : "7.0.27" ,
"resolved" : "https://registry.npmjs.org/tldts/-/tldts-7.0.27.tgz" ,
"integrity" : "sha512-I4FZcVFcqCRuT0ph6dCDpPuO4Xgzvh+spkcTr1gK7peIvxWauoloVO0vuy1FQnijT63ss6AsHB6+OIM4aXHbPg==" ,
"dev" : true ,
"dependencies" : {
"tldts-core" : "^7.0.27"
2026-03-25 00:10:03 +01:00
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"bin" : {
"tldts" : "bin/cli.js"
2026-03-25 00:10:03 +01:00
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/tldts-core" : {
"version" : "7.0.27" ,
"resolved" : "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.27.tgz" ,
"integrity" : "sha512-YQ7uPjgWUibIK6DW5lrKujGwUKhLevU4hcGbP5O6TcIUb+oTjJYJVWPS4nZsIHrEEEG6myk/oqAJUEQmpZrHsg==" ,
"dev" : true
2026-03-25 00:10:03 +01:00
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/tough-cookie" : {
"version" : "6.0.1" ,
"resolved" : "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.1.tgz" ,
"integrity" : "sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==" ,
"dev" : true ,
2026-03-25 00:10:03 +01:00
"dependencies" : {
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"tldts" : "^7.0.5"
2026-03-25 00:10:03 +01:00
} ,
"engines" : {
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node" : ">=16"
2026-03-25 00:10:03 +01:00
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/tr46" : {
"version" : "6.0.0" ,
"resolved" : "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz" ,
"integrity" : "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==" ,
2026-03-25 00:10:03 +01:00
"dev" : true ,
"dependencies" : {
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"punycode" : "^2.3.1"
2026-03-25 00:10:03 +01:00
} ,
"engines" : {
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node" : ">=20"
2026-03-25 00:10:03 +01:00
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/undici" : {
"version" : "7.24.6" ,
"resolved" : "https://registry.npmjs.org/undici/-/undici-7.24.6.tgz" ,
"integrity" : "sha512-Xi4agocCbRzt0yYMZGMA6ApD7gvtUFaxm4ZmeacWI4cZxaF6C+8I8QfofC20NAePiB/IcvZmzkJ7XPa471AEtA==" ,
"dev" : true ,
2026-03-25 00:10:03 +01:00
"engines" : {
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node" : ">=20.18.1"
2026-03-25 00:10:03 +01:00
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/undici-types" : {
"version" : "7.18.2" ,
"resolved" : "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz" ,
"integrity" : "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==" ,
"dev" : true
} ,
2026-03-25 00:10:03 +01:00
"node_modules/vite" : {
2026-03-31 10:15:55 +02:00
"version" : "6.4.1" ,
"resolved" : "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz" ,
"integrity" : "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==" ,
2026-03-25 00:10:03 +01:00
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-25 00:10:03 +01:00
"dependencies" : {
2026-03-31 10:15:55 +02:00
"esbuild" : "^0.25.0" ,
"fdir" : "^6.4.4" ,
"picomatch" : "^4.0.2" ,
"postcss" : "^8.5.3" ,
"rollup" : "^4.34.9" ,
"tinyglobby" : "^0.2.13"
2026-03-25 00:10:03 +01:00
} ,
"bin" : {
"vite" : "bin/vite.js"
} ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : "^18.0.0 || ^20.0.0 || >=22.0.0"
2026-03-25 00:10:03 +01:00
} ,
"funding" : {
"url" : "https://github.com/vitejs/vite?sponsor=1"
} ,
"optionalDependencies" : {
"fsevents" : "~2.3.3"
} ,
"peerDependencies" : {
2026-03-31 10:15:55 +02:00
"@types/node" : "^18.0.0 || ^20.0.0 || >=22.0.0" ,
"jiti" : ">=1.21.0" ,
2026-03-25 00:10:03 +01:00
"less" : "*" ,
"lightningcss" : "^1.21.0" ,
"sass" : "*" ,
"sass-embedded" : "*" ,
"stylus" : "*" ,
"sugarss" : "*" ,
2026-03-31 10:15:55 +02:00
"terser" : "^5.16.0" ,
"tsx" : "^4.8.1" ,
"yaml" : "^2.4.2"
2026-03-25 00:10:03 +01:00
} ,
"peerDependenciesMeta" : {
"@types/node" : {
"optional" : true
} ,
2026-03-31 10:15:55 +02:00
"jiti" : {
"optional" : true
} ,
2026-03-25 00:10:03 +01:00
"less" : {
"optional" : true
} ,
"lightningcss" : {
"optional" : true
} ,
"sass" : {
"optional" : true
} ,
"sass-embedded" : {
"optional" : true
} ,
"stylus" : {
"optional" : true
} ,
"sugarss" : {
"optional" : true
} ,
"terser" : {
"optional" : true
2026-03-31 10:15:55 +02:00
} ,
"tsx" : {
"optional" : true
} ,
"yaml" : {
"optional" : true
2026-03-25 00:10:03 +01:00
}
}
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/vite-node" : {
2026-03-31 10:15:55 +02:00
"version" : "3.2.4" ,
"resolved" : "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz" ,
"integrity" : "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dependencies" : {
"cac" : "^6.7.14" ,
2026-03-31 10:15:55 +02:00
"debug" : "^4.4.1" ,
"es-module-lexer" : "^1.7.0" ,
"pathe" : "^2.0.3" ,
"vite" : "^5.0.0 || ^6.0.0 || ^7.0.0-0"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"bin" : {
"vite-node" : "vite-node.mjs"
} ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : "^18.0.0 || ^20.0.0 || >=22.0.0"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"funding" : {
"url" : "https://opencollective.com/vitest"
}
} ,
"node_modules/vitest" : {
2026-03-31 10:15:55 +02:00
"version" : "3.2.4" ,
"resolved" : "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz" ,
"integrity" : "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
2026-03-31 10:15:55 +02:00
"dependencies" : {
"@types/chai" : "^5.2.2" ,
"@vitest/expect" : "3.2.4" ,
"@vitest/mocker" : "3.2.4" ,
"@vitest/pretty-format" : "^3.2.4" ,
"@vitest/runner" : "3.2.4" ,
"@vitest/snapshot" : "3.2.4" ,
"@vitest/spy" : "3.2.4" ,
"@vitest/utils" : "3.2.4" ,
"chai" : "^5.2.0" ,
"debug" : "^4.4.1" ,
"expect-type" : "^1.2.1" ,
"magic-string" : "^0.30.17" ,
"pathe" : "^2.0.3" ,
"picomatch" : "^4.0.2" ,
"std-env" : "^3.9.0" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"tinybench" : "^2.9.0" ,
2026-03-31 10:15:55 +02:00
"tinyexec" : "^0.3.2" ,
"tinyglobby" : "^0.2.14" ,
"tinypool" : "^1.1.1" ,
"tinyrainbow" : "^2.0.0" ,
"vite" : "^5.0.0 || ^6.0.0 || ^7.0.0-0" ,
"vite-node" : "3.2.4" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"why-is-node-running" : "^2.3.0"
} ,
"bin" : {
"vitest" : "vitest.mjs"
} ,
"engines" : {
2026-03-31 10:15:55 +02:00
"node" : "^18.0.0 || ^20.0.0 || >=22.0.0"
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"funding" : {
"url" : "https://opencollective.com/vitest"
} ,
"peerDependencies" : {
"@edge-runtime/vm" : "*" ,
2026-03-31 10:15:55 +02:00
"@types/debug" : "^4.1.12" ,
"@types/node" : "^18.0.0 || ^20.0.0 || >=22.0.0" ,
"@vitest/browser" : "3.2.4" ,
"@vitest/ui" : "3.2.4" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"happy-dom" : "*" ,
"jsdom" : "*"
} ,
"peerDependenciesMeta" : {
"@edge-runtime/vm" : {
"optional" : true
} ,
2026-03-31 10:15:55 +02:00
"@types/debug" : {
"optional" : true
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"@types/node" : {
"optional" : true
} ,
"@vitest/browser" : {
"optional" : true
} ,
"@vitest/ui" : {
"optional" : true
} ,
"happy-dom" : {
"optional" : true
} ,
"jsdom" : {
"optional" : true
}
}
} ,
2026-03-25 00:10:03 +01:00
"node_modules/vue" : {
"version" : "3.5.30" ,
"resolved" : "https://registry.npmjs.org/vue/-/vue-3.5.30.tgz" ,
"integrity" : "sha512-hTHLc6VNZyzzEH/l7PFGjpcTvUgiaPK5mdLkbjrTeWSRcEfxFrv56g/XckIYlE9ckuobsdwqd5mk2g1sBkMewg==" ,
"dependencies" : {
"@vue/compiler-dom" : "3.5.30" ,
"@vue/compiler-sfc" : "3.5.30" ,
"@vue/runtime-dom" : "3.5.30" ,
"@vue/server-renderer" : "3.5.30" ,
"@vue/shared" : "3.5.30"
} ,
"peerDependencies" : {
"typescript" : "*"
} ,
"peerDependenciesMeta" : {
"typescript" : {
"optional" : true
}
}
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
} ,
"node_modules/vue-component-type-helpers" : {
"version" : "2.2.12" ,
"resolved" : "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.12.tgz" ,
"integrity" : "sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==" ,
"dev" : true
} ,
"node_modules/w3c-xmlserializer" : {
"version" : "5.0.0" ,
"resolved" : "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz" ,
"integrity" : "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==" ,
"dev" : true ,
"dependencies" : {
"xml-name-validator" : "^5.0.0"
} ,
"engines" : {
"node" : ">=18"
}
} ,
"node_modules/webidl-conversions" : {
"version" : "8.0.1" ,
"resolved" : "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz" ,
"integrity" : "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==" ,
"dev" : true ,
"engines" : {
"node" : ">=20"
}
} ,
"node_modules/whatwg-mimetype" : {
"version" : "5.0.0" ,
"resolved" : "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz" ,
"integrity" : "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==" ,
"dev" : true ,
"engines" : {
"node" : ">=20"
}
} ,
"node_modules/whatwg-url" : {
"version" : "16.0.1" ,
"resolved" : "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz" ,
"integrity" : "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==" ,
"dev" : true ,
"dependencies" : {
"@exodus/bytes" : "^1.11.0" ,
"tr46" : "^6.0.0" ,
"webidl-conversions" : "^8.0.1"
} ,
"engines" : {
"node" : "^20.19.0 || ^22.12.0 || >=24.0.0"
}
} ,
"node_modules/which" : {
"version" : "2.0.2" ,
"resolved" : "https://registry.npmjs.org/which/-/which-2.0.2.tgz" ,
"integrity" : "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" ,
"dev" : true ,
"dependencies" : {
"isexe" : "^2.0.0"
} ,
"bin" : {
"node-which" : "bin/node-which"
} ,
"engines" : {
"node" : ">= 8"
}
} ,
2026-03-30 23:13:21 +02:00
"node_modules/which-module" : {
"version" : "2.0.1" ,
"resolved" : "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz" ,
"integrity" : "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" ,
"license" : "ISC"
} ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"node_modules/why-is-node-running" : {
"version" : "2.3.0" ,
"resolved" : "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz" ,
"integrity" : "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==" ,
"dev" : true ,
2026-03-31 10:20:03 +02:00
"license" : "MIT" ,
test: aggiungi suite completa unit, integration ed e2e
- Unit (12+9): conversion.js (rawToCooked/cookedToRaw, edge case, inversa)
e storage.js (save/load, round-trip, default fallback)
- Integration (17+12+14): Converter (ricerca, selezione, calcolo, swap, reset),
MealPlanner (rendering, add/remove, generateShopping, deduplicazione),
ShoppingList (add, toggle, remove, clearAll, contatore)
- E2E Playwright (6+6+7+10): navigation, meal-planner, converter, shopping-list
- Configurazione: vitest.config.js + playwright.config.js + tests/setup.js
- Script: test, test:coverage, test:e2e, test:e2e:ui
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:45:31 +01:00
"dependencies" : {
"siginfo" : "^2.0.0" ,
"stackback" : "0.0.2"
} ,
"bin" : {
"why-is-node-running" : "cli.js"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/wrap-ansi" : {
"version" : "8.1.0" ,
"resolved" : "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" ,
"integrity" : "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==" ,
"dev" : true ,
"dependencies" : {
"ansi-styles" : "^6.1.0" ,
"string-width" : "^5.0.1" ,
"strip-ansi" : "^7.0.1"
} ,
"engines" : {
"node" : ">=12"
} ,
"funding" : {
"url" : "https://github.com/chalk/wrap-ansi?sponsor=1"
}
} ,
"node_modules/wrap-ansi-cjs" : {
"name" : "wrap-ansi" ,
"version" : "7.0.0" ,
"resolved" : "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" ,
"integrity" : "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" ,
"dev" : true ,
"dependencies" : {
"ansi-styles" : "^4.0.0" ,
"string-width" : "^4.1.0" ,
"strip-ansi" : "^6.0.0"
} ,
"engines" : {
"node" : ">=10"
} ,
"funding" : {
"url" : "https://github.com/chalk/wrap-ansi?sponsor=1"
}
} ,
"node_modules/wrap-ansi-cjs/node_modules/ansi-regex" : {
"version" : "5.0.1" ,
"resolved" : "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" ,
"integrity" : "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" ,
"dev" : true ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/wrap-ansi-cjs/node_modules/ansi-styles" : {
"version" : "4.3.0" ,
"resolved" : "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" ,
"integrity" : "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" ,
"dev" : true ,
"dependencies" : {
"color-convert" : "^2.0.1"
} ,
"engines" : {
"node" : ">=8"
} ,
"funding" : {
"url" : "https://github.com/chalk/ansi-styles?sponsor=1"
}
} ,
"node_modules/wrap-ansi-cjs/node_modules/emoji-regex" : {
"version" : "8.0.0" ,
"resolved" : "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" ,
"integrity" : "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" ,
"dev" : true
} ,
"node_modules/wrap-ansi-cjs/node_modules/string-width" : {
"version" : "4.2.3" ,
"resolved" : "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" ,
"integrity" : "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" ,
"dev" : true ,
"dependencies" : {
"emoji-regex" : "^8.0.0" ,
"is-fullwidth-code-point" : "^3.0.0" ,
"strip-ansi" : "^6.0.1"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/wrap-ansi-cjs/node_modules/strip-ansi" : {
"version" : "6.0.1" ,
"resolved" : "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" ,
"integrity" : "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" ,
"dev" : true ,
"dependencies" : {
"ansi-regex" : "^5.0.1"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/ws" : {
"version" : "8.20.0" ,
"resolved" : "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz" ,
"integrity" : "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==" ,
"dev" : true ,
"engines" : {
"node" : ">=10.0.0"
} ,
"peerDependencies" : {
"bufferutil" : "^4.0.1" ,
"utf-8-validate" : ">=5.0.2"
} ,
"peerDependenciesMeta" : {
"bufferutil" : {
"optional" : true
} ,
"utf-8-validate" : {
"optional" : true
}
}
} ,
"node_modules/xml-name-validator" : {
"version" : "5.0.0" ,
"resolved" : "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz" ,
"integrity" : "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==" ,
"dev" : true ,
"engines" : {
"node" : ">=18"
}
} ,
"node_modules/xmlchars" : {
"version" : "2.2.0" ,
"resolved" : "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" ,
"integrity" : "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" ,
"dev" : true
2026-03-30 23:13:21 +02:00
} ,
"node_modules/y18n" : {
"version" : "4.0.3" ,
"resolved" : "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" ,
"integrity" : "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" ,
"license" : "ISC"
} ,
"node_modules/yargs" : {
"version" : "15.4.1" ,
"resolved" : "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" ,
"integrity" : "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==" ,
"license" : "MIT" ,
"dependencies" : {
"cliui" : "^6.0.0" ,
"decamelize" : "^1.2.0" ,
"find-up" : "^4.1.0" ,
"get-caller-file" : "^2.0.1" ,
"require-directory" : "^2.1.1" ,
"require-main-filename" : "^2.0.0" ,
"set-blocking" : "^2.0.0" ,
"string-width" : "^4.2.0" ,
"which-module" : "^2.0.0" ,
"y18n" : "^4.0.0" ,
"yargs-parser" : "^18.1.2"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/yargs-parser" : {
"version" : "18.1.3" ,
"resolved" : "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" ,
"integrity" : "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==" ,
"license" : "ISC" ,
"dependencies" : {
"camelcase" : "^5.0.0" ,
"decamelize" : "^1.2.0"
} ,
"engines" : {
"node" : ">=6"
}
} ,
"node_modules/yargs/node_modules/ansi-regex" : {
"version" : "5.0.1" ,
"resolved" : "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" ,
"integrity" : "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" ,
"license" : "MIT" ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/yargs/node_modules/emoji-regex" : {
"version" : "8.0.0" ,
"resolved" : "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" ,
"integrity" : "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" ,
"license" : "MIT"
} ,
"node_modules/yargs/node_modules/string-width" : {
"version" : "4.2.3" ,
"resolved" : "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" ,
"integrity" : "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" ,
"license" : "MIT" ,
"dependencies" : {
"emoji-regex" : "^8.0.0" ,
"is-fullwidth-code-point" : "^3.0.0" ,
"strip-ansi" : "^6.0.1"
} ,
"engines" : {
"node" : ">=8"
}
} ,
"node_modules/yargs/node_modules/strip-ansi" : {
"version" : "6.0.1" ,
"resolved" : "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" ,
"integrity" : "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" ,
"license" : "MIT" ,
"dependencies" : {
"ansi-regex" : "^5.0.1"
} ,
"engines" : {
"node" : ">=8"
}
2026-03-25 00:10:03 +01:00
}
}
}