{"_id":"@aemvite/aem-config","_rev":"13-0a9fbe3de86dd20181cc7cf57d713d67","name":"@aemvite/aem-config","dist-tags":{"latest":"0.11.0"},"versions":{"0.1.0":{"name":"@aemvite/aem-config","version":"0.1.0","keywords":["aem","clientlib","vite","config","edge-delivery","aemvite","build","orchestrator"],"author":{"name":"Luca Nerlich"},"license":"MIT","_id":"@aemvite/aem-config@0.1.0","maintainers":[{"name":"lnhh","email":"luca.nerlich@gmail.com"}],"homepage":"https://github.com/LucaNerlich/aem-vite#readme","bugs":{"url":"https://github.com/LucaNerlich/aem-vite/issues"},"bin":{"aem-build":"dist/cli.js"},"dist":{"shasum":"0ad321441522a935718c5244b53ce6880bcc4936","tarball":"https://registry.npmjs.org/@aemvite/aem-config/-/aem-config-0.1.0.tgz","fileCount":44,"integrity":"sha512-uYSqR8fV3CRv2vkz8ext3PIBnHOYXUyvfwXJLjSz6IadpEn/HwNgwx+SUQIl1yZKOzeDmJfNK2GfXRx6VyELxg==","signatures":[{"sig":"MEUCIBTFkLkZ9f7kajw3refwpxqPOTHoQ0rQqLoyvE07eD2CAiEAt+O/RfBYXmwTeTStOqAzO/bpVMocVGDuJ2J2E6xZxsM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51377},"main":"dist/index.js","type":"module","_from":"file:aemvite-aem-config-0.1.0.tgz","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","test:watch":"vitest"},"_npmUser":{"name":"lnhh","email":"luca.nerlich@gmail.com"},"_resolved":"/private/var/folders/44/qf36fwqd6sbg76sbsc0f77nr0000gq/T/b66d6191256cac1bbb48321f29ca037d/aemvite-aem-config-0.1.0.tgz","_integrity":"sha512-uYSqR8fV3CRv2vkz8ext3PIBnHOYXUyvfwXJLjSz6IadpEn/HwNgwx+SUQIl1yZKOzeDmJfNK2GfXRx6VyELxg==","repository":{"url":"git+https://github.com/LucaNerlich/aem-vite.git","type":"git","directory":"packages/aem-config"},"_npmVersion":"10.9.2","description":"Typed config helper, loader, and Vite build orchestrator for AEM clientlib packages.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@aemvite/vite-plugin-aem-clientlib":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.0","vitest":"4.1.9","typescript":"^5.9.3","@types/node":"^22.20.0"},"peerDependencies":{"vite":"^7 || ^8"},"_npmOperationalInternal":{"tmp":"tmp/aem-config_0.1.0_1782455028534_0.6345026705305223","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@aemvite/aem-config","version":"0.2.2","keywords":["aem","clientlib","vite","config","edge-delivery","aemvite","build","orchestrator"],"author":{"name":"Luca Nerlich"},"license":"MIT","_id":"@aemvite/aem-config@0.2.2","maintainers":[{"name":"lnhh","email":"luca.nerlich@gmail.com"}],"homepage":"https://github.com/LucaNerlich/aem-vite#readme","bugs":{"url":"https://github.com/LucaNerlich/aem-vite/issues"},"bin":{"aem-build":"dist/cli.js"},"dist":{"shasum":"8b47d868e7fd6bfb42a42f1d4f6743c03e659a95","tarball":"https://registry.npmjs.org/@aemvite/aem-config/-/aem-config-0.2.2.tgz","fileCount":40,"integrity":"sha512-0b5Q47UyeGKGM76wAmpwHpGFACmvKN2UiRmSOE7Gxdw4E4LsR7gaCn6qsPTraPEAqwNCMv5MX8+dQTPR7OXAZA==","signatures":[{"sig":"MEYCIQCDUebVrizos6mqcuh/N8/Z9ICHjmL/EyiCwfXYk33DZwIhALQuAYn9BQdjae4c3nDKdvt4cFHUXp8EXLDaRMGy0OfI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aemvite%2faem-config@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60276},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"62c3e28e703947408b4809dc211bdda525acbc7e","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c8c5a1b3-5e1d-4be4-a7ce-f2a2aa53e2df"}},"repository":{"url":"git+https://github.com/LucaNerlich/aem-vite.git","type":"git","directory":"packages/aem-config"},"_npmVersion":"11.17.0","description":"Typed config helper, loader, and Vite build orchestrator for AEM clientlib packages.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"@aemvite/vite-plugin-glob":"^0.1.0","@aemvite/vite-plugin-aem-clientlib":"^0.1.0","@aemvite/vite-plugin-aem-resources":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.0","vitest":"4.1.9","typescript":"^5.9.3","@types/node":"^22.20.0"},"peerDependencies":{"vite":"^7 || ^8","esbuild":"^0.27.0 || ^0.28.0"},"_npmOperationalInternal":{"tmp":"tmp/aem-config_0.2.2_1782462219211_0.5512121036449622","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aemvite/aem-config","version":"0.3.0","keywords":["aem","clientlib","vite","config","edge-delivery","aemvite","build","orchestrator"],"author":{"name":"Luca Nerlich"},"license":"MIT","_id":"@aemvite/aem-config@0.3.0","maintainers":[{"name":"lnhh","email":"luca.nerlich@gmail.com"}],"homepage":"https://github.com/LucaNerlich/aem-vite#readme","bugs":{"url":"https://github.com/LucaNerlich/aem-vite/issues"},"bin":{"aem-build":"dist/cli.js"},"dist":{"shasum":"7261dbcafb4b5e03cf1e75f93c2da6a2987f3b6d","tarball":"https://registry.npmjs.org/@aemvite/aem-config/-/aem-config-0.3.0.tgz","fileCount":40,"integrity":"sha512-fy1LXGI4x/1g+bcIBtio/9xulP6s79vpsUcxDhVUgyO7b6ZGOnsGOBAffV0nzFo/cI2bzu3tt5y2NpRNZQPRBA==","signatures":[{"sig":"MEUCIC1sJjN1zzIKt0NJBTLypsakR9hCJwx19k+O6FxD891NAiEAgleMxSjub2lwzG5Kfopg4hoaVAK6fwW1raZa7HQG/Z4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aemvite%2faem-config@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60453},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":"^22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1dc8b1242b2c695ee8fd011a7c19ebea4125c182","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c8c5a1b3-5e1d-4be4-a7ce-f2a2aa53e2df"}},"repository":{"url":"git+https://github.com/LucaNerlich/aem-vite.git","type":"git","directory":"packages/aem-config"},"_npmVersion":"11.17.0","description":"Typed config helper, loader, and Vite build orchestrator for AEM clientlib packages.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"@aemvite/vite-plugin-glob":"^0.2.0","@aemvite/vite-plugin-aem-clientlib":"^0.2.0","@aemvite/vite-plugin-aem-resources":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.0","vitest":"4.1.9","typescript":"^5.9.3","@types/node":"^22.20.0"},"peerDependencies":{"vite":"^8","esbuild":"^0.28"},"_npmOperationalInternal":{"tmp":"tmp/aem-config_0.3.0_1782463247249_0.07827381314441939","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@aemvite/aem-config","version":"0.3.1","keywords":["aem","clientlib","vite","config","edge-delivery","aemvite","build","orchestrator"],"author":{"name":"Luca Nerlich"},"license":"MIT","_id":"@aemvite/aem-config@0.3.1","maintainers":[{"name":"lnhh","email":"luca.nerlich@gmail.com"}],"homepage":"https://github.com/LucaNerlich/aem-vite#readme","bugs":{"url":"https://github.com/LucaNerlich/aem-vite/issues"},"bin":{"aem-build":"dist/cli.js"},"dist":{"shasum":"14fa653dd6f28f3197f973c945038ced18a1b8dd","tarball":"https://registry.npmjs.org/@aemvite/aem-config/-/aem-config-0.3.1.tgz","fileCount":40,"integrity":"sha512-eAUq2bh6UeaoeHMhl8kLWIAT7sJJb8nh/k9zC7LrHXNSqDRcse3R9ZdCWFpXT99mN+dCJNrU33yxyH0Uw9JZTw==","signatures":[{"sig":"MEYCIQCWKidupuH1fnDK4IO107JoMYOEfde34L/O32VphWpL+QIhAJQmB0iStysGmESQp+RTWY0nnWXTlEJOgQKH/eE7+BUV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aemvite%2faem-config@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":60652},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":"^22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"09ba68fbddebb309c1398a3f1bc652f91b5d278c","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c8c5a1b3-5e1d-4be4-a7ce-f2a2aa53e2df"}},"repository":{"url":"git+https://github.com/LucaNerlich/aem-vite.git","type":"git","directory":"packages/aem-config"},"_npmVersion":"11.17.0","description":"Typed config helper, loader, and Vite build orchestrator for AEM clientlib packages.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"@aemvite/vite-plugin-glob":"^0.2.0","@aemvite/vite-plugin-aem-clientlib":"^0.2.0","@aemvite/vite-plugin-aem-resources":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.0","vitest":"4.1.9","typescript":"^5.9.3","@types/node":"^22.20.0"},"peerDependencies":{"vite":"^8","esbuild":"^0.28"},"_npmOperationalInternal":{"tmp":"tmp/aem-config_0.3.1_1782464816755_0.041699686979768114","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@aemvite/aem-config","version":"0.4.0","keywords":["aem","clientlib","vite","config","edge-delivery","aemvite","build","orchestrator"],"author":{"name":"Luca Nerlich"},"license":"MIT","_id":"@aemvite/aem-config@0.4.0","maintainers":[{"name":"lnhh","email":"luca.nerlich@gmail.com"}],"homepage":"https://github.com/LucaNerlich/aem-vite#readme","bugs":{"url":"https://github.com/LucaNerlich/aem-vite/issues"},"bin":{"aem-build":"dist/cli.js"},"dist":{"shasum":"5b6b617ff387d05492b654f4ca58addcf0eeea5d","tarball":"https://registry.npmjs.org/@aemvite/aem-config/-/aem-config-0.4.0.tgz","fileCount":40,"integrity":"sha512-8dGDbJBO5E/MF5raRBb066j213JbJ27mSpdbl+yqcy5vAk4cXcRuBBIxEWeH+zxOvBA2UGZkURG8IeEoYXHjpA==","signatures":[{"sig":"MEUCIQD7hyaoHcH3CACuqXILMFj0UodcjN7DvefMJBWHHjvXcQIgUi64emOhIA7sKtZbz8vSatgj8fQpd3Pr649Ih5uhMfA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aemvite%2faem-config@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":68327},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":"^22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"77e834e662dc66bf9eba2d378e1e6f0a1b0155fc","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c8c5a1b3-5e1d-4be4-a7ce-f2a2aa53e2df"}},"repository":{"url":"git+https://github.com/LucaNerlich/aem-vite.git","type":"git","directory":"packages/aem-config"},"_npmVersion":"11.17.0","description":"Typed config helper, loader, and Vite build orchestrator for AEM clientlib packages.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"@aemvite/vite-plugin-glob":"^0.4.0","@aemvite/vite-plugin-aem-clientlib":"^0.4.0","@aemvite/vite-plugin-aem-resources":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.0","vitest":"4.1.9","typescript":"^5.9.3","@types/node":"^22.20.0"},"peerDependencies":{"vite":"^8","esbuild":"^0.28"},"_npmOperationalInternal":{"tmp":"tmp/aem-config_0.4.0_1782470757766_0.48561447856278583","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@aemvite/aem-config","version":"0.5.0","keywords":["aem","clientlib","vite","config","edge-delivery","aemvite","build","orchestrator"],"author":{"name":"Luca Nerlich"},"license":"MIT","_id":"@aemvite/aem-config@0.5.0","maintainers":[{"name":"lnhh","email":"luca.nerlich@gmail.com"}],"homepage":"https://github.com/LucaNerlich/aem-vite#readme","bugs":{"url":"https://github.com/LucaNerlich/aem-vite/issues"},"bin":{"aem-build":"dist/cli.js"},"dist":{"shasum":"bddb49ad635edaf898267357bb5831e047959897","tarball":"https://registry.npmjs.org/@aemvite/aem-config/-/aem-config-0.5.0.tgz","fileCount":40,"integrity":"sha512-b42EQ34GY1BiH4BzzQ6RjyKOv+B8hMSuDYLB8cuLXbiA8us5t5Z0/Bni0XDmDY6XzgfqOiPgLXzh7VzaEC0I3g==","signatures":[{"sig":"MEQCIBf+Ei0PvCEVivLf3723x1XS75eGXcmwh2IhCevRpR2/AiBoUuRPX3nqwnoatyLxEIuWbCvfwLeM0442dc31EoPHcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aemvite%2faem-config@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72195},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":"^22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"f921161e0542122ff5b50c7a5edef48bbd6bac55","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c8c5a1b3-5e1d-4be4-a7ce-f2a2aa53e2df"}},"repository":{"url":"git+https://github.com/LucaNerlich/aem-vite.git","type":"git","directory":"packages/aem-config"},"_npmVersion":"11.17.0","description":"Typed config helper, loader, and Vite build orchestrator for AEM clientlib packages.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"@aemvite/vite-plugin-glob":"^0.5.0","@aemvite/vite-plugin-aem-clientlib":"^0.5.0","@aemvite/vite-plugin-aem-resources":"^0.5.0","@aemvite/vite-plugin-aem-css-url-passthrough":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.0","vitest":"4.1.9","typescript":"^5.9.3","@types/node":"^22.20.0"},"peerDependencies":{"vite":"^8","esbuild":"^0.28"},"_npmOperationalInternal":{"tmp":"tmp/aem-config_0.5.0_1782476253365_0.5521302642352397","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@aemvite/aem-config","version":"0.5.1","keywords":["aem","clientlib","vite","config","edge-delivery","aemvite","build","orchestrator"],"author":{"name":"Luca Nerlich"},"license":"MIT","_id":"@aemvite/aem-config@0.5.1","maintainers":[{"name":"lnhh","email":"luca.nerlich@gmail.com"}],"homepage":"https://github.com/LucaNerlich/aem-vite#readme","bugs":{"url":"https://github.com/LucaNerlich/aem-vite/issues"},"bin":{"aem-build":"dist/cli.js"},"dist":{"shasum":"6f373f3c8848d1009b2fd694a88ea37682b79156","tarball":"https://registry.npmjs.org/@aemvite/aem-config/-/aem-config-0.5.1.tgz","fileCount":40,"integrity":"sha512-yEDYH9kgznzouG1o7ZhYkJgc4fjdxFwin+P9vI9xEwKTbxjZHyL2A7JTjZVxFCyperdgZzd0mNDbwgWxCK/umw==","signatures":[{"sig":"MEYCIQDVb/noyiDuLaZzZUNNq+ni2UmKxaFSsZEYpaCkL7XkIAIhAOp1lR90ES7qzou19o8Q1lUoj+Y3SV+dL5AKxawmLi5z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aemvite%2faem-config@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":74664},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":"^22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"bed8bb354d7848c9b253639cc489415a71c7a1e3","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c8c5a1b3-5e1d-4be4-a7ce-f2a2aa53e2df"}},"repository":{"url":"git+https://github.com/LucaNerlich/aem-vite.git","type":"git","directory":"packages/aem-config"},"_npmVersion":"11.17.0","description":"Typed config helper, loader, and Vite build orchestrator for AEM clientlib packages.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"@aemvite/vite-plugin-glob":"^0.5.1","@aemvite/vite-plugin-aem-clientlib":"^0.5.1","@aemvite/vite-plugin-aem-resources":"^0.5.1","@aemvite/vite-plugin-aem-css-url-passthrough":"^0.5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.0","vitest":"4.1.9","typescript":"^5.9.3","@types/node":"^22.20.0"},"peerDependencies":{"vite":"^8","esbuild":"^0.28"},"_npmOperationalInternal":{"tmp":"tmp/aem-config_0.5.1_1782477946295_0.966171417208217","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@aemvite/aem-config","version":"0.6.0","keywords":["aem","clientlib","vite","config","edge-delivery","aemvite","build","orchestrator"],"author":{"name":"Luca Nerlich"},"license":"MIT","_id":"@aemvite/aem-config@0.6.0","maintainers":[{"name":"lnhh","email":"luca.nerlich@gmail.com"}],"homepage":"https://github.com/LucaNerlich/aem-vite#readme","bugs":{"url":"https://github.com/LucaNerlich/aem-vite/issues"},"bin":{"aem-build":"dist/cli.js"},"dist":{"shasum":"9156802fb47c3953fcf13101b88c79f61294ca89","tarball":"https://registry.npmjs.org/@aemvite/aem-config/-/aem-config-0.6.0.tgz","fileCount":40,"integrity":"sha512-qGtenSqodUhzbmxY0wVxHI31mKqxJVR3vUT3TR74p5v0gGzlznA4FzEIcgtpPQ9dlcnqFxPkRwBLaKtZb2wmKw==","signatures":[{"sig":"MEQCIA3bLGizicEm6xkGO7YvP8PPhM4ifW99AUhtmfx1VDtDAiAOlzLXiXbyvgxi/dCXljHVYmyr1dI+G4+nsbWmXg6FxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79627},"main":"dist/index.js","type":"module","_from":"file:aemvite-aem-config-0.6.0.tgz","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":"^22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","test:watch":"vitest"},"_npmUser":{"name":"lnhh","email":"luca.nerlich@gmail.com"},"_resolved":"/private/var/folders/44/qf36fwqd6sbg76sbsc0f77nr0000gq/T/fe20b67cdb942b8e4fd6fbabc0c9f789/aemvite-aem-config-0.6.0.tgz","_integrity":"sha512-qGtenSqodUhzbmxY0wVxHI31mKqxJVR3vUT3TR74p5v0gGzlznA4FzEIcgtpPQ9dlcnqFxPkRwBLaKtZb2wmKw==","repository":{"url":"git+https://github.com/LucaNerlich/aem-vite.git","type":"git","directory":"packages/aem-config"},"_npmVersion":"10.9.2","description":"Typed config helper, loader, and Vite build orchestrator for AEM clientlib packages.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"@aemvite/vite-plugin-glob":"^0.6.0","@aemvite/vite-plugin-aem-clientlib":"^0.6.0","@aemvite/vite-plugin-aem-resources":"^0.6.0","@aemvite/vite-plugin-aem-handlebars":"^0.6.0","@aemvite/vite-plugin-aem-css-url-passthrough":"^0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"8.1.0","vitest":"4.1.9","typescript":"^5.9.3","@types/node":"^22.20.0"},"peerDependencies":{"vite":"^8","esbuild":"^0.28"},"_npmOperationalInternal":{"tmp":"tmp/aem-config_0.6.0_1782976412659_0.19765000961148838","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@aemvite/aem-config","version":"0.7.0","keywords":["aem","clientlib","vite","config","edge-delivery","aemvite","build","orchestrator"],"author":{"name":"Luca Nerlich"},"license":"MIT","_id":"@aemvite/aem-config@0.7.0","maintainers":[{"name":"lnhh","email":"luca.nerlich@gmail.com"}],"homepage":"https://github.com/LucaNerlich/aem-vite#readme","bugs":{"url":"https://github.com/LucaNerlich/aem-vite/issues"},"bin":{"aem-build":"dist/cli.mjs"},"dist":{"shasum":"52d7a06fbe8f0d5da6fadcd954de64a7faa18349","tarball":"https://registry.npmjs.org/@aemvite/aem-config/-/aem-config-0.7.0.tgz","fileCount":13,"integrity":"sha512-yffK8rZ+GIlArLCYgZuhk/hiU95qjAZRGPcHf794966gnKaD6SzhU7eR36//2PyuNB742xi3pE0OmYhRFwQj+w==","signatures":[{"sig":"MEUCIQChIycz954PvV4PpRZx4eGMvqy8XcfvLxc8yWYiNP51DwIgGFQNbK8lKD8Eq2j8zttqzkL6reVXNRSDiANFGUaKtU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aemvite%2faem-config@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":87467},"main":"dist/index.mjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","engines":{"node":"^20.19.0 || ^22.18.0 || >=24.11.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"31a4a1f3fe795b0344ce8aa31731134e63c96051","scripts":{"lint":"vp lint","test":"vp test run","build":"vp pack src/index.ts src/cli.ts --dts","test:watch":"vp test","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c8c5a1b3-5e1d-4be4-a7ce-f2a2aa53e2df"}},"repository":{"url":"git+https://github.com/LucaNerlich/aem-vite.git","type":"git","directory":"packages/aem-config"},"_npmVersion":"11.18.0","description":"Typed config helper, loader, and Vite build orchestrator for AEM clientlib packages.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@aemvite/vite-plugin-glob":"^0.7.0","@aemvite/vite-plugin-aem-clientlib":"^0.7.0","@aemvite/vite-plugin-aem-resources":"^0.7.0","@aemvite/vite-plugin-aem-handlebars":"^0.7.0","@aemvite/vite-plugin-aem-css-url-passthrough":"^0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.0","vite-plus":"^0.2.1","typescript":"^5.9.3","@types/node":"^22.20.0"},"peerDependencies":{"vite":"^8","esbuild":"^0.28"},"_npmOperationalInternal":{"tmp":"tmp/aem-config_0.7.0_1783011983698_0.8393863255647873","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@aemvite/aem-config","version":"0.8.0","keywords":["aem","aemvite","build","clientlib","config","edge-delivery","orchestrator","vite"],"author":{"name":"Luca Nerlich"},"license":"MIT","_id":"@aemvite/aem-config@0.8.0","maintainers":[{"name":"lnhh","email":"luca.nerlich@gmail.com"}],"homepage":"https://github.com/LucaNerlich/aem-vite#readme","bugs":{"url":"https://github.com/LucaNerlich/aem-vite/issues"},"bin":{"aem-build":"dist/cli.mjs"},"dist":{"shasum":"ccdfe95e0d8287cac4d9bf83b25e891686b92808","tarball":"https://registry.npmjs.org/@aemvite/aem-config/-/aem-config-0.8.0.tgz","fileCount":13,"integrity":"sha512-Bf7UVCS+yqrMy7Xw9Dp9sSDVkybea2Cp2mJ9zo53lIeOJggM0mMiGMgyFSEUbwceh+vbro40ejw6Xt7DpPOOXw==","signatures":[{"sig":"MEUCIFcJfshQVXw32JiAn5pELIIpKjU7Kq8hGSmUpzNZdbRSAiEAmwpmFWJsTl8+8uloUEse7TDGWFPy8wRtSlFQJ//4RZY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDEFp9zVg2ryK66knSsqf550w8H67vEvX9fhH8neOKFVAiBaVSMGLocXLqj8fssLWbkMQmxqLpyJHSqV4N1zemlOtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aemvite%2faem-config@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100955},"main":"dist/index.mjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","engines":{"node":"^20.19.0 || ^22.18.0 || >=24.11.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"2bb4a590a8e5d91fc42ba3b297d349380a1065d5","scripts":{"lint":"oxlint -c ../../.oxlintrc.json .","test":"vitest run","build":"tsdown src/index.ts src/cli.ts --dts","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c8c5a1b3-5e1d-4be4-a7ce-f2a2aa53e2df"}},"repository":{"url":"git+https://github.com/LucaNerlich/aem-vite.git","type":"git","directory":"packages/aem-config"},"_npmVersion":"12.0.2","description":"Typed config helper, loader, and Vite build orchestrator for AEM clientlib packages.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@aemvite/vite-plugin-glob":"^0.8.0","@aemvite/vite-plugin-aem-clientlib":"^0.8.0","@aemvite/vite-plugin-aem-resources":"^0.8.0","@aemvite/vite-plugin-aem-handlebars":"^0.8.0","@aemvite/vite-plugin-aem-css-url-passthrough":"^0.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.0","typescript":"^5.9.3","@types/node":"^22.20.0"},"peerDependencies":{"vite":"^8","esbuild":"^0.28"},"_npmOperationalInternal":{"tmp":"tmp/aem-config_0.8.0_1789480065092_0.4386642386643862","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@aemvite/aem-config","version":"0.9.0","keywords":["aem","aemvite","build","clientlib","config","edge-delivery","orchestrator","vite"],"author":{"name":"Luca Nerlich"},"license":"MIT","_id":"@aemvite/aem-config@0.9.0","maintainers":[{"name":"lnhh","email":"luca.nerlich@gmail.com"}],"homepage":"https://github.com/LucaNerlich/aem-vite#readme","bugs":{"url":"https://github.com/LucaNerlich/aem-vite/issues"},"bin":{"aem-build":"dist/cli.mjs"},"dist":{"shasum":"285139ee30311c7bd727f53c1a60da20e51fcd2e","tarball":"https://registry.npmjs.org/@aemvite/aem-config/-/aem-config-0.9.0.tgz","fileCount":13,"integrity":"sha512-ia9V1f1yu1U9p3OvHW3DsaGfGjlfDnhEMjy5oUGmsT4KL6F5MXW5q5WNgdlR+ZDlVcVTjL8+OK8zJl1KGNTkaA==","signatures":[{"sig":"MEUCIQCT03BvZ1wt2Ge4AJvAEymm88YX8Q1pIjrDwZerX4giKgIgdUebHr0+aAyCcHOG0Ybum8pvZHcYYZWVZ7P5Pq+hD2M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAMmjmvI62Xp+LRhMV9v7pYQr5LaLf6igU0+oOv6huLrAiA2NplbOVWrUt7qu9F52GkB0JFyNiObVOOZPo1+JtP6aQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aemvite%2faem-config@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":104879},"main":"dist/index.mjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","engines":{"node":"^20.19.0 || ^22.18.0 || >=24.11.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"95190242871ed827e871f924f3b7bee238150df7","scripts":{"lint":"oxlint -c ../../.oxlintrc.json .","test":"vitest run","build":"tsdown src/index.ts src/cli.ts --dts","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c8c5a1b3-5e1d-4be4-a7ce-f2a2aa53e2df"}},"repository":{"url":"git+https://github.com/LucaNerlich/aem-vite.git","type":"git","directory":"packages/aem-config"},"_npmVersion":"12.0.2","description":"Typed config helper, loader, and Vite build orchestrator for AEM clientlib packages.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@aemvite/vite-plugin-glob":"^0.9.0","@aemvite/vite-plugin-aem-clientlib":"^0.9.0","@aemvite/vite-plugin-aem-resources":"^0.9.0","@aemvite/vite-plugin-aem-handlebars":"^0.9.0","@aemvite/vite-plugin-aem-css-url-passthrough":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.0","typescript":"^5.9.3","@types/node":"^22.20.0"},"peerDependencies":{"vite":"^8","esbuild":"^0.28"},"_npmOperationalInternal":{"tmp":"tmp/aem-config_0.9.0_1789483816934_0.03456025106033245","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@aemvite/aem-config","version":"0.10.0","keywords":["aem","aemvite","build","clientlib","config","edge-delivery","orchestrator","vite"],"author":{"name":"Luca Nerlich"},"license":"MIT","_id":"@aemvite/aem-config@0.10.0","maintainers":[{"name":"lnhh","email":"luca.nerlich@gmail.com"}],"homepage":"https://github.com/LucaNerlich/aem-vite#readme","bugs":{"url":"https://github.com/LucaNerlich/aem-vite/issues"},"bin":{"aem-build":"dist/cli.mjs"},"dist":{"shasum":"4aec0fd41e2e8ffe0814257d03157f720efb42b8","tarball":"https://registry.npmjs.org/@aemvite/aem-config/-/aem-config-0.10.0.tgz","fileCount":13,"integrity":"sha512-npg66d04BA3cP4pPPfOJV72qT0L9JidKb9OR2RitYPjb4QG5v2iP2NmIV7cvoNokkeNKLpTPz4dQw9IrKHFuJg==","signatures":[{"sig":"MEUCIQDYSTSS0W3dOI6IUkwK0M/ZBIVkpFlqBgEipW+uaE3eOgIgHj68GUAvFMzjI67RTrYUryOOGuqQ2zVqZY35ke7bGls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFnSmkNeTKUvORIlwLpQvl+8sPK1zhRZfEd47IusfPKIAiEAnOV3EyRaTPhrdXVsmNyixawmxSjy5zAZ/yzKa9p8I9I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aemvite%2faem-config@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":104885},"main":"dist/index.mjs","type":"module","types":"dist/index.d.mts","module":"dist/index.mjs","engines":{"node":"^20.19.0 || ^22.18.0 || >=24.11.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"d82628b121f1f0980eee70d964f1c15ca3b37f1b","scripts":{"lint":"oxlint -c ../../.oxlintrc.json .","test":"vitest run","build":"tsdown src/index.ts src/cli.ts --dts","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c8c5a1b3-5e1d-4be4-a7ce-f2a2aa53e2df"}},"repository":{"url":"git+https://github.com/LucaNerlich/aem-vite.git","type":"git","directory":"packages/aem-config"},"_npmVersion":"12.0.2","description":"Typed config helper, loader, and Vite build orchestrator for AEM clientlib packages.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@aemvite/vite-plugin-glob":"^0.10.0","@aemvite/vite-plugin-aem-clientlib":"^0.10.0","@aemvite/vite-plugin-aem-resources":"^0.10.0","@aemvite/vite-plugin-aem-handlebars":"^0.10.0","@aemvite/vite-plugin-aem-css-url-passthrough":"^0.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.0","typescript":"^5.9.3","@types/node":"^22.20.0"},"peerDependencies":{"vite":"^8","esbuild":"^0.28"},"_npmOperationalInternal":{"tmp":"tmp/aem-config_0.10.0_1789486539180_0.2199537411278356","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"_id":"@aemvite/aem-config@0.11.0","bin":{"aem-build":"dist/cli.mjs"},"bugs":{"url":"https://github.com/LucaNerlich/aem-vite/issues"},"dist":{"shasum":"9a43f4e943ade9c1836f5f846a1bcaaa91ff6513","tarball":"https://registry.npmjs.org/@aemvite/aem-config/-/aem-config-0.11.0.tgz","fileCount":13,"integrity":"sha512-E4jfPG6VcW9FyNPDBjHJM4eDCjwVRklKYumm6VmalAq7KKziHVZcPP/KRqVEhCo9cqH7+2z0I/pGA7tQlodZCQ==","signatures":[{"sig":"MEUCIEgsxVQoYL35QNRPe+hvcRUF33yx7Z+KYVSxiixT6VFoAiEAoHvpYlkaF/THMI4JuaYjb+Kn9DC2nfD2/3H0pCv9/3c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCcds+0ZOf+FukNKfi7+viLZANupkHgAwePY0RaO2ilTgIhANDNIEEyfQp+S724s9oZn9aNtfKj384ov1BQCaSnRK18"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aemvite%2faem-config@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":103832},"main":"dist/index.mjs","name":"@aemvite/aem-config","type":"module","types":"dist/index.d.mts","author":{"name":"Luca Nerlich"},"module":"dist/index.mjs","engines":{"node":"^20.19.0 || ^22.18.0 || >=24.11.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"}},"gitHead":"a28a76a93f400a2739f76217646df74957ea79b1","license":"MIT","scripts":{"lint":"oxlint -c ../../.oxlintrc.json .","test":"vitest run","build":"tsdown src/index.ts src/cli.ts --dts","test:watch":"vitest","prepublishOnly":"npm run build"},"version":"0.11.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c8c5a1b3-5e1d-4be4-a7ce-f2a2aa53e2df"}},"homepage":"https://github.com/LucaNerlich/aem-vite#readme","keywords":["aem","aemvite","build","clientlib","config","edge-delivery","orchestrator","vite"],"repository":{"url":"git+https://github.com/LucaNerlich/aem-vite.git","type":"git","directory":"packages/aem-config"},"_npmVersion":"12.0.2","description":"Typed config helper, loader, and Vite build orchestrator for AEM clientlib packages.","directories":{},"maintainers":[{"name":"lnhh","email":"luca.nerlich@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"@aemvite/vite-plugin-glob":"^0.11.0","@aemvite/vite-plugin-aem-clientlib":"^0.11.0","@aemvite/vite-plugin-aem-resources":"^0.11.0","@aemvite/vite-plugin-aem-handlebars":"^0.11.0","@aemvite/vite-plugin-aem-css-url-passthrough":"^0.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.0","typescript":"^5.9.3","@types/node":"^22.20.0"},"peerDependencies":{"vite":"^8","esbuild":"^0.28"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aem-config_0.11.0_1789487568160_0.002966646716433319"}}},"time":{"created":"2026-06-26T06:23:48.348Z","modified":"2026-09-15T15:52:48.601Z","0.1.0":"2026-06-26T06:23:48.664Z","0.2.2":"2026-06-26T08:23:39.373Z","0.3.0":"2026-06-26T08:40:47.378Z","0.3.1":"2026-06-26T09:06:56.912Z","0.4.0":"2026-06-26T10:45:57.917Z","0.5.0":"2026-06-26T12:17:33.503Z","0.5.1":"2026-06-26T12:45:46.525Z","0.6.0":"2026-07-02T07:13:32.789Z","0.7.0":"2026-07-02T17:06:23.846Z","0.8.0":"2026-09-15T13:47:45.188Z","0.9.0":"2026-09-15T14:50:17.036Z","0.10.0":"2026-09-15T15:35:39.289Z","0.11.0":"2026-09-15T15:52:48.233Z"},"bugs":{"url":"https://github.com/LucaNerlich/aem-vite/issues"},"author":{"name":"Luca Nerlich"},"license":"MIT","homepage":"https://github.com/LucaNerlich/aem-vite#readme","keywords":["aem","aemvite","build","clientlib","config","edge-delivery","orchestrator","vite"],"repository":{"url":"git+https://github.com/LucaNerlich/aem-vite.git","type":"git","directory":"packages/aem-config"},"description":"Typed config helper, loader, and Vite build orchestrator for AEM clientlib packages.","maintainers":[{"name":"lnhh","email":"luca.nerlich@gmail.com"}],"readme":"# @aemvite/aem-config\n\n> Typed config helper, loader, and Vite build orchestrator for AEM\n> `ui.frontend` clientlibs.\n\n`@aemvite/aem-config` is the entry point of the [`@aemvite/*`](https://github.com/LucaNerlich/aem-vite)\ntoolchain. It lets you declare one or more AEM clientlibs in a typed\n`aem.config.ts`, then drives one Vite library build per entry into a shared\n`outDir` and hands off to\n[`@aemvite/vite-plugin-aem-clientlib`](https://github.com/LucaNerlich/aem-vite/tree/main/packages/vite-plugin-aem-clientlib)\nto emit byte-identical `.content.xml` / `js.txt` / `css.txt` descriptors.\n\nIt replaces two legacy pieces in an AEM `ui.frontend` Maven module: the\nhand-maintained split webpack entry configuration **and** the\n`aem-clientlib-generator` `clientlib.config.js`.\n\n## Install\n\n```sh\n# Vite 8 makes `esbuild` an OPTIONAL peer dependency — install it explicitly\n# alongside `vite`, otherwise `npm run prod` fails with `Cannot find package 'esbuild'`.\nnpm i -D @aemvite/aem-config vite esbuild\n# Sass is only needed if your entries import .scss/.sass\nnpm i -D sass\n```\n\n- **Peer dependency:** `vite` `^8` (with Vite 8 also requires `esbuild` `^0.27.0 || ^0.28.0` — Vite declares it as an optional peer, so consumers must install it explicitly)\n- **Engines:** Node `^20.19.0 || ^22.18.0 || >=24.11.0`\n- Depends on all three plugin packages — `@aemvite/vite-plugin-aem-clientlib`, `@aemvite/vite-plugin-glob`, `@aemvite/vite-plugin-aem-resources` — all installed automatically.\n\n## What it does\n\n- Lets you declare every clientlib as plain data (`name`, `entry`,\n  `categories`, …) instead of hand-writing webpack entry blobs.\n- Loads your `aem.config.ts` via Vite's bundled esbuild — no `jiti`, no\n  pre-compile step.\n- Resolves per-clientlib build options (`minify`, `sourcemap`, `target`) in\n  three layers: mode baseline → global → per-clientlib.\n- Runs one Vite library build per entry with `inlineDynamicImports: true`,\n  automatically wiring `@aemvite/vite-plugin-glob` (SCSS/CSS glob expansion)\n  and `@aemvite/vite-plugin-aem-resources` (resources copy). Descriptor-only\n  clientlibs (`entry: ''`) skip the Vite build entirely but still emit their\n  `.content.xml` / `js.txt` / `css.txt`.\n- Names outputs after the clientlib (`<name>.js` / `<name>.css`) so the emitted\n  `js.txt` / `css.txt` are byte-identical to the AEM archetype golden reference.\n- Accepts optional `plugins` / `vite` passthrough in the config so advanced\n  adopters never need to write a custom build script (see\n  [Plugin and Vite config passthrough](#plugin-and-vite-config-passthrough)).\n- Ships an `aem-build` CLI you can call from `npm` scripts (so Maven's\n  `frontend-maven-plugin` stays unchanged). See\n  [CLI: `aem-build`](#cli-aem-build) for where the binary comes from.\n\n## Quick start\n\n```ts\n// aem.config.ts\nimport { defineAemConfig } from '@aemvite/aem-config';\n\nexport default defineAemConfig({\n  clientLibRoot: '../ui.apps/src/main/content/jcr_root/apps/aemvite/clientlibs',\n  clientlibs: [\n    {\n      name: 'site',\n      entry: 'src/main.ts',\n      categories: ['aemvite.site'],\n      dependencies: ['aemvite.dependencies'],\n    },\n    {\n      name: 'dependencies',\n      entry: 'src/deps.ts',\n      categories: ['aemvite.dependencies'],\n    },\n  ],\n});\n```\n\nRun a build:\n\n```sh\nnpx aem-build --mode production --config aem.config.ts\n```\n\nWire it into `package.json`:\n\n```json\n{\n  \"scripts\": {\n    \"dev\": \"aem-build --mode development\",\n    \"prod\": \"aem-build --mode production\"\n  }\n}\n```\n\n## Config shape\n\n### `AemConfig`\n\n| Field           | Type                                   | Default  | Notes                                                                                                                                                                                                         |\n| --------------- | -------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `clientLibRoot` | `string`                               | —        | Output root for emitted `clientlib-<name>/` folders. Absolute or relative to the config file.                                                                                                                 |\n| `clientlibs`    | `AemClientlib[]`                       | —        | One entry per clientlib folder.                                                                                                                                                                               |\n| `defaults`      | `Omit<Partial<AemClientlib>, \"build\">` | `{}`     | Per-clientlib defaults merged into every entry (per-clientlib values win). Excludes `build` — set global build defaults via the top-level `build` field instead; it's rejected with a clear error if present. |\n| `build`         | `BuildOptions`                         | `{}`     | Global build overrides; layered under per-clientlib `build` (see below).                                                                                                                                      |\n| `plugins`       | `PluginOption \\| PluginOption[]`       | _(none)_ | Extra Vite plugins injected into **every** clientlib build (after the built-in glob + resources plugins).                                                                                                     |\n| `vite`          | `UserConfig`                           | _(none)_ | Deep Vite config merged (via `mergeConfig`) into every clientlib build — runs after per-entry wiring and after `plugins`.                                                                                     |\n\n### `AemClientlib`\n\n| Field                 | Type                             | Default                       | Notes                                                                                                                           |\n| --------------------- | -------------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |\n| `name`                | `string`                         | —                             | Clientlib folder name (e.g. `\"site\"` → `clientlib-site`).                                                                       |\n| `entry`               | `string`                         | —                             | Path to the entry source file (relative to the config dir or absolute). Empty string is allowed for descriptor-only clientlibs. |\n| `categories`          | `readonly string[]`              | —                             | AEM `categories=\"[...]\"`. Required, non-empty.                                                                                  |\n| `dependencies`        | `readonly string[]`              | _(omitted)_                   | AEM `dependencies=\"[...]\"`. Omitted from `.content.xml` when empty/undefined.                                                   |\n| `embed`               | `readonly string[]`              | _(none)_                      | Embedded clientlib categories.                                                                                                  |\n| `resources`           | `readonly string[]`              | _(none)_                      | Resource directories to copy into the clientlib's `resources/` folder.                                                          |\n| `allowProxy`          | `boolean`                        | `true`                        | `allowProxy=\"{Boolean}…\"`.                                                                                                      |\n| `serializationFormat` | `\"xml\"`                          | `\"xml\"`                       | `.content.xml` serialization format.                                                                                            |\n| `cssProcessor`        | `readonly string[]`              | `[\"default:none\",\"min:none\"]` | AEM CSS processor directives.                                                                                                   |\n| `jsProcessor`         | `readonly string[]`              | `[\"default:none\",\"min:none\"]` | AEM JS processor directives.                                                                                                    |\n| `build`               | `BuildOptions`                   | `{}`                          | Per-clientlib build overrides; layered over `AemConfig.build`.                                                                  |\n| `plugins`             | `PluginOption \\| PluginOption[]` | _(inherits global)_           | Extra Vite plugins for this clientlib only (appended after the global `plugins`).                                               |\n| `vite`                | `UserConfig`                     | _(inherits global)_           | Per-clientlib deep Vite config override (merged after the global `vite`).                                                       |\n\nArray fields (`cssProcessor`, `jsProcessor`, `dependencies`, `embed`,\n`categories`, `resources`) are replaced wholesale rather than concatenated when\ndefaults are merged.\n\n## Multiple clientlibs\n\nEvery clientlib runs as its own Vite library build into the same `dist/`. The\nfirst build clears the directory; subsequent builds accumulate. Each entry\ninherits `defaults`, then its own values, then its own `build` overrides.\n\n```ts\nexport default defineAemConfig({\n  clientLibRoot: '../clientlibs',\n  defaults: { allowProxy: true },\n  clientlibs: [\n    { name: 'site', entry: 'src/main.ts', categories: ['aemvite.site'] },\n    { name: 'admin', entry: 'src/admin.ts', categories: ['aemvite.admin'] },\n  ],\n});\n```\n\n## Build options (`BuildOptions`)\n\n```ts\ntype BuildOptions = {\n  minify?: boolean | { js?: boolean; css?: boolean };\n  sourcemap?: boolean | 'inline' | 'hidden';\n  target?: string | string[];\n};\n```\n\n### Resolution order\n\nLowest → highest precedence:\n\n1. **Mode baseline**\n   - `development`: `{ minify: false, sourcemap: \"inline\" }`\n   - `production`: `{ minify: { js: true, css: true }, sourcemap: false }`\n   - Default `target` = `\"es2015\"`.\n2. **Global** `AemConfig.build` — applied to every clientlib.\n3. **Per-clientlib** `AemClientlib.build` — wins over the global block.\n\n`minify`: a boolean toggles both JS and CSS; the object form overrides a single\nasset and lets the other fall through to the next layer. So in production,\n`{ minify: { js: false } }` on a clientlib keeps CSS minification on.\n\n`sourcemap` and `target` are simple overrides — the higher layer wins entirely.\n\nWhen `sourcemap` is `true` (or `\"hidden\"`), `buildClientlibs` post-processes\nthe Vite output so the emitted `.map` files land at\n`clientlib-<name>/resources/sourcemaps/` (AEM serves them as static\nresources) and the `//# sourceMappingURL=` comment inside the staged `.js` /\n`.css` is rewritten to match. The `sources[]` array in each map is also\nrewritten to a virtual `aemvite://<clientlib>/<project-relative>` URL so the\nDevTools Sources tree is fetch-free, ignore-list-safe, and grouped by\nclientlib. `\"inline\"` skips this layout — the map lives inside the `.js` as a\nbase64 data URI. See the\n[Sourcemaps section in the root README](https://github.com/LucaNerlich/aem-vite#sourcemaps-when-enabled)\nfor the full on-disk layout, runtime resolution, and rationale.\n\n### Global override\n\n```ts\nexport default defineAemConfig({\n  clientLibRoot: '../clientlibs',\n  build: { sourcemap: 'hidden', target: 'es2020' },\n  clientlibs: [{ name: 'site', entry: 'src/main.ts', categories: ['aemvite.site'] }],\n});\n```\n\n### Per-clientlib override\n\n```ts\nexport default defineAemConfig({\n  clientLibRoot: '../clientlibs',\n  build: { minify: true },\n  clientlibs: [\n    {\n      name: 'site',\n      entry: 'src/main.ts',\n      categories: ['aemvite.site'],\n      // CSS only — keep JS minified per the global block.\n      build: { minify: { css: false }, sourcemap: 'inline' },\n    },\n    {\n      name: 'admin',\n      entry: 'src/admin.ts',\n      categories: ['aemvite.admin'],\n      build: { target: ['es2018', 'chrome70'] },\n    },\n  ],\n});\n```\n\n## Backward compatibility\n\nWith no `build` set anywhere, resolved options match the mode baselines:\n\n| Mode          | JS minify    | CSS minify   | sourcemap  | target     |\n| ------------- | ------------ | ------------ | ---------- | ---------- |\n| `development` | off          | off          | `\"inline\"` | `\"es2015\"` |\n| `production`  | on (esbuild) | on (esbuild) | off        | `\"es2015\"` |\n\nEmitted clientlib descriptors (`.content.xml`, `js.txt`, `css.txt`) are\nunaffected by build options and remain byte-identical to the golden reference.\n\n## API\n\nAll exports from `@aemvite/aem-config`:\n\n### Functions\n\n| Export                | Signature                                                                                       | Effect                                                                                                                                                                                                           |\n| --------------------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `defineAemConfig`     | `(config: AemConfig) => AemConfig`                                                              | Typed identity helper for `aem.config.ts`.                                                                                                                                                                       |\n| `loadAemConfig`       | `(path: string) => Promise<ResolvedAemConfig>`                                                  | Load a `.ts`/`.mts`/`.cts` config via Vite's bundled esbuild (`loadConfigFromFile`), or a `.mjs`/`.js` config via dynamic `import()`. Merges defaults before returning.                                          |\n| `mergeDefaults`       | `(config: AemConfig) => ResolvedAemConfig`                                                      | Apply package + user `defaults` to every clientlib.                                                                                                                                                              |\n| `resolveBuildOptions` | `(mode: BuildMode, global?: BuildOptions, perClientlib?: BuildOptions) => ResolvedBuildOptions` | Resolve the three-layer build options for a single clientlib. Exported for tooling and tests.                                                                                                                    |\n| `buildClientlibs`     | `(options: BuildClientlibsOptions) => Promise<{ config: ResolvedAemConfig; outDir: string }>`   | Fully-orchestrated build: wires glob + resources plugins, runs one Vite library build per entry, names outputs after the clientlib, calls the clientlib emitter. Descriptor-only clientlibs skip the Vite build. |\n\n### Constants\n\n| Export          | Type                                                                                                     | Value                                                                                                                           |\n| --------------- | -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |\n| `defaults`      | `Required<Pick<AemClientlib, \"allowProxy\" \\| \"serializationFormat\" \\| \"cssProcessor\" \\| \"jsProcessor\">>` | Built-in per-clientlib defaults (see `AemClientlib` table).                                                                     |\n| `modeBaselines` | `Record<BuildMode, BuildOptions>`                                                                        | `development`: `{ minify: false, sourcemap: \"inline\" }`. `production`: `{ minify: { js: true, css: true }, sourcemap: false }`. |\n| `defaultTarget` | `string`                                                                                                 | `\"es2015\"`.                                                                                                                     |\n\n### Types\n\n`AemConfig`, `AemClientlib`, `BuildOptions`, `BuildMode`, `BuildClientlibsOptions`,\n`ProcessorList`, `ResolvedAemClientlib`, `ResolvedAemConfig`, `ResolvedBuildOptions`.\n\n## CLI: `aem-build`\n\n```\nUsage: aem-build [options]\n\nOptions:\n  --mode, -m  <dev|prod|development|production>   Build mode (default: production)\n  --config, -c <path>                             Path to aem.config.ts\n                                                  (default: ./aem.config.ts,\n                                                   then .mts, .mjs, .js)\n  --out-dir, -o <path>                            Staging directory\n                                                  (default: ./dist)\n  -h, --help                                      Show help\n```\n\nBoth shorthand (`dev`/`prod`) and full (`development`/`production`) mode names\nare accepted. The CLI exits with code `1` and prints the error stack on any\nfailure.\n\n### Where does `aem-build` come from?\n\n`@aemvite/aem-config/package.json` declares:\n\n```json\n{\n  \"bin\": {\n    \"aem-build\": \"dist/cli.js\"\n  }\n}\n```\n\nWhen you run `npm install`, npm creates a symlink\n`node_modules/.bin/aem-build → ../aemvite/aem-config/dist/cli.js`. Scripts in\n`package.json` are run with `node_modules/.bin` on the `PATH`, so `aem-build`\nin an npm script just works:\n\n```json\n{\n  \"scripts\": {\n    \"prod\": \"aem-build --mode prod --config aem.config.mjs\"\n  }\n}\n```\n\nYou can also call it directly with `npx aem-build ...` without installing\nanything first.\n\n## Plugin and Vite config passthrough\n\n`@aemvite/aem-config` 0.2.0 added optional `plugins` and `vite` fields to\nboth `AemConfig` (global) and `AemClientlib` (per-clientlib). These let you\ninject Vite plugins or deep config overrides without writing a custom build\nscript.\n\n**When to use it:**\n\n- Inject a framework plugin (e.g. React, Vue, Lit) for all clientlibs.\n- Add `resolve.alias` entries so `@/` resolves to your `src/` root.\n- Turn on `build.cssCodeSplit` for one specific clientlib.\n- Use a custom transform plugin for a single entry.\n\n**Resolution order** inside each Vite build:\n\n1. Built-in `aemViteGlob()` (SCSS glob expansion — always first)\n2. Built-in `aemResources(...)` (resources copy — when `resources` is set)\n3. Global `config.plugins` (applied to every clientlib)\n4. Per-clientlib `clientlib.plugins` (appended for that clientlib only)\n5. Global `config.vite` merged via `mergeConfig`\n6. Per-clientlib `clientlib.vite` merged via `mergeConfig`\n\n### Global plugin example\n\n```js\n// aem.config.mjs\nimport { defineAemConfig } from '@aemvite/aem-config';\nimport myFrameworkPlugin from 'some-vite-plugin';\n\nexport default defineAemConfig({\n  clientLibRoot: '../ui.apps/.../clientlibs',\n  plugins: [myFrameworkPlugin()], // runs for every clientlib\n  clientlibs: [\n    { name: 'site', entry: 'src/main.ts', categories: ['myproject.site'] },\n    { name: 'admin', entry: 'src/admin.ts', categories: ['myproject.admin'] },\n  ],\n});\n```\n\n### Global Vite config override (e.g. aliases)\n\n```js\nexport default defineAemConfig({\n  clientLibRoot: '../ui.apps/.../clientlibs',\n  vite: {\n    resolve: {\n      alias: { '@': '/src/main/webpack' },\n    },\n  },\n  clientlibs: [/* … */],\n});\n```\n\n### Per-clientlib override\n\n```js\nexport default defineAemConfig({\n  clientLibRoot: '../ui.apps/.../clientlibs',\n  plugins: [sharedPlugin()], // injected into every clientlib\n  clientlibs: [\n    {\n      name: 'site',\n      entry: 'src/main.ts',\n      categories: ['myproject.site'],\n      // Override only for this clientlib — appended after sharedPlugin()\n      plugins: [siteOnlyPlugin()],\n      vite: { build: { cssCodeSplit: false } },\n    },\n    {\n      name: 'admin',\n      entry: 'src/admin.ts',\n      categories: ['myproject.admin'],\n      // no per-clientlib plugins — only sharedPlugin() runs here\n    },\n  ],\n});\n```\n\n> `plugins` and `vite` are optional. If you don't need them, omit them — the\n> build works identically to 0.1.x with no config changes required.\n\n## Notes & caveats\n\n- **Per-entry isolation:** every clientlib runs as its own `vite build()` with\n  `inlineDynamicImports: true`, so code-splitting between clientlibs is by\n  design impossible — each clientlib produces a single `.js` and (optional)\n  `.css`. Share code via a dedicated `dependencies` clientlib instead.\n- **`outDir` lifecycle:** `emptyOutDir: true` is set only for the first build;\n  subsequent builds accumulate into the same `dist/`. Don't run two\n  `buildClientlibs()` invocations against the same `outDir` in parallel.\n- **`.ts` config loading:** uses Vite's `loadConfigFromFile`. Vite is imported\n  lazily so tests that stub the loader don't pay the startup cost.\n- **Descriptor parity:** build options never affect emitted descriptors —\n  `.content.xml`, `js.txt`, and `css.txt` remain byte-identical to the golden\n  reference regardless of mode, minify, or sourcemap settings.\n\n## License\n\n[MIT](./LICENSE) © Luca Nerlich\n\n## Repository\n\n<https://github.com/LucaNerlich/aem-vite> (this package lives in\n[`packages/aem-config`](https://github.com/LucaNerlich/aem-vite/tree/main/packages/aem-config)).\n","readmeFilename":"README.md"}