@express-tool/cli 2.0.0 → 2.0.1

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/dist/bin.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as e}from"module";e(import.meta.url);import{Command as t}from"commander";import s from"picocolors";import{authPlugin as n}from"@express-tool/plugin-auth";import{ciPlugin as a}from"@express-tool/plugin-ci";import{commonPlugin as o}from"@express-tool/plugin-common";import{databasePlugin as r}from"@express-tool/plugin-database";import{dockerPlugin as i}from"@express-tool/plugin-docker";import{middlewarePlugin as p}from"@express-tool/plugin-middleware";import{qualityPlugin as l}from"@express-tool/plugin-quality";import{swaggerPlugin as c}from"@express-tool/plugin-swagger";import{testingPlugin as g}from"@express-tool/plugin-testing";import{viewsPlugin as m}from"@express-tool/plugin-views";import u from"fs-extra";import d from"prompts";import{z as y}from"zod";import{controllerJs as f,controllerTs as w,routesJs as j,routesTs as v,testJs as h,testTs as x}from"@express-tool/plugin-resource";import S from"envinfo";import{createRequire as $}from"node:module";let b=$(import.meta.url);var k={656(e,$,k){k.d($,{x:()=>G});var C=JSON.parse('{"UU":"@express-tool/cli","rE":"1.0.4"}');let E=e=>console.log(s.blue("ℹ"),e),D=e=>console.log(s.green("✔"),e),P=e=>console.log(s.yellow("⚠"),e),R=e=>console.log(s.red("✖"),e),T=b("path");var N=k.n(T);async function M(e,t,s,n,a,o){E(`Applying plugin: ${e.name}`);let r=await e.apply(t,o);if(r.dependencies&&(n.dependencies={...n.dependencies,...r.dependencies}),r.devDependencies&&(n.devDependencies={...n.devDependencies,...r.devDependencies}),r.files)for(let e of r.files){let t=N().join(s,"src",e.path);u.ensureDirSync(N().dirname(t)),u.writeFileSync(t,e.content),E(` Created ${e.path}`)}if(r.env)for(let[e,t]of Object.entries(r.env))a.push(`${e}=${t}`);if(r.scripts&&(n.scripts={...n.scripts,...r.scripts}),r.commands)for(let e of r.commands){E(` Running command: ${e}`);try{k(317).execSync(e,{cwd:s,stdio:"inherit"})}catch(t){P(` Command failed: ${e}`)}}return r}async function L(e){let t=N().resolve(process.cwd(),e.projectName);u.existsSync(t)&&(R(`Directory ${e.projectName} already exists.`),process.exit(1)),E(`Creating project in ${t}...`),u.mkdirSync(t);let s=[],d={name:e.projectName,version:"0.0.0",private:!0,type:"module",scripts:{dev:"ts"===e.language?"tsx watch src/index.ts":"nodemon --experimental-specifier-resolution=node src/index.js",build:"ts"===e.language?"tsup src/index.ts --format esm --platform node --target es2022 --clean":void 0,start:"ts"===e.language?"node dist/index.js":"node --experimental-specifier-resolution=node src/index.js",..."ts"===e.language?{typecheck:"tsc --noEmit",test:"vitest"}:{}},dependencies:{express:"^5.2.1"},devDependencies:{..."ts"===e.language?{"@types/node":"^25.2.2","@types/express":"^5.0.0","@types/express-serve-static-core":"^5.0.6",tsup:"^8.1.0",tsx:"^4.19.2",typescript:"^5.7.0"}:{}},engines:{node:">=20.0.0"}};if("rest-swagger"===e.apiType&&(Object.assign(d.dependencies,{"swagger-ui-express":"^5.0.0",zod:"^4.3.6","@asteasolutions/zod-to-openapi":"^7.3.0"}),"ts"===e.language&&Object.assign(d.devDependencies,{"@types/swagger-ui-express":"^4.1.6"})),"jwt"===e.auth&&(Object.assign(d.dependencies,{jsonwebtoken:"^9.0.2"}),"ts"===e.language&&Object.assign(d.devDependencies,{"@types/jsonwebtoken":"^9.0.6"})),"none"!==e.templateEngine){let t="ejs"===e.templateEngine?"^3.1.10":"^3.0.3";if(Object.assign(d.dependencies,{[e.templateEngine]:t}),"ts"===e.language){let t="ejs"===e.templateEngine?"^3.1.5":"^2.0.10";Object.assign(d.devDependencies,{[`@types/${e.templateEngine}`]:t})}}u.writeJsonSync(N().join(t,"package.json"),d,{spaces:2});let y=N().join(t,"src");u.mkdirSync(y),e.language;let f={projectRoot:t,projectName:e.projectName,isTs:"ts"===e.language,language:e.language};await M(o,f,t,d,s),e.validation&&await M(p,f,t,d,s),"rest-swagger"===e.apiType&&await M(c,f,t,d,s),"none"!==e.database&&await M(r,f,t,d,s,{database:e.database}),"jwt"===e.auth&&await M(n,f,t,d,s),"none"!==e.templateEngine&&await M(m,f,t,d,s,{templateEngine:e.templateEngine});let w=s.join("\n")+"\n";u.writeFileSync(N().join(t,".env"),w),u.writeFileSync(N().join(t,".env.example"),w);let j=`import 'dotenv/config';
2
+ import{createRequire as e}from"module";e(import.meta.url);import{Command as t}from"commander";import s from"picocolors";import{authPlugin as n}from"@express-tool/plugin-auth";import{ciPlugin as a}from"@express-tool/plugin-ci";import{commonPlugin as o}from"@express-tool/plugin-common";import{databasePlugin as r}from"@express-tool/plugin-database";import{dockerPlugin as i}from"@express-tool/plugin-docker";import{middlewarePlugin as p}from"@express-tool/plugin-middleware";import{qualityPlugin as l}from"@express-tool/plugin-quality";import{swaggerPlugin as c}from"@express-tool/plugin-swagger";import{testingPlugin as g}from"@express-tool/plugin-testing";import{viewsPlugin as m}from"@express-tool/plugin-views";import u from"fs-extra";import d from"prompts";import{z as y}from"zod";import{controllerJs as f,controllerTs as w,routesJs as j,routesTs as v,testJs as h,testTs as x}from"@express-tool/plugin-resource";import S from"envinfo";import{createRequire as $}from"node:module";let b=$(import.meta.url);var k={656(e,$,k){k.d($,{x:()=>G});var C=JSON.parse('{"UU":"@express-tool/cli","rE":"2.0.1"}');let E=e=>console.log(s.blue("ℹ"),e),D=e=>console.log(s.green("✔"),e),P=e=>console.log(s.yellow("⚠"),e),R=e=>console.log(s.red("✖"),e),T=b("path");var N=k.n(T);async function M(e,t,s,n,a,o){E(`Applying plugin: ${e.name}`);let r=await e.apply(t,o);if(r.dependencies&&(n.dependencies={...n.dependencies,...r.dependencies}),r.devDependencies&&(n.devDependencies={...n.devDependencies,...r.devDependencies}),r.files)for(let e of r.files){let t=N().join(s,"src",e.path);u.ensureDirSync(N().dirname(t)),u.writeFileSync(t,e.content),E(` Created ${e.path}`)}if(r.env)for(let[e,t]of Object.entries(r.env))a.push(`${e}=${t}`);if(r.scripts&&(n.scripts={...n.scripts,...r.scripts}),r.commands)for(let e of r.commands){E(` Running command: ${e}`);try{k(317).execSync(e,{cwd:s,stdio:"inherit"})}catch(t){P(` Command failed: ${e}`)}}return r}async function L(e){let t=N().resolve(process.cwd(),e.projectName);u.existsSync(t)&&(R(`Directory ${e.projectName} already exists.`),process.exit(1)),E(`Creating project in ${t}...`),u.mkdirSync(t);let s=[],d={name:e.projectName,version:"0.0.0",private:!0,type:"module",scripts:{dev:"ts"===e.language?"tsx watch src/index.ts":"nodemon --experimental-specifier-resolution=node src/index.js",build:"ts"===e.language?"tsup src/index.ts --format esm --platform node --target es2022 --clean":void 0,start:"ts"===e.language?"node dist/index.js":"node --experimental-specifier-resolution=node src/index.js",..."ts"===e.language?{typecheck:"tsc --noEmit",test:"vitest"}:{}},dependencies:{express:"^5.2.1"},devDependencies:{..."ts"===e.language?{"@types/node":"^25.2.2","@types/express":"^5.0.0","@types/express-serve-static-core":"^5.0.6",tsup:"^8.1.0",tsx:"^4.19.2",typescript:"^5.7.0"}:{}},engines:{node:">=20.0.0"}};if("rest-swagger"===e.apiType&&(Object.assign(d.dependencies,{"swagger-ui-express":"^5.0.0",zod:"^4.3.6","@asteasolutions/zod-to-openapi":"^7.3.0"}),"ts"===e.language&&Object.assign(d.devDependencies,{"@types/swagger-ui-express":"^4.1.6"})),"jwt"===e.auth&&(Object.assign(d.dependencies,{jsonwebtoken:"^9.0.2"}),"ts"===e.language&&Object.assign(d.devDependencies,{"@types/jsonwebtoken":"^9.0.6"})),"none"!==e.templateEngine){let t="ejs"===e.templateEngine?"^3.1.10":"^3.0.3";if(Object.assign(d.dependencies,{[e.templateEngine]:t}),"ts"===e.language){let t="ejs"===e.templateEngine?"^3.1.5":"^2.0.10";Object.assign(d.devDependencies,{[`@types/${e.templateEngine}`]:t})}}u.writeJsonSync(N().join(t,"package.json"),d,{spaces:2});let y=N().join(t,"src");u.mkdirSync(y),e.language;let f={projectRoot:t,projectName:e.projectName,isTs:"ts"===e.language,language:e.language};await M(o,f,t,d,s),e.validation&&await M(p,f,t,d,s),"rest-swagger"===e.apiType&&await M(c,f,t,d,s),"none"!==e.database&&await M(r,f,t,d,s,{database:e.database}),"jwt"===e.auth&&await M(n,f,t,d,s),"none"!==e.templateEngine&&await M(m,f,t,d,s,{templateEngine:e.templateEngine});let w=s.join("\n")+"\n";u.writeFileSync(N().join(t,".env"),w),u.writeFileSync(N().join(t,".env.example"),w);let j=`import 'dotenv/config';
3
3
  import express${"ts"===e.language?", { Request, Response }":""} from 'express';
4
4
  import cors from 'cors';
5
5
  import helmet from 'helmet';
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{createRequire as e}from"node:module";let t=e(import.meta.url);import{Command as s}from"commander";import a from"picocolors";import{authPlugin as n}from"@express-tool/plugin-auth";import{ciPlugin as o}from"@express-tool/plugin-ci";import{commonPlugin as r}from"@express-tool/plugin-common";import{databasePlugin as i}from"@express-tool/plugin-database";import{dockerPlugin as p}from"@express-tool/plugin-docker";import{middlewarePlugin as l}from"@express-tool/plugin-middleware";import{qualityPlugin as c}from"@express-tool/plugin-quality";import{swaggerPlugin as g}from"@express-tool/plugin-swagger";import{testingPlugin as m}from"@express-tool/plugin-testing";import{viewsPlugin as u}from"@express-tool/plugin-views";import d from"fs-extra";import y from"prompts";import{z as f}from"zod";import{controllerJs as w,controllerTs as j,routesJs as v,routesTs as h,testJs as x,testTs as S}from"@express-tool/plugin-resource";import $ from"envinfo";var b={317(e){e.exports=t("child_process")}},k={};function C(e){var t=k[e];if(void 0!==t)return t.exports;var s=k[e]={exports:{}};return b[e](s,s.exports,C),s.exports}C.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return C.d(t,{a:t}),t},C.d=(e,t)=>{for(var s in t)C.o(t,s)&&!C.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},C.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var E={};(()=>{C.d(E,{x:()=>B});var e=JSON.parse('{"UU":"@express-tool/cli","rE":"1.0.4"}');let b=e=>console.log(a.blue("ℹ"),e),k=e=>console.log(a.green("✔"),e),D=e=>console.log(a.yellow("⚠"),e),P=e=>console.log(a.red("✖"),e),R=t("path");var T=C.n(R);async function N(e,t,s,a,n,o){b(`Applying plugin: ${e.name}`);let r=await e.apply(t,o);if(r.dependencies&&(a.dependencies={...a.dependencies,...r.dependencies}),r.devDependencies&&(a.devDependencies={...a.devDependencies,...r.devDependencies}),r.files)for(let e of r.files){let t=T().join(s,"src",e.path);d.ensureDirSync(T().dirname(t)),d.writeFileSync(t,e.content),b(` Created ${e.path}`)}if(r.env)for(let[e,t]of Object.entries(r.env))n.push(`${e}=${t}`);if(r.scripts&&(a.scripts={...a.scripts,...r.scripts}),r.commands)for(let e of r.commands){b(` Running command: ${e}`);try{C(317).execSync(e,{cwd:s,stdio:"inherit"})}catch(t){D(` Command failed: ${e}`)}}return r}async function M(e){let t=T().resolve(process.cwd(),e.projectName);d.existsSync(t)&&(P(`Directory ${e.projectName} already exists.`),process.exit(1)),b(`Creating project in ${t}...`),d.mkdirSync(t);let s=[],a={name:e.projectName,version:"0.0.0",private:!0,type:"module",scripts:{dev:"ts"===e.language?"tsx watch src/index.ts":"nodemon --experimental-specifier-resolution=node src/index.js",build:"ts"===e.language?"tsup src/index.ts --format esm --platform node --target es2022 --clean":void 0,start:"ts"===e.language?"node dist/index.js":"node --experimental-specifier-resolution=node src/index.js",..."ts"===e.language?{typecheck:"tsc --noEmit",test:"vitest"}:{}},dependencies:{express:"^5.2.1"},devDependencies:{..."ts"===e.language?{"@types/node":"^25.2.2","@types/express":"^5.0.0","@types/express-serve-static-core":"^5.0.6",tsup:"^8.1.0",tsx:"^4.19.2",typescript:"^5.7.0"}:{}},engines:{node:">=20.0.0"}};if("rest-swagger"===e.apiType&&(Object.assign(a.dependencies,{"swagger-ui-express":"^5.0.0",zod:"^4.3.6","@asteasolutions/zod-to-openapi":"^7.3.0"}),"ts"===e.language&&Object.assign(a.devDependencies,{"@types/swagger-ui-express":"^4.1.6"})),"jwt"===e.auth&&(Object.assign(a.dependencies,{jsonwebtoken:"^9.0.2"}),"ts"===e.language&&Object.assign(a.devDependencies,{"@types/jsonwebtoken":"^9.0.6"})),"none"!==e.templateEngine){let t="ejs"===e.templateEngine?"^3.1.10":"^3.0.3";if(Object.assign(a.dependencies,{[e.templateEngine]:t}),"ts"===e.language){let t="ejs"===e.templateEngine?"^3.1.5":"^2.0.10";Object.assign(a.devDependencies,{[`@types/${e.templateEngine}`]:t})}}d.writeJsonSync(T().join(t,"package.json"),a,{spaces:2});let y=T().join(t,"src");d.mkdirSync(y),e.language;let f={projectRoot:t,projectName:e.projectName,isTs:"ts"===e.language,language:e.language};await N(r,f,t,a,s),e.validation&&await N(l,f,t,a,s),"rest-swagger"===e.apiType&&await N(g,f,t,a,s),"none"!==e.database&&await N(i,f,t,a,s,{database:e.database}),"jwt"===e.auth&&await N(n,f,t,a,s),"none"!==e.templateEngine&&await N(u,f,t,a,s,{templateEngine:e.templateEngine});let w=s.join("\n")+"\n";d.writeFileSync(T().join(t,".env"),w),d.writeFileSync(T().join(t,".env.example"),w);let j=`import 'dotenv/config';
1
+ import{createRequire as e}from"node:module";let t=e(import.meta.url);import{Command as s}from"commander";import a from"picocolors";import{authPlugin as n}from"@express-tool/plugin-auth";import{ciPlugin as o}from"@express-tool/plugin-ci";import{commonPlugin as r}from"@express-tool/plugin-common";import{databasePlugin as i}from"@express-tool/plugin-database";import{dockerPlugin as p}from"@express-tool/plugin-docker";import{middlewarePlugin as l}from"@express-tool/plugin-middleware";import{qualityPlugin as c}from"@express-tool/plugin-quality";import{swaggerPlugin as g}from"@express-tool/plugin-swagger";import{testingPlugin as m}from"@express-tool/plugin-testing";import{viewsPlugin as u}from"@express-tool/plugin-views";import d from"fs-extra";import y from"prompts";import{z as f}from"zod";import{controllerJs as w,controllerTs as j,routesJs as v,routesTs as h,testJs as x,testTs as S}from"@express-tool/plugin-resource";import $ from"envinfo";var b={317(e){e.exports=t("child_process")}},k={};function C(e){var t=k[e];if(void 0!==t)return t.exports;var s=k[e]={exports:{}};return b[e](s,s.exports,C),s.exports}C.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return C.d(t,{a:t}),t},C.d=(e,t)=>{for(var s in t)C.o(t,s)&&!C.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},C.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var E={};(()=>{C.d(E,{x:()=>B});var e=JSON.parse('{"UU":"@express-tool/cli","rE":"2.0.1"}');let b=e=>console.log(a.blue("ℹ"),e),k=e=>console.log(a.green("✔"),e),D=e=>console.log(a.yellow("⚠"),e),P=e=>console.log(a.red("✖"),e),R=t("path");var T=C.n(R);async function N(e,t,s,a,n,o){b(`Applying plugin: ${e.name}`);let r=await e.apply(t,o);if(r.dependencies&&(a.dependencies={...a.dependencies,...r.dependencies}),r.devDependencies&&(a.devDependencies={...a.devDependencies,...r.devDependencies}),r.files)for(let e of r.files){let t=T().join(s,"src",e.path);d.ensureDirSync(T().dirname(t)),d.writeFileSync(t,e.content),b(` Created ${e.path}`)}if(r.env)for(let[e,t]of Object.entries(r.env))n.push(`${e}=${t}`);if(r.scripts&&(a.scripts={...a.scripts,...r.scripts}),r.commands)for(let e of r.commands){b(` Running command: ${e}`);try{C(317).execSync(e,{cwd:s,stdio:"inherit"})}catch(t){D(` Command failed: ${e}`)}}return r}async function M(e){let t=T().resolve(process.cwd(),e.projectName);d.existsSync(t)&&(P(`Directory ${e.projectName} already exists.`),process.exit(1)),b(`Creating project in ${t}...`),d.mkdirSync(t);let s=[],a={name:e.projectName,version:"0.0.0",private:!0,type:"module",scripts:{dev:"ts"===e.language?"tsx watch src/index.ts":"nodemon --experimental-specifier-resolution=node src/index.js",build:"ts"===e.language?"tsup src/index.ts --format esm --platform node --target es2022 --clean":void 0,start:"ts"===e.language?"node dist/index.js":"node --experimental-specifier-resolution=node src/index.js",..."ts"===e.language?{typecheck:"tsc --noEmit",test:"vitest"}:{}},dependencies:{express:"^5.2.1"},devDependencies:{..."ts"===e.language?{"@types/node":"^25.2.2","@types/express":"^5.0.0","@types/express-serve-static-core":"^5.0.6",tsup:"^8.1.0",tsx:"^4.19.2",typescript:"^5.7.0"}:{}},engines:{node:">=20.0.0"}};if("rest-swagger"===e.apiType&&(Object.assign(a.dependencies,{"swagger-ui-express":"^5.0.0",zod:"^4.3.6","@asteasolutions/zod-to-openapi":"^7.3.0"}),"ts"===e.language&&Object.assign(a.devDependencies,{"@types/swagger-ui-express":"^4.1.6"})),"jwt"===e.auth&&(Object.assign(a.dependencies,{jsonwebtoken:"^9.0.2"}),"ts"===e.language&&Object.assign(a.devDependencies,{"@types/jsonwebtoken":"^9.0.6"})),"none"!==e.templateEngine){let t="ejs"===e.templateEngine?"^3.1.10":"^3.0.3";if(Object.assign(a.dependencies,{[e.templateEngine]:t}),"ts"===e.language){let t="ejs"===e.templateEngine?"^3.1.5":"^2.0.10";Object.assign(a.devDependencies,{[`@types/${e.templateEngine}`]:t})}}d.writeJsonSync(T().join(t,"package.json"),a,{spaces:2});let y=T().join(t,"src");d.mkdirSync(y),e.language;let f={projectRoot:t,projectName:e.projectName,isTs:"ts"===e.language,language:e.language};await N(r,f,t,a,s),e.validation&&await N(l,f,t,a,s),"rest-swagger"===e.apiType&&await N(g,f,t,a,s),"none"!==e.database&&await N(i,f,t,a,s,{database:e.database}),"jwt"===e.auth&&await N(n,f,t,a,s),"none"!==e.templateEngine&&await N(u,f,t,a,s,{templateEngine:e.templateEngine});let w=s.join("\n")+"\n";d.writeFileSync(T().join(t,".env"),w),d.writeFileSync(T().join(t,".env.example"),w);let j=`import 'dotenv/config';
2
2
  import express${"ts"===e.language?", { Request, Response }":""} from 'express';
3
3
  import cors from 'cors';
4
4
  import helmet from 'helmet';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@express-tool/cli",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Production-grade CLI for Express.js applications",
5
5
  "keywords": [
6
6
  "express",
@@ -41,18 +41,18 @@
41
41
  "picocolors": "^1.1.1",
42
42
  "prompts": "^2.4.2",
43
43
  "zod": "^4.3.6",
44
- "@express-tool/core": "2.0.0",
45
- "@express-tool/plugin-middleware": "2.0.0",
46
- "@express-tool/plugin-auth": "2.0.0",
47
- "@express-tool/plugin-swagger": "2.0.0",
48
- "@express-tool/plugin-common": "2.0.0",
49
- "@express-tool/plugin-database": "2.0.0",
50
- "@express-tool/plugin-testing": "2.0.0",
51
- "@express-tool/plugin-views": "2.0.0",
52
- "@express-tool/plugin-quality": "2.0.0",
53
- "@express-tool/plugin-ci": "2.0.0",
54
- "@express-tool/plugin-docker": "2.0.0",
55
- "@express-tool/plugin-resource": "2.0.0"
44
+ "@express-tool/core": "2.0.1",
45
+ "@express-tool/plugin-auth": "2.0.1",
46
+ "@express-tool/plugin-middleware": "2.0.1",
47
+ "@express-tool/plugin-swagger": "2.0.1",
48
+ "@express-tool/plugin-common": "2.0.1",
49
+ "@express-tool/plugin-testing": "2.0.1",
50
+ "@express-tool/plugin-quality": "2.0.1",
51
+ "@express-tool/plugin-database": "2.0.1",
52
+ "@express-tool/plugin-resource": "2.0.1",
53
+ "@express-tool/plugin-docker": "2.0.1",
54
+ "@express-tool/plugin-views": "2.0.1",
55
+ "@express-tool/plugin-ci": "2.0.1"
56
56
  },
57
57
  "devDependencies": {
58
58
  "@rsbuild/core": "^1.7.3",