@libria/scaffold-plugin-nestjs 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- cf93e3c40f3a96548015dbbc6e4ba9d2e1f4e94a780142ffdcb93236a73a06a2
1
+ 3e57a6a64d3bd9f10e71212779b8c909e1581e951f834b0c67144d981f5d0136
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @libria/scaffold-nestjs
1
+ # @libria/scaffold-plugin-nestjs
2
2
 
3
3
  NestJS CLI wrapper template for [@libria/scaffold](https://github.com/LibriaForge/scaffold).
4
4
 
@@ -7,20 +7,20 @@ This plugin scaffolds new NestJS projects by wrapping `@nestjs/cli`, exposing it
7
7
  ## Installation
8
8
 
9
9
  ```bash
10
- npm install @libria/scaffold-nestjs
10
+ npm install @libria/scaffold-plugin-nestjs
11
11
  ```
12
12
 
13
13
  ## Usage
14
14
 
15
15
  ```bash
16
16
  # Interactive — prompts for version first, then version-specific options
17
- scaffold new nestjs my-api
17
+ lb-scaffold new nestjs my-api
18
18
 
19
19
  # Non-interactive — pass all options via CLI
20
- scaffold new nestjs my-api --version 11 --language TypeScript --package-manager pnpm
20
+ lb-scaffold new nestjs my-api --version 11 --language TypeScript --package-manager pnpm
21
21
 
22
22
  # Show available options for a specific version
23
- scaffold new nestjs my-api --version 10 --help
23
+ lb-scaffold new nestjs my-api --version 10 --help
24
24
  ```
25
25
 
26
26
  ## Supported Options
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- let e=require(`child_process`),t=require(`@libria/plugin-loader`),n=require(`@libria/scaffold-core`);var r=(0,t.definePlugin)({id:`libria:scaffold:nestjs`,name:`nestjs`,pluginType:n.SCAFFOLD_TEMPLATE_PLUGIN_TYPE,async create(t){return{api:{argument:`nestjs`,getOptions:async e=>e.version?{version:{type:`string`,flags:`--version <version>`,description:`NestJS version:`,choices:[`11`,`10`],defaultValue:`11`},language:{type:`string`,flags:`--language <value>`,description:`Which programming language?`},packageManager:{type:`string`,flags:`--package-manager <value>`,description:`Which package manager would you like to use?`},strict:{type:`boolean`,flags:`--strict`,description:`Enable TypeScript strict mode?`,defaultValue:!1}}:{version:{type:`string`,flags:`--version <version>`,description:`NestJS version:`,choices:[`11`,`10`],defaultValue:`11`}},execute:async t=>{let{name:n,dryRun:r}=t,i=Number(t.version);console.log(`Executing for version:`,i);let a=[];t.language&&a.push(`--language=${t.language}`),t.packageManager&&a.push(`--package-manager=${t.packageManager}`),a.push(t.strict?`--strict`:`--strict=false`);let o=`npx @nestjs/cli@${t.version} new ${n} ${a.join(` `)}`;if(r){console.log(`[dry-run] Would run:`,o);return}console.log(`Running:`,o),(0,e.execSync)(o,{stdio:`inherit`})}}}}});module.exports=r;
1
+ let e=require(`child_process`),t=require(`@libria/plugin-loader`),n=require(`@libria/scaffold-core`);var r=(0,t.definePlugin)({id:`libria:scaffold:nestjs`,name:`nestjs`,pluginType:n.SCAFFOLD_TEMPLATE_PLUGIN_TYPE,async create(t){return{api:{argument:`nestjs`,getOptions:async e=>e.version?{version:{type:`string`,flags:`--version <version>`,description:`NestJS version:`,choices:[`11`,`10`],defaultValue:`11`},language:{type:`string`,flags:`--language <value>`,description:`Which programming language?`},packageManager:{type:`string`,flags:`--package-manager <value>`,description:`Which package manager would you like to use?`},strict:{type:`boolean`,flags:`--strict`,description:`Enable TypeScript strict mode?`,defaultValue:!1},skipInstall:{type:`boolean`,flags:`--skip-install`,description:`Skip installing dependencies?`,defaultValue:!1},skipGit:{type:`boolean`,flags:`--skip-git`,description:`Skip git initialization?`,defaultValue:!1}}:{version:{type:`string`,flags:`--version <version>`,description:`NestJS version:`,choices:[`11`,`10`],defaultValue:`11`}},execute:async t=>{let{name:n,dryRun:r}=t,i=Number(t.version);console.log(`Executing for version:`,i);let a=[];t.language&&a.push(`--language=${t.language}`),t.packageManager&&a.push(`--package-manager=${t.packageManager}`),a.push(t.strict?`--strict`:`--strict=false`),t.skipInstall&&a.push(`--skip-install`),t.skipGit&&a.push(`--skip-git`);let o=`npx @nestjs/cli@${t.version} new ${n} ${a.join(` `)}`;if(r){console.log(`[dry-run] Would run:`,o);return}console.log(`Running:`,o),(0,e.execSync)(o,{stdio:`inherit`})}}}}});module.exports=r;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["SCAFFOLD_TEMPLATE_PLUGIN_TYPE"],"sources":["../src/nestjs.ts"],"sourcesContent":["import { execSync } from 'child_process';\n\nimport { definePlugin, PluginContext } from '@libria/plugin-loader';\nimport {\n ScaffoldTemplatePlugin,\n ScaffoldTemplatePluginOption,\n ExecuteOptions,\n SCAFFOLD_TEMPLATE_PLUGIN_TYPE,\n OptionTypeMap,\n} from '@libria/scaffold-core';\n\nexport interface NestJSOptions {\n version: ScaffoldTemplatePluginOption<'string'>;\n language: ScaffoldTemplatePluginOption<'string'>;\n packageManager: ScaffoldTemplatePluginOption<'string'>;\n strict: ScaffoldTemplatePluginOption<'boolean'>;\n}\n\nexport default definePlugin<ScaffoldTemplatePlugin<NestJSOptions>>({\n id: 'libria:scaffold:nestjs',\n name: 'nestjs',\n pluginType: SCAFFOLD_TEMPLATE_PLUGIN_TYPE,\n\n async create(_: PluginContext) {\n return {\n api: {\n argument: 'nestjs',\n getOptions: async options => {\n if (!options.version) {\n return {\n version: {\n type: 'string',\n flags: '--version <version>',\n description: 'NestJS version:',\n choices: ['11', '10'],\n defaultValue: '11',\n },\n };\n }\n\n const allOptions: Record<\n string,\n ScaffoldTemplatePluginOption<keyof OptionTypeMap>\n > = {\n version: {\n type: 'string',\n flags: '--version <version>',\n description: 'NestJS version:',\n choices: ['11', '10'],\n defaultValue: '11',\n },\n language: {\n type: 'string',\n flags: '--language <value>',\n description: 'Which programming language?',\n },\n packageManager: {\n type: 'string',\n flags: '--package-manager <value>',\n description: 'Which package manager would you like to use?',\n },\n strict: {\n type: 'boolean',\n flags: '--strict',\n description: 'Enable TypeScript strict mode?',\n defaultValue: false,\n },\n };\n\n return allOptions;\n },\n execute: async (options: ExecuteOptions<NestJSOptions>) => {\n const { name, dryRun } = options;\n const major = Number(options.version);\n console.log('Executing for version:', major);\n const args: string[] = [];\n\n if (options.language) args.push(`--language=${options.language}`);\n if (options.packageManager)\n args.push(`--package-manager=${options.packageManager}`);\n args.push(options.strict ? '--strict' : '--strict=false');\n\n const cmd = `npx @nestjs/cli@${options.version} new ${name} ${args.join(' ')}`;\n\n if (dryRun) {\n console.log('[dry-run] Would run:', cmd);\n return;\n }\n\n console.log('Running:', cmd);\n execSync(cmd, { stdio: 'inherit' });\n },\n },\n };\n },\n});\n"],"mappings":"qGAkBA,IAAA,GAAA,EAAA,EAAA,cAAmE,CAC/D,GAAI,yBACJ,KAAM,SACN,WAAYA,EAAAA,8BAEZ,MAAM,OAAO,EAAkB,CAC3B,MAAO,CACH,IAAK,CACD,SAAU,SACV,WAAY,KAAM,IACT,EAAQ,QAeT,CACA,QAAS,CACL,KAAM,SACN,MAAO,sBACP,YAAa,kBACb,QAAS,CAAC,KAAM,KAAK,CACrB,aAAc,KACjB,CACD,SAAU,CACN,KAAM,SACN,MAAO,qBACP,YAAa,8BAChB,CACD,eAAgB,CACZ,KAAM,SACN,MAAO,4BACP,YAAa,+CAChB,CACD,OAAQ,CACJ,KAAM,UACN,MAAO,WACP,YAAa,iCACb,aAAc,GACjB,CACJ,CAtCU,CACH,QAAS,CACL,KAAM,SACN,MAAO,sBACP,YAAa,kBACb,QAAS,CAAC,KAAM,KAAK,CACrB,aAAc,KACjB,CACJ,CAkCT,QAAS,KAAO,IAA2C,CACvD,GAAM,CAAE,OAAM,UAAW,EACnB,EAAQ,OAAO,EAAQ,QAAQ,CACrC,QAAQ,IAAI,yBAA0B,EAAM,CAC5C,IAAM,EAAiB,EAAE,CAErB,EAAQ,UAAU,EAAK,KAAK,cAAc,EAAQ,WAAW,CAC7D,EAAQ,gBACR,EAAK,KAAK,qBAAqB,EAAQ,iBAAiB,CAC5D,EAAK,KAAK,EAAQ,OAAS,WAAa,iBAAiB,CAEzD,IAAM,EAAM,mBAAmB,EAAQ,QAAQ,OAAO,EAAK,GAAG,EAAK,KAAK,IAAI,GAE5E,GAAI,EAAQ,CACR,QAAQ,IAAI,uBAAwB,EAAI,CACxC,OAGJ,QAAQ,IAAI,WAAY,EAAI,EAC5B,EAAA,EAAA,UAAS,EAAK,CAAE,MAAO,UAAW,CAAC,EAE1C,CACJ,EAER,CAAC"}
1
+ {"version":3,"file":"index.cjs","names":["SCAFFOLD_TEMPLATE_PLUGIN_TYPE"],"sources":["../src/nestjs.ts"],"sourcesContent":["import { execSync } from 'child_process';\n\nimport { definePlugin, PluginContext } from '@libria/plugin-loader';\nimport {\n ScaffoldTemplatePlugin,\n ScaffoldTemplatePluginOption,\n ExecuteOptions,\n SCAFFOLD_TEMPLATE_PLUGIN_TYPE,\n OptionTypeMap,\n} from '@libria/scaffold-core';\n\nexport interface NestJSOptions {\n version: ScaffoldTemplatePluginOption<'string'>;\n language: ScaffoldTemplatePluginOption<'string'>;\n packageManager: ScaffoldTemplatePluginOption<'string'>;\n strict: ScaffoldTemplatePluginOption<'boolean'>;\n skipInstall: ScaffoldTemplatePluginOption<'boolean'>;\n skipGit: ScaffoldTemplatePluginOption<'boolean'>;\n}\n\nexport default definePlugin<ScaffoldTemplatePlugin<NestJSOptions>>({\n id: 'libria:scaffold:nestjs',\n name: 'nestjs',\n pluginType: SCAFFOLD_TEMPLATE_PLUGIN_TYPE,\n\n async create(_: PluginContext) {\n return {\n api: {\n argument: 'nestjs',\n getOptions: async options => {\n if (!options.version) {\n return {\n version: {\n type: 'string',\n flags: '--version <version>',\n description: 'NestJS version:',\n choices: ['11', '10'],\n defaultValue: '11',\n },\n };\n }\n\n const allOptions: Record<\n string,\n ScaffoldTemplatePluginOption<keyof OptionTypeMap>\n > = {\n version: {\n type: 'string',\n flags: '--version <version>',\n description: 'NestJS version:',\n choices: ['11', '10'],\n defaultValue: '11',\n },\n language: {\n type: 'string',\n flags: '--language <value>',\n description: 'Which programming language?',\n },\n packageManager: {\n type: 'string',\n flags: '--package-manager <value>',\n description: 'Which package manager would you like to use?',\n },\n strict: {\n type: 'boolean',\n flags: '--strict',\n description: 'Enable TypeScript strict mode?',\n defaultValue: false,\n },\n skipInstall: {\n type: 'boolean',\n flags: '--skip-install',\n description: 'Skip installing dependencies?',\n defaultValue: false,\n },\n skipGit: {\n type: 'boolean',\n flags: '--skip-git',\n description: 'Skip git initialization?',\n defaultValue: false,\n },\n };\n\n return allOptions;\n },\n execute: async (options: ExecuteOptions<NestJSOptions>) => {\n const { name, dryRun } = options;\n const major = Number(options.version);\n console.log('Executing for version:', major);\n const args: string[] = [];\n\n if (options.language) args.push(`--language=${options.language}`);\n if (options.packageManager)\n args.push(`--package-manager=${options.packageManager}`);\n args.push(options.strict ? '--strict' : '--strict=false');\n if (options.skipInstall) args.push('--skip-install');\n if (options.skipGit) args.push('--skip-git');\n\n const cmd = `npx @nestjs/cli@${options.version} new ${name} ${args.join(' ')}`;\n\n if (dryRun) {\n console.log('[dry-run] Would run:', cmd);\n return;\n }\n\n console.log('Running:', cmd);\n execSync(cmd, { stdio: 'inherit' });\n },\n },\n };\n },\n});\n"],"mappings":"qGAoBA,IAAA,GAAA,EAAA,EAAA,cAAmE,CAC/D,GAAI,yBACJ,KAAM,SACN,WAAYA,EAAAA,8BAEZ,MAAM,OAAO,EAAkB,CAC3B,MAAO,CACH,IAAK,CACD,SAAU,SACV,WAAY,KAAM,IACT,EAAQ,QAeT,CACA,QAAS,CACL,KAAM,SACN,MAAO,sBACP,YAAa,kBACb,QAAS,CAAC,KAAM,KAAK,CACrB,aAAc,KACjB,CACD,SAAU,CACN,KAAM,SACN,MAAO,qBACP,YAAa,8BAChB,CACD,eAAgB,CACZ,KAAM,SACN,MAAO,4BACP,YAAa,+CAChB,CACD,OAAQ,CACJ,KAAM,UACN,MAAO,WACP,YAAa,iCACb,aAAc,GACjB,CACD,YAAa,CACT,KAAM,UACN,MAAO,iBACP,YAAa,gCACb,aAAc,GACjB,CACD,QAAS,CACL,KAAM,UACN,MAAO,aACP,YAAa,2BACb,aAAc,GACjB,CACJ,CAlDU,CACH,QAAS,CACL,KAAM,SACN,MAAO,sBACP,YAAa,kBACb,QAAS,CAAC,KAAM,KAAK,CACrB,aAAc,KACjB,CACJ,CA8CT,QAAS,KAAO,IAA2C,CACvD,GAAM,CAAE,OAAM,UAAW,EACnB,EAAQ,OAAO,EAAQ,QAAQ,CACrC,QAAQ,IAAI,yBAA0B,EAAM,CAC5C,IAAM,EAAiB,EAAE,CAErB,EAAQ,UAAU,EAAK,KAAK,cAAc,EAAQ,WAAW,CAC7D,EAAQ,gBACR,EAAK,KAAK,qBAAqB,EAAQ,iBAAiB,CAC5D,EAAK,KAAK,EAAQ,OAAS,WAAa,iBAAiB,CACrD,EAAQ,aAAa,EAAK,KAAK,iBAAiB,CAChD,EAAQ,SAAS,EAAK,KAAK,aAAa,CAE5C,IAAM,EAAM,mBAAmB,EAAQ,QAAQ,OAAO,EAAK,GAAG,EAAK,KAAK,IAAI,GAE5E,GAAI,EAAQ,CACR,QAAQ,IAAI,uBAAwB,EAAI,CACxC,OAGJ,QAAQ,IAAI,WAAY,EAAI,EAC5B,EAAA,EAAA,UAAS,EAAK,CAAE,MAAO,UAAW,CAAC,EAE1C,CACJ,EAER,CAAC"}
package/dist/index.d.cts CHANGED
@@ -7,6 +7,8 @@ interface NestJSOptions {
7
7
  language: ScaffoldTemplatePluginOption<'string'>;
8
8
  packageManager: ScaffoldTemplatePluginOption<'string'>;
9
9
  strict: ScaffoldTemplatePluginOption<'boolean'>;
10
+ skipInstall: ScaffoldTemplatePluginOption<'boolean'>;
11
+ skipGit: ScaffoldTemplatePluginOption<'boolean'>;
10
12
  }
11
13
  declare const _default: _libria_plugin_loader0.PluginFactory<ScaffoldTemplatePlugin<NestJSOptions>>;
12
14
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/nestjs.ts"],"mappings":";;;;UAWiB,aAAA;EACb,OAAA,EAAS,4BAAA;EACT,QAAA,EAAU,4BAAA;EACV,cAAA,EAAgB,4BAAA;EAChB,MAAA,EAAQ,4BAAA;AAAA;AAAA,cACX,QAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/nestjs.ts"],"mappings":";;;;UAWiB,aAAA;EACb,OAAA,EAAS,4BAAA;EACT,QAAA,EAAU,4BAAA;EACV,cAAA,EAAgB,4BAAA;EAChB,MAAA,EAAQ,4BAAA;EACR,WAAA,EAAa,4BAAA;EACb,OAAA,EAAS,4BAAA;AAAA;AAAA,cACZ,QAAA"}
package/dist/index.d.mts CHANGED
@@ -7,6 +7,8 @@ interface NestJSOptions {
7
7
  language: ScaffoldTemplatePluginOption<'string'>;
8
8
  packageManager: ScaffoldTemplatePluginOption<'string'>;
9
9
  strict: ScaffoldTemplatePluginOption<'boolean'>;
10
+ skipInstall: ScaffoldTemplatePluginOption<'boolean'>;
11
+ skipGit: ScaffoldTemplatePluginOption<'boolean'>;
10
12
  }
11
13
  declare const _default: _libria_plugin_loader0.PluginFactory<ScaffoldTemplatePlugin<NestJSOptions>>;
12
14
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/nestjs.ts"],"mappings":";;;;UAWiB,aAAA;EACb,OAAA,EAAS,4BAAA;EACT,QAAA,EAAU,4BAAA;EACV,cAAA,EAAgB,4BAAA;EAChB,MAAA,EAAQ,4BAAA;AAAA;AAAA,cACX,QAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/nestjs.ts"],"mappings":";;;;UAWiB,aAAA;EACb,OAAA,EAAS,4BAAA;EACT,QAAA,EAAU,4BAAA;EACV,cAAA,EAAgB,4BAAA;EAChB,MAAA,EAAQ,4BAAA;EACR,WAAA,EAAa,4BAAA;EACb,OAAA,EAAS,4BAAA;AAAA;AAAA,cACZ,QAAA"}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import{execSync as e}from"child_process";import{definePlugin as t}from"@libria/plugin-loader";import{SCAFFOLD_TEMPLATE_PLUGIN_TYPE as n}from"@libria/scaffold-core";var r=t({id:`libria:scaffold:nestjs`,name:`nestjs`,pluginType:n,async create(t){return{api:{argument:`nestjs`,getOptions:async e=>e.version?{version:{type:`string`,flags:`--version <version>`,description:`NestJS version:`,choices:[`11`,`10`],defaultValue:`11`},language:{type:`string`,flags:`--language <value>`,description:`Which programming language?`},packageManager:{type:`string`,flags:`--package-manager <value>`,description:`Which package manager would you like to use?`},strict:{type:`boolean`,flags:`--strict`,description:`Enable TypeScript strict mode?`,defaultValue:!1}}:{version:{type:`string`,flags:`--version <version>`,description:`NestJS version:`,choices:[`11`,`10`],defaultValue:`11`}},execute:async t=>{let{name:n,dryRun:r}=t,i=Number(t.version);console.log(`Executing for version:`,i);let a=[];t.language&&a.push(`--language=${t.language}`),t.packageManager&&a.push(`--package-manager=${t.packageManager}`),a.push(t.strict?`--strict`:`--strict=false`);let o=`npx @nestjs/cli@${t.version} new ${n} ${a.join(` `)}`;if(r){console.log(`[dry-run] Would run:`,o);return}console.log(`Running:`,o),e(o,{stdio:`inherit`})}}}}});export{r as default};
1
+ import{execSync as e}from"child_process";import{definePlugin as t}from"@libria/plugin-loader";import{SCAFFOLD_TEMPLATE_PLUGIN_TYPE as n}from"@libria/scaffold-core";var r=t({id:`libria:scaffold:nestjs`,name:`nestjs`,pluginType:n,async create(t){return{api:{argument:`nestjs`,getOptions:async e=>e.version?{version:{type:`string`,flags:`--version <version>`,description:`NestJS version:`,choices:[`11`,`10`],defaultValue:`11`},language:{type:`string`,flags:`--language <value>`,description:`Which programming language?`},packageManager:{type:`string`,flags:`--package-manager <value>`,description:`Which package manager would you like to use?`},strict:{type:`boolean`,flags:`--strict`,description:`Enable TypeScript strict mode?`,defaultValue:!1},skipInstall:{type:`boolean`,flags:`--skip-install`,description:`Skip installing dependencies?`,defaultValue:!1},skipGit:{type:`boolean`,flags:`--skip-git`,description:`Skip git initialization?`,defaultValue:!1}}:{version:{type:`string`,flags:`--version <version>`,description:`NestJS version:`,choices:[`11`,`10`],defaultValue:`11`}},execute:async t=>{let{name:n,dryRun:r}=t,i=Number(t.version);console.log(`Executing for version:`,i);let a=[];t.language&&a.push(`--language=${t.language}`),t.packageManager&&a.push(`--package-manager=${t.packageManager}`),a.push(t.strict?`--strict`:`--strict=false`),t.skipInstall&&a.push(`--skip-install`),t.skipGit&&a.push(`--skip-git`);let o=`npx @nestjs/cli@${t.version} new ${n} ${a.join(` `)}`;if(r){console.log(`[dry-run] Would run:`,o);return}console.log(`Running:`,o),e(o,{stdio:`inherit`})}}}}});export{r as default};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../src/nestjs.ts"],"sourcesContent":["import { execSync } from 'child_process';\n\nimport { definePlugin, PluginContext } from '@libria/plugin-loader';\nimport {\n ScaffoldTemplatePlugin,\n ScaffoldTemplatePluginOption,\n ExecuteOptions,\n SCAFFOLD_TEMPLATE_PLUGIN_TYPE,\n OptionTypeMap,\n} from '@libria/scaffold-core';\n\nexport interface NestJSOptions {\n version: ScaffoldTemplatePluginOption<'string'>;\n language: ScaffoldTemplatePluginOption<'string'>;\n packageManager: ScaffoldTemplatePluginOption<'string'>;\n strict: ScaffoldTemplatePluginOption<'boolean'>;\n}\n\nexport default definePlugin<ScaffoldTemplatePlugin<NestJSOptions>>({\n id: 'libria:scaffold:nestjs',\n name: 'nestjs',\n pluginType: SCAFFOLD_TEMPLATE_PLUGIN_TYPE,\n\n async create(_: PluginContext) {\n return {\n api: {\n argument: 'nestjs',\n getOptions: async options => {\n if (!options.version) {\n return {\n version: {\n type: 'string',\n flags: '--version <version>',\n description: 'NestJS version:',\n choices: ['11', '10'],\n defaultValue: '11',\n },\n };\n }\n\n const allOptions: Record<\n string,\n ScaffoldTemplatePluginOption<keyof OptionTypeMap>\n > = {\n version: {\n type: 'string',\n flags: '--version <version>',\n description: 'NestJS version:',\n choices: ['11', '10'],\n defaultValue: '11',\n },\n language: {\n type: 'string',\n flags: '--language <value>',\n description: 'Which programming language?',\n },\n packageManager: {\n type: 'string',\n flags: '--package-manager <value>',\n description: 'Which package manager would you like to use?',\n },\n strict: {\n type: 'boolean',\n flags: '--strict',\n description: 'Enable TypeScript strict mode?',\n defaultValue: false,\n },\n };\n\n return allOptions;\n },\n execute: async (options: ExecuteOptions<NestJSOptions>) => {\n const { name, dryRun } = options;\n const major = Number(options.version);\n console.log('Executing for version:', major);\n const args: string[] = [];\n\n if (options.language) args.push(`--language=${options.language}`);\n if (options.packageManager)\n args.push(`--package-manager=${options.packageManager}`);\n args.push(options.strict ? '--strict' : '--strict=false');\n\n const cmd = `npx @nestjs/cli@${options.version} new ${name} ${args.join(' ')}`;\n\n if (dryRun) {\n console.log('[dry-run] Would run:', cmd);\n return;\n }\n\n console.log('Running:', cmd);\n execSync(cmd, { stdio: 'inherit' });\n },\n },\n };\n },\n});\n"],"mappings":"oKAkBA,IAAA,EAAe,EAAoD,CAC/D,GAAI,yBACJ,KAAM,SACN,WAAY,EAEZ,MAAM,OAAO,EAAkB,CAC3B,MAAO,CACH,IAAK,CACD,SAAU,SACV,WAAY,KAAM,IACT,EAAQ,QAeT,CACA,QAAS,CACL,KAAM,SACN,MAAO,sBACP,YAAa,kBACb,QAAS,CAAC,KAAM,KAAK,CACrB,aAAc,KACjB,CACD,SAAU,CACN,KAAM,SACN,MAAO,qBACP,YAAa,8BAChB,CACD,eAAgB,CACZ,KAAM,SACN,MAAO,4BACP,YAAa,+CAChB,CACD,OAAQ,CACJ,KAAM,UACN,MAAO,WACP,YAAa,iCACb,aAAc,GACjB,CACJ,CAtCU,CACH,QAAS,CACL,KAAM,SACN,MAAO,sBACP,YAAa,kBACb,QAAS,CAAC,KAAM,KAAK,CACrB,aAAc,KACjB,CACJ,CAkCT,QAAS,KAAO,IAA2C,CACvD,GAAM,CAAE,OAAM,UAAW,EACnB,EAAQ,OAAO,EAAQ,QAAQ,CACrC,QAAQ,IAAI,yBAA0B,EAAM,CAC5C,IAAM,EAAiB,EAAE,CAErB,EAAQ,UAAU,EAAK,KAAK,cAAc,EAAQ,WAAW,CAC7D,EAAQ,gBACR,EAAK,KAAK,qBAAqB,EAAQ,iBAAiB,CAC5D,EAAK,KAAK,EAAQ,OAAS,WAAa,iBAAiB,CAEzD,IAAM,EAAM,mBAAmB,EAAQ,QAAQ,OAAO,EAAK,GAAG,EAAK,KAAK,IAAI,GAE5E,GAAI,EAAQ,CACR,QAAQ,IAAI,uBAAwB,EAAI,CACxC,OAGJ,QAAQ,IAAI,WAAY,EAAI,CAC5B,EAAS,EAAK,CAAE,MAAO,UAAW,CAAC,EAE1C,CACJ,EAER,CAAC"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../src/nestjs.ts"],"sourcesContent":["import { execSync } from 'child_process';\n\nimport { definePlugin, PluginContext } from '@libria/plugin-loader';\nimport {\n ScaffoldTemplatePlugin,\n ScaffoldTemplatePluginOption,\n ExecuteOptions,\n SCAFFOLD_TEMPLATE_PLUGIN_TYPE,\n OptionTypeMap,\n} from '@libria/scaffold-core';\n\nexport interface NestJSOptions {\n version: ScaffoldTemplatePluginOption<'string'>;\n language: ScaffoldTemplatePluginOption<'string'>;\n packageManager: ScaffoldTemplatePluginOption<'string'>;\n strict: ScaffoldTemplatePluginOption<'boolean'>;\n skipInstall: ScaffoldTemplatePluginOption<'boolean'>;\n skipGit: ScaffoldTemplatePluginOption<'boolean'>;\n}\n\nexport default definePlugin<ScaffoldTemplatePlugin<NestJSOptions>>({\n id: 'libria:scaffold:nestjs',\n name: 'nestjs',\n pluginType: SCAFFOLD_TEMPLATE_PLUGIN_TYPE,\n\n async create(_: PluginContext) {\n return {\n api: {\n argument: 'nestjs',\n getOptions: async options => {\n if (!options.version) {\n return {\n version: {\n type: 'string',\n flags: '--version <version>',\n description: 'NestJS version:',\n choices: ['11', '10'],\n defaultValue: '11',\n },\n };\n }\n\n const allOptions: Record<\n string,\n ScaffoldTemplatePluginOption<keyof OptionTypeMap>\n > = {\n version: {\n type: 'string',\n flags: '--version <version>',\n description: 'NestJS version:',\n choices: ['11', '10'],\n defaultValue: '11',\n },\n language: {\n type: 'string',\n flags: '--language <value>',\n description: 'Which programming language?',\n },\n packageManager: {\n type: 'string',\n flags: '--package-manager <value>',\n description: 'Which package manager would you like to use?',\n },\n strict: {\n type: 'boolean',\n flags: '--strict',\n description: 'Enable TypeScript strict mode?',\n defaultValue: false,\n },\n skipInstall: {\n type: 'boolean',\n flags: '--skip-install',\n description: 'Skip installing dependencies?',\n defaultValue: false,\n },\n skipGit: {\n type: 'boolean',\n flags: '--skip-git',\n description: 'Skip git initialization?',\n defaultValue: false,\n },\n };\n\n return allOptions;\n },\n execute: async (options: ExecuteOptions<NestJSOptions>) => {\n const { name, dryRun } = options;\n const major = Number(options.version);\n console.log('Executing for version:', major);\n const args: string[] = [];\n\n if (options.language) args.push(`--language=${options.language}`);\n if (options.packageManager)\n args.push(`--package-manager=${options.packageManager}`);\n args.push(options.strict ? '--strict' : '--strict=false');\n if (options.skipInstall) args.push('--skip-install');\n if (options.skipGit) args.push('--skip-git');\n\n const cmd = `npx @nestjs/cli@${options.version} new ${name} ${args.join(' ')}`;\n\n if (dryRun) {\n console.log('[dry-run] Would run:', cmd);\n return;\n }\n\n console.log('Running:', cmd);\n execSync(cmd, { stdio: 'inherit' });\n },\n },\n };\n },\n});\n"],"mappings":"oKAoBA,IAAA,EAAe,EAAoD,CAC/D,GAAI,yBACJ,KAAM,SACN,WAAY,EAEZ,MAAM,OAAO,EAAkB,CAC3B,MAAO,CACH,IAAK,CACD,SAAU,SACV,WAAY,KAAM,IACT,EAAQ,QAeT,CACA,QAAS,CACL,KAAM,SACN,MAAO,sBACP,YAAa,kBACb,QAAS,CAAC,KAAM,KAAK,CACrB,aAAc,KACjB,CACD,SAAU,CACN,KAAM,SACN,MAAO,qBACP,YAAa,8BAChB,CACD,eAAgB,CACZ,KAAM,SACN,MAAO,4BACP,YAAa,+CAChB,CACD,OAAQ,CACJ,KAAM,UACN,MAAO,WACP,YAAa,iCACb,aAAc,GACjB,CACD,YAAa,CACT,KAAM,UACN,MAAO,iBACP,YAAa,gCACb,aAAc,GACjB,CACD,QAAS,CACL,KAAM,UACN,MAAO,aACP,YAAa,2BACb,aAAc,GACjB,CACJ,CAlDU,CACH,QAAS,CACL,KAAM,SACN,MAAO,sBACP,YAAa,kBACb,QAAS,CAAC,KAAM,KAAK,CACrB,aAAc,KACjB,CACJ,CA8CT,QAAS,KAAO,IAA2C,CACvD,GAAM,CAAE,OAAM,UAAW,EACnB,EAAQ,OAAO,EAAQ,QAAQ,CACrC,QAAQ,IAAI,yBAA0B,EAAM,CAC5C,IAAM,EAAiB,EAAE,CAErB,EAAQ,UAAU,EAAK,KAAK,cAAc,EAAQ,WAAW,CAC7D,EAAQ,gBACR,EAAK,KAAK,qBAAqB,EAAQ,iBAAiB,CAC5D,EAAK,KAAK,EAAQ,OAAS,WAAa,iBAAiB,CACrD,EAAQ,aAAa,EAAK,KAAK,iBAAiB,CAChD,EAAQ,SAAS,EAAK,KAAK,aAAa,CAE5C,IAAM,EAAM,mBAAmB,EAAQ,QAAQ,OAAO,EAAK,GAAG,EAAK,KAAK,IAAI,GAE5E,GAAI,EAAQ,CACR,QAAQ,IAAI,uBAAwB,EAAI,CACxC,OAGJ,QAAQ,IAAI,WAAY,EAAI,CAC5B,EAAS,EAAK,CAAE,MAAO,UAAW,CAAC,EAE1C,CACJ,EAER,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libria/scaffold-plugin-nestjs",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "NestJs cli wrapper template for @libria/scaffold",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",
@@ -31,8 +31,8 @@
31
31
  },
32
32
  "homepage": "https://github.com/LibriaForge/scaffold-starters#readme",
33
33
  "dependencies": {
34
- "@libria/plugin-loader": "^2.0.0",
35
- "@libria/scaffold-core": "^0.3.4",
34
+ "@libria/plugin-loader": "^2.1.0",
35
+ "@libria/scaffold-core": "^0.3.7",
36
36
  "fs-extra": "^11.3.3"
37
37
  }
38
38
  }