@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.
- package/.clean-publish.hash +1 -1
- package/README.md +5 -5
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +2 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/.clean-publish.hash
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
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
|
package/dist/index.cjs.map
CHANGED
|
@@ -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":"
|
|
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
|
package/dist/index.d.cts.map
CHANGED
|
@@ -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,
|
|
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
|
package/dist/index.d.mts.map
CHANGED
|
@@ -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,
|
|
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
|
package/dist/index.mjs.map
CHANGED
|
@@ -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":"
|
|
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
|
+
"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.
|
|
35
|
-
"@libria/scaffold-core": "^0.3.
|
|
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
|
}
|