@libria/scaffold-plugin-nestjs 0.0.1 → 0.0.4

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
- b6c8f0a2af565efee125fe0fb6d8e29bb48c4e44279701b21c14ae9b19c465f9
1
+ 7f92cb2c9d975b5ae1d7c06f97ba7e4a062e21f3f973f918e04c04b88dd26a19
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let e=require(`child_process`),t=require(`@libria/plugin-loader`);const n=`scaffold-template`;var r=(0,t.definePlugin)({id:`libria:scaffold:nestjs`,name:`nestjs`,pluginType:n,async create(t){return{api:{argument:`nestjs`,getOptions:async e=>e.version?(Number(e.version),{version:{flags:`--version <version>`,description:`NestJS version:`,choices:[`11`,`10`],defaultValue:`11`},language:{flags:`--language <value>`,description:`Which programming language?`},packageManager:{flags:`--package-manager <value>`,description:`Which package manager would you like to use?`},strict:{flags:`--strict`,description:`Enable TypeScript strict mode?`,defaultValue:!1}}):{version:{flags:`--version <version>`,description:`NestJS version:`,choices:[`11`,`10`],defaultValue:`11`}},execute:async t=>{let{name:n,dryRun:r}=t;Number(t.version);let i=[];t.language&&i.push(`--language=${t.language}`),t.packageManager&&i.push(`--package-manager=${t.packageManager}`),i.push(t.strict?`--strict`:`--strict=false`);let a=`npx @nestjs/cli@${t.version} new ${n} ${i.join(` `)}`;if(r){console.log(`[dry-run] Would run:`,a);return}console.log(`Running:`,a),(0,e.execSync)(a,{stdio:`inherit`})}}}}});exports.SCAFFOLD_TEMPLATE_PLUGIN_TYPE=n,exports.default=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":[],"sources":["../src/nestjs.ts"],"sourcesContent":["import { execSync } from 'child_process';\n\nimport { definePlugin, PluginContext } from '@libria/plugin-loader';\nimport type {\n ScaffoldTemplatePlugin,\n ScaffoldTemplatePluginOption,\n ExecuteOptions,\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 const SCAFFOLD_TEMPLATE_PLUGIN_TYPE = 'scaffold-template';\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 flags: '--version <version>',\n description: 'NestJS version:',\n choices: ['11', '10'],\n defaultValue: '11',\n },\n };\n }\n\n const major = Number(options.version);\n const allOptions: Record<string, ScaffoldTemplatePluginOption> = {\n version: {\n flags: '--version <version>',\n description: 'NestJS version:',\n choices: ['11', '10'],\n defaultValue: '11',\n },\n language: {\n flags: '--language <value>',\n description: 'Which programming language?',\n },\n packageManager: {\n flags: '--package-manager <value>',\n description: 'Which package manager would you like to use?',\n },\n strict: {\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 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":"iKAgBA,MAAa,EAAgC,oBAE7C,IAAA,GAAA,EAAA,EAAA,cAAmE,CAC/D,GAAI,yBACJ,KAAM,SACN,WAAY,EAEZ,MAAM,OAAO,EAAkB,CAC3B,MAAO,CACH,IAAK,CACD,SAAU,SACV,WAAY,KAAM,IACT,EAAQ,SAWC,OAAO,EAAQ,QAAQ,CAC4B,CAC7D,QAAS,CACL,MAAO,sBACP,YAAa,kBACb,QAAS,CAAC,KAAM,KAAK,CACrB,aAAc,KACjB,CACD,SAAU,CACN,MAAO,qBACP,YAAa,8BAChB,CACD,eAAgB,CACZ,MAAO,4BACP,YAAa,+CAChB,CACD,OAAQ,CACJ,MAAO,WACP,YAAa,iCACb,aAAc,GACjB,CACJ,EA/BU,CACH,QAAS,CACL,MAAO,sBACP,YAAa,kBACb,QAAS,CAAC,KAAM,KAAK,CACrB,aAAc,KACjB,CACJ,CA4BT,QAAS,KAAO,IAA2C,CACvD,GAAM,CAAE,OAAM,UAAW,EACX,OAAO,EAAQ,QAAQ,CACrC,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
@@ -3,13 +3,14 @@ import { ScaffoldTemplatePlugin, ScaffoldTemplatePluginOption } from "@libria/sc
3
3
 
4
4
  //#region src/nestjs.d.ts
5
5
  interface NestJSOptions {
6
- version: ScaffoldTemplatePluginOption<string>;
7
- language: ScaffoldTemplatePluginOption<string>;
8
- packageManager: ScaffoldTemplatePluginOption<string>;
9
- strict: ScaffoldTemplatePluginOption<boolean>;
6
+ version: ScaffoldTemplatePluginOption<'string'>;
7
+ language: ScaffoldTemplatePluginOption<'string'>;
8
+ packageManager: ScaffoldTemplatePluginOption<'string'>;
9
+ strict: ScaffoldTemplatePluginOption<'boolean'>;
10
+ skipInstall: ScaffoldTemplatePluginOption<'boolean'>;
11
+ skipGit: ScaffoldTemplatePluginOption<'boolean'>;
10
12
  }
11
- declare const SCAFFOLD_TEMPLATE_PLUGIN_TYPE = "scaffold-template";
12
13
  declare const _default: _libria_plugin_loader0.PluginFactory<ScaffoldTemplatePlugin<NestJSOptions>>;
13
14
  //#endregion
14
- export { NestJSOptions, SCAFFOLD_TEMPLATE_PLUGIN_TYPE, _default as default };
15
+ export { NestJSOptions, _default as default };
15
16
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/nestjs.ts"],"mappings":";;;;UASiB,aAAA;EACb,OAAA,EAAS,4BAAA;EACT,QAAA,EAAU,4BAAA;EACV,cAAA,EAAgB,4BAAA;EAChB,MAAA,EAAQ,4BAAA;AAAA;AAAA,cAGC,6BAAA;AAAA,cAAoD,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
@@ -3,13 +3,14 @@ import { ScaffoldTemplatePlugin, ScaffoldTemplatePluginOption } from "@libria/sc
3
3
 
4
4
  //#region src/nestjs.d.ts
5
5
  interface NestJSOptions {
6
- version: ScaffoldTemplatePluginOption<string>;
7
- language: ScaffoldTemplatePluginOption<string>;
8
- packageManager: ScaffoldTemplatePluginOption<string>;
9
- strict: ScaffoldTemplatePluginOption<boolean>;
6
+ version: ScaffoldTemplatePluginOption<'string'>;
7
+ language: ScaffoldTemplatePluginOption<'string'>;
8
+ packageManager: ScaffoldTemplatePluginOption<'string'>;
9
+ strict: ScaffoldTemplatePluginOption<'boolean'>;
10
+ skipInstall: ScaffoldTemplatePluginOption<'boolean'>;
11
+ skipGit: ScaffoldTemplatePluginOption<'boolean'>;
10
12
  }
11
- declare const SCAFFOLD_TEMPLATE_PLUGIN_TYPE = "scaffold-template";
12
13
  declare const _default: _libria_plugin_loader0.PluginFactory<ScaffoldTemplatePlugin<NestJSOptions>>;
13
14
  //#endregion
14
- export { NestJSOptions, SCAFFOLD_TEMPLATE_PLUGIN_TYPE, _default as default };
15
+ export { NestJSOptions, _default as default };
15
16
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/nestjs.ts"],"mappings":";;;;UASiB,aAAA;EACb,OAAA,EAAS,4BAAA;EACT,QAAA,EAAU,4BAAA;EACV,cAAA,EAAgB,4BAAA;EAChB,MAAA,EAAQ,4BAAA;AAAA;AAAA,cAGC,6BAAA;AAAA,cAAoD,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";const n=`scaffold-template`;var r=t({id:`libria:scaffold:nestjs`,name:`nestjs`,pluginType:n,async create(t){return{api:{argument:`nestjs`,getOptions:async e=>e.version?(Number(e.version),{version:{flags:`--version <version>`,description:`NestJS version:`,choices:[`11`,`10`],defaultValue:`11`},language:{flags:`--language <value>`,description:`Which programming language?`},packageManager:{flags:`--package-manager <value>`,description:`Which package manager would you like to use?`},strict:{flags:`--strict`,description:`Enable TypeScript strict mode?`,defaultValue:!1}}):{version:{flags:`--version <version>`,description:`NestJS version:`,choices:[`11`,`10`],defaultValue:`11`}},execute:async t=>{let{name:n,dryRun:r}=t;Number(t.version);let i=[];t.language&&i.push(`--language=${t.language}`),t.packageManager&&i.push(`--package-manager=${t.packageManager}`),i.push(t.strict?`--strict`:`--strict=false`);let a=`npx @nestjs/cli@${t.version} new ${n} ${i.join(` `)}`;if(r){console.log(`[dry-run] Would run:`,a);return}console.log(`Running:`,a),e(a,{stdio:`inherit`})}}}}});export{n as SCAFFOLD_TEMPLATE_PLUGIN_TYPE,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 type {\n ScaffoldTemplatePlugin,\n ScaffoldTemplatePluginOption,\n ExecuteOptions,\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 const SCAFFOLD_TEMPLATE_PLUGIN_TYPE = 'scaffold-template';\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 flags: '--version <version>',\n description: 'NestJS version:',\n choices: ['11', '10'],\n defaultValue: '11',\n },\n };\n }\n\n const major = Number(options.version);\n const allOptions: Record<string, ScaffoldTemplatePluginOption> = {\n version: {\n flags: '--version <version>',\n description: 'NestJS version:',\n choices: ['11', '10'],\n defaultValue: '11',\n },\n language: {\n flags: '--language <value>',\n description: 'Which programming language?',\n },\n packageManager: {\n flags: '--package-manager <value>',\n description: 'Which package manager would you like to use?',\n },\n strict: {\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 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":"8FAgBA,MAAa,EAAgC,oBAE7C,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,SAWC,OAAO,EAAQ,QAAQ,CAC4B,CAC7D,QAAS,CACL,MAAO,sBACP,YAAa,kBACb,QAAS,CAAC,KAAM,KAAK,CACrB,aAAc,KACjB,CACD,SAAU,CACN,MAAO,qBACP,YAAa,8BAChB,CACD,eAAgB,CACZ,MAAO,4BACP,YAAa,+CAChB,CACD,OAAQ,CACJ,MAAO,WACP,YAAa,iCACb,aAAc,GACjB,CACJ,EA/BU,CACH,QAAS,CACL,MAAO,sBACP,YAAa,kBACb,QAAS,CAAC,KAAM,KAAK,CACrB,aAAc,KACjB,CACJ,CA4BT,QAAS,KAAO,IAA2C,CACvD,GAAM,CAAE,OAAM,UAAW,EACX,OAAO,EAAQ,QAAQ,CACrC,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.1",
3
+ "version": "0.0.4",
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-alpha",
35
- "@libria/scaffold-core": "^0.3.1",
34
+ "@libria/plugin-loader": "^2.1.0",
35
+ "@libria/scaffold-core": "^0.3.6",
36
36
  "fs-extra": "^11.3.3"
37
37
  }
38
38
  }