{"_id":"@aligent/nx-appbuilder","_rev":"11-2beb9b6447ffd49847051b6180dd2cfd","name":"@aligent/nx-appbuilder","dist-tags":{"latest":"0.6.3"},"versions":{"0.2.0":{"name":"@aligent/nx-appbuilder","version":"0.2.0","author":{"name":"Aligent"},"license":"MIT","_id":"@aligent/nx-appbuilder@0.2.0","maintainers":[{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"aligent-danielvanderploeg","email":"daniel.vanderploeg@aligent.com.au"},{"name":"aligent-bot","email":"devops+npm@aligent.com.au"},{"name":"tom.thorogood","email":"tom.thorogood@aligent.com.au"}],"homepage":"https://github.com/aligent/microservice-development-utilities#readme","bugs":{"url":"https://github.com/aligent/microservice-development-utilities/issues"},"dist":{"shasum":"3bd72ebe62b01d930c834b52d8cbd8507917c726","tarball":"https://registry.npmjs.org/@aligent/nx-appbuilder/-/nx-appbuilder-0.2.0.tgz","fileCount":82,"integrity":"sha512-+qAT6iX3UetDXQ8kHP8rwhPzaVOYO8eesmdRl39aRLITFupyM5Rr8pNAEowTN6ijEqg2rDqMlkgrEKO7V0Jv3w==","signatures":[{"sig":"MEUCIQCHrmXMUZtnKDTSQzbl88B5LOpkZy5HMiuorZIQMDMtsQIgNt6e4VEWefRYETDbXl0aiFWSJQbkeK3pwrwuo9dTIBk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93320},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"03e85d7e3620f690f1b39143f753a4fc22d658ff","typings":"./src/index.d.ts","_npmUser":{"name":"aligent-danielvanderploeg","email":"daniel.vanderploeg@aligent.com.au"},"generators":"./generators.json","repository":{"url":"git+https://github.com/aligent/microservice-development-utilities.git","type":"git","directory":"packages/nx-appbuilder"},"_npmVersion":"11.11.0","description":"The `@aligent/nx-appbuilder` package provides Nx generators for Adobe App Builder development. It scaffolds a workspace shell and individual App Builder apps inside an Nx monorepo, wired up against Aligent's `@adobe/aio-sdk` / `@adobe/aio-commerce-lib-*` ","directories":{},"_nodeVersion":"24.14.1","dependencies":{"enquirer":"^2.3.6","@nx/devkit":"22.4.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nx-appbuilder_0.2.0_1778456763941_0.06283190879264344","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@aligent/nx-appbuilder","version":"0.2.1","author":{"name":"Aligent"},"license":"MIT","_id":"@aligent/nx-appbuilder@0.2.1","maintainers":[{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"aligent-bot","email":"devops+npm@aligent.com.au"},{"name":"tom.thorogood","email":"tom.thorogood@aligent.com.au"}],"homepage":"https://github.com/aligent/microservice-development-utilities#readme","bugs":{"url":"https://github.com/aligent/microservice-development-utilities/issues"},"dist":{"shasum":"8e1fcb592d34761ec2777a6cbc879de7a7bfead6","tarball":"https://registry.npmjs.org/@aligent/nx-appbuilder/-/nx-appbuilder-0.2.1.tgz","fileCount":83,"integrity":"sha512-oQ0z2cNYBpBhO6j8K9vgu/np1rjOpH9Dbw73E6c14hIiJm8K3CqYiabNUT3iz3LhecWXsfMBu5NCexSfyqTK+A==","signatures":[{"sig":"MEUCIFZrOi2is+yvH0CsMIQlcXsd+bCUOSNB3HAqtpvGpv+uAiEA5W3YDlNKNtALI5lYNf3JXZkRANDrDZkEOohycCr62DI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aligent%2fnx-appbuilder@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":94596},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"244059feb6d3067a9efaca172ac69a2428f46c4e","typings":"./src/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c63dc81b-5ab4-4553-b255-dc0525d70001"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/aligent/microservice-development-utilities.git","type":"git","directory":"packages/nx-appbuilder"},"_npmVersion":"11.11.0","description":"The `@aligent/nx-appbuilder` package provides Nx generators for Adobe App Builder development. It scaffolds a workspace shell and individual App Builder apps inside an Nx monorepo, wired up against Aligent's `@adobe/aio-sdk` / `@adobe/aio-commerce-lib-*` ","directories":{},"_nodeVersion":"24.14.1","dependencies":{"enquirer":"^2.3.6","@nx/devkit":"22.4.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nx-appbuilder_0.2.1_1779684091343_0.3356436050327547","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@aligent/nx-appbuilder","version":"0.3.0","author":{"name":"Aligent"},"license":"MIT","_id":"@aligent/nx-appbuilder@0.3.0","maintainers":[{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"aligent-bot","email":"devops+npm@aligent.com.au"},{"name":"tom.thorogood","email":"tom.thorogood@aligent.com.au"}],"homepage":"https://github.com/aligent/microservice-development-utilities#readme","bugs":{"url":"https://github.com/aligent/microservice-development-utilities/issues"},"dist":{"shasum":"54057ff14d3c5725d787843a0549338a4319bc65","tarball":"https://registry.npmjs.org/@aligent/nx-appbuilder/-/nx-appbuilder-0.3.0.tgz","fileCount":86,"integrity":"sha512-k6CZhfBJt+cyc5mZYa9t7J+72dNk7UW2xtaHhS0X+7SVjFgtXlCFyFlrH9nMer41N74XMmpYwDjCfG7CmfoUaw==","signatures":[{"sig":"MEYCIQDVpqTKh15RyYIViGmGssOE17uoHXpQhiJAYo/UYiK8tgIhAPjofTOvDTiBYyu/+aX+4s/nOI/PyJhDMObQGtxYkoXt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aligent%2fnx-appbuilder@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":98507},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"febc63577e4953bb2b9bb5f927beae71177c4e46","typings":"./src/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c63dc81b-5ab4-4553-b255-dc0525d70001"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/aligent/microservice-development-utilities.git","type":"git","directory":"packages/nx-appbuilder"},"_npmVersion":"11.11.0","description":"The `@aligent/nx-appbuilder` package provides Nx generators for Adobe App Builder development. It scaffolds a workspace shell and individual App Builder apps inside an Nx monorepo, wired up against Aligent's `@adobe/aio-sdk` / `@adobe/aio-commerce-lib-*` ","directories":{},"_nodeVersion":"24.14.1","dependencies":{"enquirer":"^2.3.6","@nx/devkit":"22.4.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nx-appbuilder_0.3.0_1779855183233_0.043976674990388265","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@aligent/nx-appbuilder","version":"0.4.0","author":{"name":"Aligent"},"license":"MIT","_id":"@aligent/nx-appbuilder@0.4.0","maintainers":[{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"aligent-bot","email":"devops+npm@aligent.com.au"},{"name":"tom.thorogood","email":"tom.thorogood@aligent.com.au"}],"homepage":"https://github.com/aligent/microservice-development-utilities#readme","bugs":{"url":"https://github.com/aligent/microservice-development-utilities/issues"},"dist":{"shasum":"938a0a0371dcfca335bc5dbf1950ef3bab547c04","tarball":"https://registry.npmjs.org/@aligent/nx-appbuilder/-/nx-appbuilder-0.4.0.tgz","fileCount":85,"integrity":"sha512-tIYBIM/wxkMCW6H9AVFoE7cCd7uBczqgMCcNHBO96NrYCxU7YkKSQz5aNVUBpm4h/oViX4ywwu2sT36+IElbGQ==","signatures":[{"sig":"MEUCIG+i+T69RAt01GzvPlP0aYvvLXAa7K1fjhOiLtHeTSCKAiEA3X3sLfrYvvTA3UXn47hB7Z8iD9OrfK9RbniAiIvxZaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aligent%2fnx-appbuilder@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":98778},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"601bb2ecf2ec19d49716f5b1aecfc93275eec37a","typings":"./src/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c63dc81b-5ab4-4553-b255-dc0525d70001"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/aligent/microservice-development-utilities.git","type":"git","directory":"packages/nx-appbuilder"},"_npmVersion":"11.11.0","description":"The `@aligent/nx-appbuilder` package provides Nx generators for Adobe App Builder development. It scaffolds a workspace shell and individual App Builder apps inside an Nx monorepo, wired up against Aligent's `@adobe/aio-sdk` / `@adobe/aio-commerce-lib-*` ","directories":{},"_nodeVersion":"24.14.1","dependencies":{"enquirer":"^2.3.6","@nx/devkit":"22.4.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nx-appbuilder_0.4.0_1780624137009_0.947906028754949","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@aligent/nx-appbuilder","version":"0.4.1","author":{"name":"Aligent"},"license":"MIT","_id":"@aligent/nx-appbuilder@0.4.1","maintainers":[{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"aligent-bot","email":"devops+npm@aligent.com.au"},{"name":"tom.thorogood","email":"tom.thorogood@aligent.com.au"}],"homepage":"https://github.com/aligent/microservice-development-utilities#readme","bugs":{"url":"https://github.com/aligent/microservice-development-utilities/issues"},"dist":{"shasum":"a1f5cf93d3e99a10f5f7c3b8e9528df183a59bd7","tarball":"https://registry.npmjs.org/@aligent/nx-appbuilder/-/nx-appbuilder-0.4.1.tgz","fileCount":85,"integrity":"sha512-orLdwP24AMbRIZMcX3xKoUnFNKSULRhKmFRj4pSwnCeorGMcnQ1TYkeGo5EJIo05Bf2m+0jEWWWKm8TJLjK+fg==","signatures":[{"sig":"MEUCIFNWUubx3MgzjnBDyo/bZOHF1+Dtgfy3luC4XV6RfSZxAiEAjXp+Djh0UY+OIK8RlL0p/1tfvl0MAEwQmh+GFOeWYTY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aligent%2fnx-appbuilder@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":98778},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"4f53e0b79b0a864a6476ac539302e96eeaf03fc1","typings":"./src/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c63dc81b-5ab4-4553-b255-dc0525d70001"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/aligent/microservice-development-utilities.git","type":"git","directory":"packages/nx-appbuilder"},"_npmVersion":"11.11.0","description":"The `@aligent/nx-appbuilder` package provides Nx generators for Adobe App Builder development. It scaffolds a workspace shell and individual App Builder apps inside an Nx monorepo, wired up against Aligent's `@adobe/aio-sdk` / `@adobe/aio-commerce-lib-*` ","directories":{},"_nodeVersion":"24.14.1","dependencies":{"enquirer":"2.4.1","@nx/devkit":"22.7.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nx-appbuilder_0.4.1_1782094315428_0.6714886736232","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@aligent/nx-appbuilder","version":"0.5.0","author":{"name":"Aligent"},"license":"MIT","_id":"@aligent/nx-appbuilder@0.5.0","maintainers":[{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"aligent-bot","email":"devops+npm@aligent.com.au"},{"name":"tom.thorogood","email":"tom.thorogood@aligent.com.au"}],"homepage":"https://github.com/aligent/microservice-development-utilities#readme","bugs":{"url":"https://github.com/aligent/microservice-development-utilities/issues"},"dist":{"shasum":"6902e8435276404b4fd91b4d0710e5d30b5cd69f","tarball":"https://registry.npmjs.org/@aligent/nx-appbuilder/-/nx-appbuilder-0.5.0.tgz","fileCount":83,"integrity":"sha512-1Qz2zAF4ZqzpgSxZhjCIiy7YRX4GAEm0j1byM0scZlMLoDvjEVED0C6ssqL3QHrR8pMlRkn5RMivyuPOw3EBkQ==","signatures":[{"sig":"MEQCIFpcZO/9xnO6bqeH5CZYeXuERqpAZz0SulPNl+1c3yOJAiAWr/OnE7p8M+RiwO2J+DJn5n7GQEvMAIDY3gbihFD+aQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aligent%2fnx-appbuilder@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":104210},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"1470593945d8aac7089f453d5851901627d45a85","typings":"./src/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c63dc81b-5ab4-4553-b255-dc0525d70001"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/aligent/microservice-development-utilities.git","type":"git","directory":"packages/nx-appbuilder"},"_npmVersion":"11.11.0","description":"The `@aligent/nx-appbuilder` package provides Nx generators for Adobe App Builder development. It scaffolds a workspace shell and individual App Builder apps inside an Nx monorepo, wired up against Aligent's `@adobe/aio-sdk` / `@adobe/aio-commerce-lib-*` ","directories":{},"_nodeVersion":"24.14.1","dependencies":{"enquirer":"2.4.1","@nx/devkit":"22.7.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nx-appbuilder_0.5.0_1782261851416_0.999465474868902","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@aligent/nx-appbuilder","version":"0.6.0","author":{"name":"Aligent"},"license":"MIT","_id":"@aligent/nx-appbuilder@0.6.0","maintainers":[{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"aligent-bot","email":"devops+npm@aligent.com.au"},{"name":"tom.thorogood","email":"tom.thorogood@aligent.com.au"}],"homepage":"https://github.com/aligent/microservice-development-utilities#readme","bugs":{"url":"https://github.com/aligent/microservice-development-utilities/issues"},"dist":{"shasum":"c171237c716bab3145c93cfba7d7c28f06eba3a6","tarball":"https://registry.npmjs.org/@aligent/nx-appbuilder/-/nx-appbuilder-0.6.0.tgz","fileCount":77,"integrity":"sha512-5FPRQbbRdifMNpvqOunh59NWTSc5xovsDENRCDhpKz5NXpEgwObuPCXdohKHlkuuI05Llu8ullms7ZEuuY0iWg==","signatures":[{"sig":"MEYCIQDVmo8yFRulNsMS7VDa2dfxDwgl3w6owHMN2qxjC4OFkAIhAJFWoshfQdFjFnPuGUtfLTlPDtlJPW5EBYeTPnLTqMZR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aligent%2fnx-appbuilder@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":116999},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"46c5293e5ae96b7ae219bfb1ea521efab468c3c6","typings":"./src/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c63dc81b-5ab4-4553-b255-dc0525d70001"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/aligent/microservice-development-utilities.git","type":"git","directory":"packages/nx-appbuilder"},"_npmVersion":"11.11.0","description":"The `@aligent/nx-appbuilder` package provides Nx generators for Adobe App Builder development. It scaffolds a workspace shell and individual App Builder apps inside an Nx monorepo, wired up against Aligent's `@adobe/aio-sdk` / `@adobe/aio-commerce-lib-*` ","directories":{},"_nodeVersion":"24.14.1","dependencies":{"enquirer":"2.4.1","@nx/devkit":"22.7.5"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nx-appbuilder_0.6.0_1786587148311_0.4549141300987818","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@aligent/nx-appbuilder","version":"0.6.1","author":{"name":"Aligent"},"license":"MIT","_id":"@aligent/nx-appbuilder@0.6.1","maintainers":[{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"aligent-bot","email":"devops+npm@aligent.com.au"},{"name":"tom.thorogood","email":"tom.thorogood@aligent.com.au"}],"homepage":"https://github.com/aligent/microservice-development-utilities#readme","bugs":{"url":"https://github.com/aligent/microservice-development-utilities/issues"},"dist":{"shasum":"060d57c864041b9e4225272623798b0a8d1e27c6","tarball":"https://registry.npmjs.org/@aligent/nx-appbuilder/-/nx-appbuilder-0.6.1.tgz","fileCount":77,"integrity":"sha512-/yLu7ZaUKyxIeiErw4dCRUBUWcMxGhrT8TbzHBKQyIFuk85IjXA1j+5KGlPF3qWg7RnibqJxZgbiZlmwkrv6UQ==","signatures":[{"sig":"MEYCIQCsOfbxIXWHPGfUWRVLXIDY7JPZAR3OQoqBwu/+eFWDygIhAIcBOdfKC6x5WiSuRFs/aabgAJU65lkLJN2p4uKgeYBA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aligent%2fnx-appbuilder@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":92385},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"135acf0c1f1e51c4f6b4a4998b87709ae0a7ab50","typings":"./src/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c63dc81b-5ab4-4553-b255-dc0525d70001"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/aligent/microservice-development-utilities.git","type":"git","directory":"packages/nx-appbuilder"},"_npmVersion":"11.11.0","description":"The `@aligent/nx-appbuilder` package provides Nx generators for Adobe App Builder development. It scaffolds a workspace shell and individual App Builder apps inside an Nx monorepo, wired up against Aligent's `@adobe/aio-sdk` / `@adobe/aio-commerce-lib-*` ","directories":{},"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","enquirer":"2.4.1","@nx/devkit":"23.1.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nx-appbuilder_0.6.1_1788911427450_0.3944855186902465","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@aligent/nx-appbuilder","version":"0.6.2","author":{"name":"Aligent"},"license":"MIT","_id":"@aligent/nx-appbuilder@0.6.2","maintainers":[{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"aligent-bot","email":"devops+npm@aligent.com.au"},{"name":"tom.thorogood","email":"tom.thorogood@aligent.com.au"}],"homepage":"https://github.com/aligent/microservice-development-utilities#readme","bugs":{"url":"https://github.com/aligent/microservice-development-utilities/issues"},"dist":{"shasum":"fa968140336cd1e65d391b4757195282d0b5f1db","tarball":"https://registry.npmjs.org/@aligent/nx-appbuilder/-/nx-appbuilder-0.6.2.tgz","fileCount":77,"integrity":"sha512-J3aUobxEBzNhWGYe7ZIsmfg6agW365ZD+GPCfuGyQU+4OOmAyMsbAgyrxJXMUIVYFDmf7+Hd0/RHmJxz9HNsQQ==","signatures":[{"sig":"MEQCIHQ27w7T0PdpZS319a5cx51W1NVn0La8/dp9vtjSf2VAAiBGyPErHKT1PT2njVFMhgx+WIyUkImyw5Vkk3Jj1QuaMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aligent%2fnx-appbuilder@0.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":92385},"main":"./src/index.js","type":"commonjs","types":"./src/index.d.ts","gitHead":"44bb30cc1539630279decb30de984100804057f9","typings":"./src/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c63dc81b-5ab4-4553-b255-dc0525d70001"}},"generators":"./generators.json","repository":{"url":"git+https://github.com/aligent/microservice-development-utilities.git","type":"git","directory":"packages/nx-appbuilder"},"_npmVersion":"11.11.0","description":"The `@aligent/nx-appbuilder` package provides Nx generators for Adobe App Builder development. It scaffolds a workspace shell and individual App Builder apps inside an Nx monorepo, wired up against Aligent's `@adobe/aio-sdk` / `@adobe/aio-commerce-lib-*` ","directories":{},"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","enquirer":"2.4.1","@nx/devkit":"23.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/nx-appbuilder_0.6.2_1788998594707_0.2929635153377035","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"_id":"@aligent/nx-appbuilder@0.6.3","bugs":{"url":"https://github.com/aligent/microservice-development-utilities/issues"},"dist":{"shasum":"365e2a13b54fbef77ca29d650cd530b1128f5275","tarball":"https://registry.npmjs.org/@aligent/nx-appbuilder/-/nx-appbuilder-0.6.3.tgz","fileCount":87,"integrity":"sha512-kzWaWrpobIwNoYRBfPF8xCe4Be9DMvoWsBj3sQlUArazcTPwyzLUdaBUmwFID7rv5k7v1nDtBHBFYn7SBMPwZg==","signatures":[{"sig":"MEUCIBzXqbIUxjfdR6pFq8rBBka+UqVEWQe4jof3lh+i4aJWAiEA7gZ6xcUJmyoFwk+dtSnBatKugUdBltwnGlk/RdxV2SA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHUQcswh86rpwx0Kkr+7P2oQVqZ/s5OHp9Wjl1/rUWB5AiBgWfMhLnyZ+ggEApodxJ04Rk62r7v36txXnTm/62sAsw=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aligent%2fnx-appbuilder@0.6.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":117458},"main":"./src/index.js","name":"@aligent/nx-appbuilder","type":"commonjs","types":"./src/index.d.ts","author":{"name":"Aligent"},"gitHead":"208162b51bc413ae3185eb1c132d9faf5fac8079","license":"MIT","typings":"./src/index.d.ts","version":"0.6.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c63dc81b-5ab4-4553-b255-dc0525d70001"}},"homepage":"https://github.com/aligent/microservice-development-utilities#readme","generators":"./generators.json","repository":{"url":"git+https://github.com/aligent/microservice-development-utilities.git","type":"git","directory":"packages/nx-appbuilder"},"_npmVersion":"11.11.0","description":"The `@aligent/nx-appbuilder` package provides Nx generators for Adobe App Builder development. It scaffolds a workspace shell and individual App Builder apps inside an Nx monorepo, wired up against Aligent's `@adobe/aio-sdk` / `@adobe/aio-commerce-lib-*` ","directories":{},"maintainers":[{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"aligent-bot","email":"devops+npm@aligent.com.au"},{"name":"tom.thorogood","email":"tom.thorogood@aligent.com.au"}],"_nodeVersion":"24.14.1","dependencies":{"tslib":"^2.8.1","enquirer":"2.4.1","@nx/devkit":"23.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nx-appbuilder_0.6.3_1790211329986_0.4074838613511502"}}},"time":{"created":"2026-05-10T23:46:03.598Z","modified":"2026-09-24T00:55:30.450Z","0.2.0":"2026-05-10T23:46:04.080Z","0.2.1":"2026-05-25T04:41:31.489Z","0.3.0":"2026-05-27T04:13:03.382Z","0.4.0":"2026-06-05T01:48:57.181Z","0.4.1":"2026-06-22T02:11:55.583Z","0.5.0":"2026-06-24T00:44:11.540Z","0.6.0":"2026-08-13T02:12:28.456Z","0.6.1":"2026-09-08T23:50:27.581Z","0.6.2":"2026-09-10T00:03:14.873Z","0.6.3":"2026-09-24T00:55:30.073Z"},"bugs":{"url":"https://github.com/aligent/microservice-development-utilities/issues"},"author":{"name":"Aligent"},"license":"MIT","homepage":"https://github.com/aligent/microservice-development-utilities#readme","repository":{"url":"git+https://github.com/aligent/microservice-development-utilities.git","type":"git","directory":"packages/nx-appbuilder"},"description":"The `@aligent/nx-appbuilder` package provides Nx generators for Adobe App Builder development. It scaffolds a workspace shell and individual App Builder apps inside an Nx monorepo, wired up against Aligent's `@adobe/aio-sdk` / `@adobe/aio-commerce-lib-*` ","maintainers":[{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"},{"name":"aligent-bot","email":"devops+npm@aligent.com.au"},{"name":"tom.thorogood","email":"tom.thorogood@aligent.com.au"}],"readme":"# Nx App Builder\n\nThe `@aligent/nx-appbuilder` package provides Nx generators for Adobe App Builder development. It scaffolds a workspace shell and individual App Builder apps inside an Nx monorepo, wired up against Aligent's `@adobe/aio-sdk` / `@adobe/aio-commerce-lib-*` conventions.\n\n## Generators\n\n### Preset Generator\n\nThe preset generator initialises a new App Builder monorepo. It is invoked indirectly via either `@aligent/create-workspace` (the Aligent-flavoured wrapper) or vanilla `create-nx-workspace`, and produces the workspace shell only — apps are added afterwards with the `app` generator.\n\n#### Usage\n\n```bash\n# Recommended: the Aligent wrapper. Requires corepack to be enabled.\nnpx @aligent/create-workspace@latest --preset=@aligent/nx-appbuilder\n\n# Or directly via create-nx-workspace (will prompt for nodeVersion if omitted):\nnpx create-nx-workspace@latest --preset=@aligent/nx-appbuilder\n```\n\n> The `@aligent/create-workspace` wrapper calls `create-nx-workspace` under the hood, prompts for the preset's options (workspace name, target Node.js version), and removes the npm-bootstrap artefacts (`package-lock.json`, `node_modules`, `.nx`) afterwards so the workspace is ready for `yarn install`.\n\n#### Options\n\n| Option | Type   | Required | Default | Description                                                                                                   |\n|--------|--------|----------|---------|---------------------------------------------------------------------------------------------------------------|\n| `name` | string | Yes      | -       | Workspace name (kebab-case). Used as the `@aligent/<name>` npm package name and the workspace directory name. |\n\n#### Post-generation setup\n\nAfter running the preset generator, configure the npm registry token before the first `npm install`:\n\n- **`NPM_TOKEN`** — the generated `.npmrc` points `@aligent` at `https://npm.corp.aligent.consulting/` and reads `${NPM_TOKEN}` for auth. Generate a token by signing in to the registry with your GitHub account, then export it in your shell:\n\n  ```bash\n  export NPM_TOKEN=<your-token>\n  ```\n\n#### What it creates\n\nThe preset generator scaffolds:\n\n- **Root configuration files**:\n  - `package.json` - Workspace manifest with `lint` / `check-types` / `test` / `build` scripts (affected + run-many variants)\n  - `nx.json` - Nx workspace configuration with cached `lint` / `check-types` / `test` / `build` target defaults\n  - `.npmrc` - Aligent private registry configuration\n  - `.nvmrc` - Pinned Node.js version (v22)\n  - `.gitignore` - Standard ignores for Node, Nx, Parcel and Adobe AppBuilder\n  - `prettier.config.mjs` - Workspace formatting defaults. Load-bearing for the `app` generator: Nx's `formatFiles()` resolves Prettier config from the workspace root on disk, so without this every generated app would be written at Prettier's 2-space/80-column defaults and then fail its own `npm run lint`.\n  - `README.md` - Workspace-level usage guide\n\nThe preset does **not** scaffold any apps — see the `app` generator below.\n\n### App Generator\n\nThe app generator creates a new Adobe App Builder app inside an existing workspace. The generator drives a series of prompts (or accepts CLI flags) that toggle which feature subtrees are rendered into the new app's directory.\n\n#### Usage\n\n```bash\nnpx nx g @aligent/nx-appbuilder:app <app-name>\n```\n\nPass any of the feature flags below to skip the corresponding prompt, e.g.:\n\n```bash\nnpx nx g @aligent/nx-appbuilder:app my-app \\\n    --hasAdminUI=true \\\n    --parentMenu=sales \\\n    --hasCommerceWebhooks=true\n```\n\n#### Options\n\n| Option                  | Type    | Required | Default            | Description                                                                                                                                                 |\n|-------------------------|---------|----------|--------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `name`                  | string  | Yes      | -                  | App name (kebab-case). Used as the directory name and the suffix of the `@aligent/<name>` package name.                                                     |\n| `description`           | string  | No       | `''`               | Short description of the app, used in `package.json` and the generated README.                                                                              |\n| `displayName`           | string  | No       | Title-cased `name` | Human-readable display name used in `app.commerce.config.ts` and the generated README.                                                                      |\n| `hasAdminUI`            | boolean | No       | `false`            | Generates the Commerce backend UI extension (`commerce/backend-ui/2`) — a custom admin page and menu item, declared via `adminUi` in `app.commerce.config.ts`. |\n| `parentMenu`            | enum    | No       | `none`             | Commerce admin menu the app's menu item sits under. One of `sales`, `catalog`, `customers`, `marketing`, `content`, `reports`, `stores`, `system`, `none` (top-level). Only used when `hasAdminUI=true`; prompted if omitted. |\n| `hasBusinessConfig`     | boolean | No       | `false`            | Generates the Commerce configuration extension (`commerce/configuration/1`) — merchant-facing fields under Stores → Configuration.                          |\n| `hasCommerceWebhooks`   | boolean | No       | `false`            | Adds a `webhooks` section to `app.commerce.config.ts` for binding Commerce extensibility hooks to runtime actions.                                          |\n| `hasEvents`             | boolean | No       | `false`            | Generates a sample event handler under `src/actions/` and an `eventing` block in `app.commerce.config.ts` for Commerce + external event subscriptions.      |\n| `hasRestActions`        | boolean | No       | `false`            | Generates a sample REST action under `src/actions/` and registers it in the runtime manifest.                                                               |\n| `hasScheduledActions`   | boolean | No       | `false`            | Generates a sample cron-triggered action under `src/actions/` along with the `triggers` and `rules` entries that fire it.                                   |\n| `hasCustomInstallSteps` | boolean | No       | `false`            | Generates an `installation` block in `app.commerce.config.ts` and a sample step under `scripts/install/`.                                                   |\n\n> Setting `hasAdminUI`, `hasBusinessConfig`, or `hasCommerceWebhooks` automatically pulls in the `commerce-extensibility` subtree and the `@adobe/aio-commerce-lib-*` dependencies.\n\n#### What it creates\n\nThe app generator always renders a **base** subtree into `<app-name>/`:\n\n- **App-level files**:\n  - `app.config.yaml` - App Builder manifest with the runtime package, action declarations, triggers and rules (composed from the selected flags)\n  - `package.json` - Pinned dependencies and `lint` / `lint:fix` / `check-types` / `test` scripts (per-target variants for actions, web and tests). Apps are ESM (`\"type\": \"module\"`) — `@adobe/aio-commerce-lib-app` emits ESM into each extension's `.generated/`, which cannot load under CommonJS, so custom install-step scripts must be ESM too.\n  - `package.json` `nx.targets` block - declares the custom `check-types` and `deploy` targets; `lint` and `test` are inferred by the `@nx/eslint/plugin` and `@nx/vitest` plugins from `eslint.config.mjs` and `vitest.config.ts`\n  - `tsconfig.json` / `tsconfig.base.json` - TypeScript project config. The root project is the catch-all for everything the per-area projects miss — `global-types`, `vitest.config.ts`, shared code under `src/lib/`, and `app.commerce.config.ts` when a commerce flag is set. That last one matters: `adminUi` there drives the whole backend-ui/2 extension, so it needs to fail `check-types` rather than the build.\n  - `package.json` `postinstall` (commerce apps only) - `[ -f .env ] && npx aio-commerce-lib-app hooks postinstall || true`, which regenerates `.generated/` right after install so a fresh clone is buildable without waiting for the first deploy. `aio-commerce-lib-app init` writes this script itself, but nothing else in the lib does, and this generator scaffolds `app.commerce.config.ts` directly rather than going through `init`. The `.env` guard keeps `npm install` working in CI, where no workspace is selected.\n  - `eslint.config.mjs` / `prettier.config.mjs` - Lint and formatter config (`@aligent/ts-code-standards`). The eslint preset is `react` when `hasAdminUI=true` and `base` otherwise, so action-only apps don't load the React/JSX/a11y rules. The prettier config restates `tabWidth` / `printWidth` explicitly to match `.editorconfig`: `eslint-plugin-prettier` resolves config with `editorconfig: true` and Nx's `formatFiles()` does not, so leaving them implicit makes a freshly generated app fail its own `npm run lint`.\n  - `vitest.config.ts` - Vitest config\n  - `webpack-config.cjs` - App-root fallback webpack config that sets `experiments.typescript: false`. webpack ≥ 5.109 defaults that experiment to `\"auto\"`, which activates built-in TypeScript on Node ≥ 22.6 for any scope with no TS loader registered — and built-in TS then fails to resolve the `tsconfig` that some plain-JS transitive dependencies ship, breaking the SDK-generated `commerce/*` extension builds. `src/actions/webpack-config.cjs` still wins for the `application` scope.\n  - `.editorconfig`, `.nvmrc`, `.gitignore`, `README.md`. The `.gitignore` covers `src/*/.generated/` (everything `@adobe/aio-commerce-lib-app` writes during `pre-app-build`) and the generated action-URL registry.\n\n- **Action and test scaffolding**:\n  - `src/actions/tsconfig.json` - TypeScript config for the App Builder actions\n  - `src/actions/webpack-config.cjs` - Webpack config used by the `aio` CLI to compile actions via `esbuild-loader` (targets the workspace's Node major)\n  - `tests/tsconfig.json` - TypeScript config for the test suite\n  - `hooks/check-action-types.sh` - Wired as the application-level `pre-app-build` hook in `app.config.yaml` so the action TypeScript is type-checked before every deploy. Custom (non-Adobe) actions also live under `application.runtimeManifest` in `app.config.yaml`; the scaffolded `ext.config.yaml` files are left for Adobe-generated content only.\n  - `global-types/@adobe/<pkg>/index.d.ts` - Local module augmentations for the targeted Adobe libs. Currently augments `@adobe/aio-lib-core-logging` with a strict `LogLevel` string-literal union; the layout mirrors `node_modules/` so additional augmentations can be dropped in alongside. Each file must open with an `import` of the package it augments — without a top-level import/export the file is a global script and `declare module` becomes an *ambient* declaration that replaces the package's real types instead of merging with them. (An ambient declaration is the right tool when the module genuinely doesn't exist yet — see `#app.commerce.config` below.)\n\n- **Root updates**:\n  - Adds `<app-name>` to the root `package.json` workspaces array\n\nAdditional subtrees are layered on top depending on the selected flags:\n\n| Flag                                                            | Subtree rendered                          | Notable additions                                                                                                                                                                                                                                                        |\n|-----------------------------------------------------------------|-------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| any of `hasAdminUI`, `hasBusinessConfig`, `hasCommerceWebhooks` | `commerce-extensibility/`                 | `app.commerce.config.ts`, `install.yaml`, `commerce/extensibility/1` extension config; pulls in `@adobe/aio-commerce-lib-app` / `-config`.                                                                                                                               |\n| `hasAdminUI`                                                    | `commerce-backend-ui/`                    | React 19 + Spectrum S2 admin UI under `src/commerce-backend-ui-2/`. See [Admin UI](#admin-ui-commercebackend-ui2) below.                                                                                                                                                 |\n| `hasBusinessConfig`                                             | `commerce-config/`                        | `commerce/configuration/1` extension config wired into `app.commerce.config.ts`; adds a `businessConfig.schema` block to `app.commerce.config.ts`.                                                                                                                       |\n| `hasCommerceWebhooks`                                           | none (modifies `commerce-extensibility/`) | Adds a `webhooks` section to `app.commerce.config.ts` for binding Commerce extensibility hooks to runtime actions or external URLs. No new files; relies on the `commerce-extensibility/` subtree being rendered.                                                        |\n| `hasRestActions`                                                | `rest-actions/`                           | `src/actions/rest-sample.ts` registered as a web action in `app.config.yaml`.                                                                                                                                                                                            |\n| `hasEvents`                                                     | `events/`                                 | `src/actions/handle-sample-event.ts`, sample Commerce + external event subscriptions; pulls `@adobe/aio-lib-events` into the app's dependencies.                                                                                                                         |\n| `hasScheduledActions`                                           | `scheduled/`                              | `src/actions/cron-sample.ts` plus the `triggers`/`rules` entries that fire it on a cron schedule.                                                                                                                                                                        |\n| `hasCustomInstallSteps`                                         | `install-steps/`                          | `scripts/install/sample-step.js` and an `installation.customInstallationSteps` entry in `app.commerce.config.ts`.                                                                                                                                                        |\n\n#### Example\n\n```bash\n# Standalone backend integration with REST actions and scheduled jobs\nnpx nx g @aligent/nx-appbuilder:app order-sync \\\n    --hasRestActions=true \\\n    --hasScheduledActions=true\n\n# Commerce admin UI with business configuration and webhook bindings\nnpx nx g @aligent/nx-appbuilder:app loyalty-rules \\\n    --hasAdminUI=true \\\n    --parentMenu=customers \\\n    --hasBusinessConfig=true \\\n    --hasCommerceWebhooks=true\n```\n\n### Admin UI (`commerce/backend-ui/2`)\n\n`@adobe/aio-commerce-lib-app` 1.8.0 removed `commerce/backend-ui/1` support and the `adminUiSdk` config key outright. Admin UI now lives at **`commerce/backend-ui/2`** under `src/commerce-backend-ui-2/`, and the extension itself — `ext.config.yaml`, the registration action, any worker-process declarations — is generated by the lib's `pre-app-build` hook from the **`adminUi`** key in `app.commerce.config.ts`. The generator seeds `ext.config.yaml` (because `app.config.yaml`'s `$include` is resolved before any hook runs) and otherwise leaves that file to the lib.\n\nBeyond `adminUi.menu`, the section also accepts `order`, `product` and `customer` keys for grid columns, mass actions and order view buttons — see the [lib's usage guide](https://github.com/adobe/aio-commerce-sdk/blob/main/packages/aio-commerce-lib-app/docs/usage.md).\n\n**Why the generator ships a `web-src`.** The lib will scaffold `web-src` itself, but only when `web-src/index.html` is absent — and that same code path writes `web-src/tsconfig.json` unconditionally, which would overwrite ours. Shipping `index.html` makes `generateWebSrc()` return early, so the `@aligent/ts-code-standards` config and the helpers below survive. The trade-off is that the generator also has to declare what the lib's `prepareWebSourcePackage()` would have added: the web dependencies (`react`, `react-dom`, `@react-spectrum/s2`, `@adobe/aio-commerce-lib-admin-ui`), the `#web/*` subpath alias, and the Parcel `manualSharedBundles` / `packageExports` blocks. All of those live in `compose-package-json.ts`.\n\nWhat lands under `src/commerce-backend-ui-2/web-src/`:\n\n- `src/app.tsx` - The whole bootstrap. `createExtensionApp()` from `@adobe/aio-commerce-lib-admin-ui/web` handles UIX registration, shared-context attach, routing and the Spectrum provider, replacing the hand-rolled `ExtensionRegistration` / `AdobeRuntimeContextProvider` / `PageContextProvider` components the generator used to ship. Read IMS credentials with `useIms()`.\n- `src/pages/main-page.tsx` - The page opened from the admin menu item.\n- `src/lib/callAction.ts`, `src/hooks/useAppBuilderAction.ts`, `src/hooks/useLazyAppBuilderAction.ts`, `src/types/ActionName.ts` - Typed action invocation. `useAppBuilderAction` injects the host's IMS credentials from `useIms()` and holds the request until they arrive, so actions annotated `require-adobe-auth: true` don't get an unauthenticated first call.\n- `tsconfig.json` - Extends `@aligent/ts-code-standards/tsconfigs-react` with `module: Preserve` / `moduleResolution: Bundler`. Bundler resolution is what lets TypeScript resolve the `#web/*` and `#app.commerce.config` package.json import aliases, so there is no `paths` mapping.\n- `src/web-env.d.ts`, `src/action-urls.generated.json.d.ts` - Ambient declarations for imports that only exist after a build (`.generated/` and the action registry are both gitignored), so `check-types` passes on a fresh clone.\n\n**The `#app.commerce.config` alias.** `aio-commerce-lib-app` adds this to `package.json` on every `pre-app-build`, pointing at `src/commerce-extensibility-1/.generated/app.commerce.config.js`. The path is the same whichever branch runs — a bundled module for dynamic schemas or named exports, a re-export of the static manifest otherwise. It exists for the actions the lib itself generates, and both reference apps confirm it: nothing hand-written imports it.\n\nIf app code does import it, the fix is an ambient declaration under `global-types/`, **not** a hand-added `package.json` entry. The alias target is gitignored, so before the first build TypeScript resolves it to a missing file and reports `Cannot find module` regardless of what `imports` says. `web-src/src/web-env.d.ts` does exactly this for the admin UI shell; the generated app README shows the equivalent for actions.\n\n**Action URL registry.** `aio app build` writes a `config.json` per extension containing only *that* extension's action URLs — and a `backend-ui/2` extension has no web actions of its own, so actions declared under `application.runtimeManifest` are invisible to the UI. `scripts/generate-action-registry.mjs` (wired in as a `pre-app-build` hook) instead captures `aio app get-url --json`, which resolves every scope statically with no network call, and writes it to `web-src/src/action-urls.generated.json` for `callAction` to read. It fails loudly rather than writing a broken registry if no workspace is selected — run `aio app use` first.\n\n### App Builder guardrails\n\nThe generated `eslint.config.mjs` ships four rules on top of `@aligent/ts-code-standards`. Each was added to head off a pattern that has repeatedly bitten App Builder apps:\n\n| Rule                                           | Scope               | Why                                                                                                                                                                                                                                                                  |\n|------------------------------------------------|---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `no-restricted-imports` on `@adobe/aio-sdk`    | `src/**/*.{ts,tsx}` | The umbrella `@adobe/aio-sdk` re-exports every sub-SDK (Files, State, Events, Target, Analytics, ...). Import the targeted lib instead — `@adobe/aio-lib-core-logging` for Logger, `@adobe/aio-lib-core-config` for Config, `@adobe/aio-lib-events` for Events, etc. |\n| `@typescript-eslint/no-non-null-assertion`     | `src/**/*.{ts,tsx}` | `x!` silently swallows runtime null/undefined, which surfaces as opaque action 500s. Aligns with the workspace's `CLAUDE.md` rule.                                                                                                                                   |\n| `@typescript-eslint/prefer-nullish-coalescing` | `src/**/*.{ts,tsx}` | `params.MAX_RETRIES \\|\\| 3` treats a valid `0` as missing and forces the fallback; `??` only triggers on null/undefined, preserving legitimate falsy values (`0`, `false`, `''`).                                                                                    |\n| `no-restricted-syntax` (`process.env`)         | `src/**/actions/**` | App Builder routes runtime configuration through OpenWhisk `params`; `process.env` is not reliably propagated between activations. Read from `params` (declared under `inputs:` in `app.config.yaml`) instead.                                                       |\n\nTo loosen any rule for a specific case, override it in the same `eslint.config.mjs` (later config blocks win); to disable globally, remove the entry from the block.\n\nBecause the umbrella import is banned, the generator no longer ships `@adobe/aio-sdk` as a dep. Instead it pins `@adobe/aio-lib-core-logging` unconditionally (used by every sample action) and `@adobe/aio-lib-events` only when `--hasEvents=true`. Add additional targeted libs (`@adobe/aio-lib-state`, `@adobe/aio-lib-files`, `@adobe/aio-lib-core-config`, ...) to your generated app's `package.json` as the action code that uses them is added.\n\n## Project Structure\n\nAfter running the preset generator and adding one or more apps, your workspace will look like:\n\n```\nmy-workspace/\n├── my-app/\n│   ├── src/\n│   │   ├── actions/\n│   │   │   ├── tsconfig.json\n│   │   │   └── ...               # rest / event / cron action samples (per flag)\n│   │   ├── commerce-backend-ui-2/  # only if hasAdminUI\n│   │   ├── commerce-configuration-1/  # only if hasBusinessConfig\n│   │   └── commerce-extensibility-1/  # only if any commerce-lib flag\n│   ├── tests/\n│   ├── hooks/\n│   ├── global-types/\n│   ├── scripts/install/          # only if hasCustomInstallSteps\n│   ├── app.config.yaml\n│   ├── app.commerce.config.ts    # only if any commerce-lib flag\n│   ├── install.yaml              # only if any commerce-lib flag\n│   ├── webpack-config.cjs\n│   ├── package.json              # includes nx.targets for check-types and deploy\n│   └── ...\n├── nx.json\n├── package.json\n├── prettier.config.mjs\n├── .npmrc\n└── .nvmrc\n```\n\n## Development\n\n### Building\n\n```bash\nyarn nx build nx-appbuilder\n```\n\nThe `@nx/js:tsc` build executor compiles `src/**/*.ts` to `dist/src/` and copies the templates under `src/generators/<gen>/files/` verbatim. Template files use the `.template` suffix (e.g. `app.commerce.config.ts.template`) so they aren't picked up by lint or `tsc`; `@nx/devkit`'s `generateFiles` strips the suffix at generation time.\n\n#### Dependency version pins\n\nEach generator reads the npm version specs it injects into generated files from a real `package.json` at `src/generators/<gen>/template-package/package.json`:\n\n- `preset/template-package/package.json` pins the workspace-level devDeps (`nx`, `@nx/*` plugins, `eslint`, `prettier`, `typescript`, `vitest`, `@aligent/ts-code-standards`).\n- `app/template-package/package.json` pins the per-app deps (`@adobe/aio-*`, React + Spectrum, lint/test tooling, etc.).\n\nBoth files are tracked by Dependabot (see `.github/dependabot.yml`) so version bumps land via PR. To add a new pin, add it to the relevant template-package and reference it from `pickVersions()` in `preset.ts` / `compose-package-json.ts`. The shared helper at `src/generators/helpers/template-package.ts` enforces that every requested key exists in the template file, so missing pins fail loudly at runtime.\n\nThree pins are coupled and should move together:\n\n- **`eslint` must match across both files**, since npm workspaces hoists a single copy. The ceiling is set by `@aligent/ts-code-standards`, whose bundled `eslint-plugin-react@7` calls the `context.getFilename()` API that ESLint 10 removed. `ts-code-standards@5.0.1` wraps the plugin in `fixupPluginRules` from `@eslint/compat`, which is what makes ESLint 10 viable — on 5.0.0 or earlier, any app using the `react` preset (i.e. `hasAdminUI`) dies with `contextOrFilename.getFilename is not a function`.\n- **`typescript` is floored by `@adobe/aio-commerce-lib-app`**, which since 1.10.0 optionally peers `typescript ^6.0.3`; pairing it with a `^5` pin fails `npm install` with `ERESOLVE`. It's also ceilinged by `typescript-eslint@8` (`>=4.8.4 <6.1.0`), so TypeScript 7 is not yet reachable even though it has shipped.\n- **`baseUrl` must stay out of the generated tsconfigs.** TypeScript 6 reports it as deprecated (TS5101) and 7 drops it, so `paths` entries carry their prefix explicitly and resolve relative to the config that declares them.\n\n### Running tests / lint / type-check\n\n```bash\nyarn nx test nx-appbuilder\nyarn nx lint nx-appbuilder\nyarn nx typecheck nx-appbuilder\n```\n\n### Local testing\n\nTo try the generator locally against a sibling workspace without publishing:\n\n```bash\n# In the consumer workspace:\nnpm install --save-dev /absolute/path/to/packages/nx-appbuilder\nnpx nx g @aligent/nx-appbuilder:app my-app\n```\n\nOr use the local Verdaccio registry — see the root `README.md` for the `nx local-registry` workflow.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}