{"_id":"@azure-tools/typespec-liftr-emitter","_rev":"2-18d3d9724a1c828bd1093cba19d99a00","name":"@azure-tools/typespec-liftr-emitter","dist-tags":{"latest":"0.14.0"},"versions":{"0.11.0":{"name":"@azure-tools/typespec-liftr-emitter","version":"0.11.0","keywords":["typespec","providerhub"],"author":{"name":"Microsoft Corporation"},"license":"MIT","_id":"@azure-tools/typespec-liftr-emitter@0.11.0","maintainers":[{"name":"azure-sdk","email":"azure-sdk-npmjs@microsoft.com"},{"name":"microsoft1es","email":"npmjs@microsoft.com"},{"name":"azure-powershell","email":"xidi@microsoft.com"}],"tag":"latest","dist":{"shasum":"7fb05cc93a38abe51fe10e757c58bfd05a3cc118","tarball":"https://registry.npmjs.org/@azure-tools/typespec-liftr-emitter/-/typespec-liftr-emitter-0.11.0.tgz","fileCount":52,"integrity":"sha512-bGxJJrT98l29Dn/9NGptCezq+GiYibH5X9kjJbqa7BRFZOcOXxlXpuKqsXqA07DTXWJ+Dm1/qjc6nNpfNJlhcg==","signatures":[{"sig":"MEQCIFyMoLtb22KQY9eNerpoJZtn98a0gFE4u4oEk7nO7P2qAiBcOTVL8k5Uao1jbYIdfVEiFi1R3JiD1FjRUuVmfPqe2g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":261605},"main":"dist/src/index.js","type":"module","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\b27888f9-5cee-4cda-939f-3abc9d5de3e9\\azure-tools-typespec-liftr-emitter-0.11.0.tgz","types":"./dist/src/index.d.ts","engines":{"node":">=20.0.0"},"scripts":{"lint":"eslint . --ext .ts --max-warnings=0","test":"vitest run","build":"npm run compile","clean":"rimraf ./dist ./temp","watch":"tsc -p . --watch","compile":"tsc -p .","test:ci":"vitest run --coverage --reporter=junit --reporter=default ","lint:fix":"eslint . --fix --ext .ts","test:watch":"vitest -w"},"tspMain":"dist/src/index.js","_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App1\\temp\\b27888f9-5cee-4cda-939f-3abc9d5de3e9\\azure-tools-typespec-liftr-emitter-0.11.0.tgz","_integrity":"sha512-bGxJJrT98l29Dn/9NGptCezq+GiYibH5X9kjJbqa7BRFZOcOXxlXpuKqsXqA07DTXWJ+Dm1/qjc6nNpfNJlhcg==","description":"Azure TypeSpec ProviderHub service controller code generator","directories":{},"_nodeVersion":"18.5.0","dependencies":{"handlebars":"4.7.8"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","cspell":"^9.0.1","rimraf":"~6.0.1","vitest":"^3.1.2","prettier":"~3.6.2","syncpack":"^13.0.3","@vitest/ui":"^3.1.2","typescript":"~5.9.2","@types/node":"~24.3.0","@typespec/http":"1.4.0","@typespec/rest":"0.74.0","@typespec/openapi":"1.4.0","@typespec/compiler":"1.4.0","@vitest/coverage-v8":"^3.1.2","@typespec/library-linter":"0.74.0","@pnpm/workspace.find-packages":"^1000.0.24","@azure-tools/typespec-autorest":"0.60.0","@azure-tools/typespec-azure-core":"0.60.0","@azure-tools/typespec-liftr-base":"0.11.0","prettier-plugin-organize-imports":"^4.2.0","@azure-tools/typespec-azure-resource-manager":"0.60.0"},"peerDependencies":{"@typespec/http":"1.4.0","@typespec/rest":"0.74.0","@typespec/compiler":"1.4.0","@typespec/versioning":"0.74.0","@azure-tools/typespec-autorest":"0.60.0","@azure-tools/typespec-azure-core":"0.60.0","@azure-tools/typespec-azure-resource-manager":"0.60.0"},"_npmOperationalInternal":{"tmp":"tmp/typespec-liftr-emitter_0.11.0_1760516793021_0.9162458613456614","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@azure-tools/typespec-liftr-emitter","version":"0.14.0","description":"Azure TypeSpec ProviderHub service controller code generator","keywords":["typespec","providerhub"],"author":{"name":"Microsoft Corporation"},"license":"MIT","type":"module","main":"dist/src/index.js","tspMain":"dist/src/index.js","engines":{"node":">=20.0.0"},"peerDependencies":{"@azure-tools/typespec-autorest":"0.65.0","@azure-tools/typespec-azure-core":"0.65.0","@azure-tools/typespec-azure-resource-manager":"0.65.0","@typespec/compiler":"1.9.0","@typespec/http":"1.9.1","@typespec/rest":"0.79.0","@typespec/versioning":"0.79.0"},"dependencies":{"handlebars":"4.7.8"},"devDependencies":{"@azure-tools/typespec-autorest":"0.65.0","@azure-tools/typespec-azure-core":"0.65.0","@azure-tools/typespec-azure-resource-manager":"0.65.0","@pnpm/workspace.find-packages":"^1000.0.24","@types/node":"~25.3.0","@typespec/compiler":"1.9.0","@typespec/http":"1.9.1","@typespec/library-linter":"0.74.0","@typespec/openapi":"1.9.0","@typespec/rest":"0.79.0","@vitest/coverage-v8":"^4.0.18","@vitest/ui":"^3.1.2","c8":"^11.0.0","cspell":"^9.4.0","prettier":"~3.8.0","prettier-plugin-organize-imports":"~4.3.0","rimraf":"~6.1.3","syncpack":"^13.0.3","typescript":"~5.9.3","vitest":"^4.0.18","@azure-tools/typespec-liftr-base":"0.14.0"},"scripts":{"clean":"rimraf ./dist ./temp","build":"npm run compile","compile":"tsc -p .","watch":"tsc -p . --watch","test":"vitest run","test:watch":"vitest -w","test:ci":"vitest run --coverage --reporter=junit --reporter=default ","lint":"eslint . --ext .ts --max-warnings=0","lint:fix":"eslint . --fix --ext .ts"},"types":"./dist/src/index.d.ts","_id":"@azure-tools/typespec-liftr-emitter@0.14.0","_integrity":"sha512-T8uWKSZtlZItBVWsnqBxbgcqSFsyL6LGoUyCe059yDpAulUTB+et+5IVaAixMDGVLRWw3Y3mmysbVR1YauF0Zg==","_resolved":"M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\fb4b1404-6b66-43b8-b71b-75fb892cb688\\azure-tools-typespec-liftr-emitter-0.14.0.tgz","_from":"file:M:\\SvcFab\\_App\\MS.Ess.PackageManager.Publisher_App2\\temp\\fb4b1404-6b66-43b8-b71b-75fb892cb688\\azure-tools-typespec-liftr-emitter-0.14.0.tgz","tag":"latest","_nodeVersion":"18.5.0","dist":{"integrity":"sha512-T8uWKSZtlZItBVWsnqBxbgcqSFsyL6LGoUyCe059yDpAulUTB+et+5IVaAixMDGVLRWw3Y3mmysbVR1YauF0Zg==","shasum":"9f4a04e3bd22e1b5e8d87c02f5196da8d7c5ef6e","tarball":"https://registry.npmjs.org/@azure-tools/typespec-liftr-emitter/-/typespec-liftr-emitter-0.14.0.tgz","fileCount":52,"unpackedSize":261607,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFVeutphUNVZRpc0WgN+XKEVaV5jTQC0pfbwnQy8GHlcAiEA3x2APD+cJtqCZLm7UAI6Xg28cIRf1sZzk+Jvokl2FmU="}]},"_npmUser":{"name":"microsoft1es","email":"npmjs@microsoft.com"},"directories":{},"maintainers":[{"name":"azure-sdk","email":"azure-sdk-npmjs@microsoft.com"},{"name":"microsoft1es","email":"npmjs@microsoft.com"},{"name":"azure-powershell","email":"xidi@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/typespec-liftr-emitter_0.14.0_1777388026970_0.017456637420867116"},"_hasShrinkwrap":false}},"time":{"created":"2025-10-15T08:26:32.836Z","modified":"2026-04-28T14:53:47.297Z","0.11.0":"2025-10-15T08:26:33.206Z","0.14.0":"2026-04-28T14:53:47.129Z"},"author":{"name":"Microsoft Corporation"},"license":"MIT","keywords":["typespec","providerhub"],"description":"Azure TypeSpec ProviderHub service controller code generator","maintainers":[{"name":"azure-sdk","email":"azure-sdk-npmjs@microsoft.com"},{"name":"microsoft1es","email":"npmjs@microsoft.com"},{"name":"azure-powershell","email":"xidi@microsoft.com"}],"readme":"# TypeSpec Service Code Generator for ProviderHub\n\nThe TypeSpec service code generator for ProviderHub creates an abstract UserRP implementation of specs using the typespec-providerhub extension. Code is generating using the ASP.NET MVC framework. This doc discusses the high-level design, challenges, and remaining work.\n\nWe recommend consuming this package through the [typespec-providerhub-templates](https://github.com/Azure/typespec-azure/tree/main/packages/typespec-providerhub-templates), which contains a full service implementation in ASP.Net Core MVC, and sets the appropriate configurations for swagger generation, hosting your service, RP and resource registration, and end-to-end testing in RPaaS OneBox.\n\n## Usage\n\nAny TypeSpec spec defined with `@azure-tools/typespec-azure-resource-manager` can have server-side controller stub code generated by following these steps:\n\n1. Ensure `@azure-tools/typespec-liftr-emitter` is a `dependency` in your project's `package.json` file\n1. Ensure this line is in your main spec file's imports: `import \"@azure-tools/typespec-liftr-emitter\"`\n1. Run the following command in your project folder:\n\n```\ntsp compile . --emit @azure-tools/typespec-liftr-emitter\n```\n\n### Emitter Options\n\nEmitter options can be configured via the `tspconfig.yaml` configuration:\n\n```yaml\nemitters:\n  '@azure-tools/typespec-liftr-emitter':\n    <optionName>: <value>\n\n\n# For example\nemitters:\n  '@azure-tools/typespec-liftr-emitter':\n    include-operation-controller: true\n```\n\nor via the command line with\n\n```bash\n--option \"@azure-tools/typespec-liftr-emitter.<optionName>=<value>\"\n\n# For example\n--option \"@azure-tools/typespec-liftr-emitter.include-operation-controller=true\"\n```\n\n#### `output-dir`\n\nPath where the service code will be generated. By default will use the compiler `output-dir`.\n\n#### `include-operation-controller`\n\nAn `OperationController` will be generated to handle operation endpoint requests in your service. This is not enabled by default since most ProviderHub services will use the operation endpoint that is provided automatically by Azure Resource Manager.\n**NOTE:** This is not usually needed for ProviderHub services.\n\n#### `include-subscription-lifecycle-controller`\n\nA `SubscriptionLifeCycleNotification` controller will be generated to handle subscription life cycle notification requests in your service. This is only enabled by default for new projects.\n\n#### `operation-polling-location`\n\nDetermines whether a tenant-level (\"tenant\") or subscription-level (\"subscription\") status monitor is used for long-running operations. By default, uses the tenant-level status monitor provided by RPaaS.\n\n#### `registration-output-path`\n\nWhen set to a valid path, generates provider and type registration documents to the specified path. These can be used to register your resource provider and your resource types with RPaaS, for later creation of your manifest.\n\n#### `code-kind`\n\nType of generation:\n\n- When set to `controller`, generates only controller code and assume that the model will be generated in separate process.\n- When set to `model` , generates only model code and assume that the controller will be generated in separate process.\n\n#### `include-cancellation-token`\n\nWhen set to true, generates controller action methods with a `System.Threading.CancellationToken` parameter.\n\n#### `include-versioning-classes`\n\nWhen set to true, generates versioning classes regardless the number of API versions defined in the spec.\n\n#### `generate-uuid-as`\n\nWhen set to 'guid', generates properties of type Azure.Core.uuid as System.Guid in model classes.\nWhen set to 'string', generates properties of type Azure.Core.uuid as System.String in model classes.\n","readmeFilename":"readme.md"}