simple-scaffold 1.7.0-develop.4 → 1.7.0-develop.6
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/README.md +1 -1
- package/config.d.ts +5 -0
- package/config.js +26 -17
- package/config.js.map +1 -1
- package/package.json +3 -5
- package/parser.d.ts +0 -3
- package/parser.js +30 -13
- package/parser.js.map +1 -1
- package/scaffold.js +1 -1
- package/scaffold.js.map +1 -1
package/README.md
CHANGED
|
@@ -66,7 +66,7 @@ $ npx simple-scaffold@latest \
|
|
|
66
66
|
This will immediately create the following file: `src/components/PageWrapper.tsx`
|
|
67
67
|
|
|
68
68
|
```tsx
|
|
69
|
-
// Created: 2077
|
|
69
|
+
// Created: 2077-01-01
|
|
70
70
|
import React from 'react'
|
|
71
71
|
|
|
72
72
|
export default PageWrapper: React.FC = (props) => {
|
package/config.d.ts
CHANGED
|
@@ -4,5 +4,10 @@ export declare function getOptionValueForFile<T>(config: ScaffoldConfig, filePat
|
|
|
4
4
|
export declare function parseAppendData(value: string, options: ScaffoldCmdConfig & OptionsBase): unknown;
|
|
5
5
|
/** @internal */
|
|
6
6
|
export declare function parseConfig(config: ScaffoldCmdConfig & OptionsBase): Promise<ScaffoldConfig>;
|
|
7
|
+
export declare function parseConfigSelection(config: string, key?: string): {
|
|
8
|
+
configFile: string;
|
|
9
|
+
key: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function githubPartToUrl(part: string): string;
|
|
7
12
|
/** @internal */
|
|
8
13
|
export declare function getConfig(config: ConfigLoadConfig): Promise<ScaffoldConfigFile>;
|
package/config.js
CHANGED
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.getConfig = exports.parseConfig = exports.parseAppendData = exports.getOptionValueForFile = void 0;
|
|
29
|
+
exports.getConfig = exports.githubPartToUrl = exports.parseConfigSelection = exports.parseConfig = exports.parseAppendData = exports.getOptionValueForFile = void 0;
|
|
30
30
|
const path_1 = __importDefault(require("path"));
|
|
31
31
|
const types_1 = require("./types");
|
|
32
32
|
const node_child_process_1 = require("node:child_process");
|
|
@@ -59,20 +59,10 @@ async function parseConfig(config) {
|
|
|
59
59
|
let c = config;
|
|
60
60
|
if (config.github) {
|
|
61
61
|
(0, logger_1.log)(config, types_1.LogLevel.Info, `Loading config from github ${config.github}`);
|
|
62
|
-
|
|
63
|
-
if (!gitUrl.pathname.endsWith(".git")) {
|
|
64
|
-
gitUrl.pathname += ".git";
|
|
65
|
-
}
|
|
66
|
-
config.config = gitUrl.toString();
|
|
62
|
+
config.config = githubPartToUrl(config.github);
|
|
67
63
|
}
|
|
68
64
|
if (config.config) {
|
|
69
|
-
const
|
|
70
|
-
const hasColonToken = (!isUrl && config.config.includes(":")) || (isUrl && count(config.config, ":") > 1);
|
|
71
|
-
const colonIndex = config.config.lastIndexOf(":");
|
|
72
|
-
const [configFile, templateKey = "default"] = hasColonToken
|
|
73
|
-
? [config.config.substring(0, colonIndex), config.config.substring(colonIndex + 1)]
|
|
74
|
-
: [config.config, undefined];
|
|
75
|
-
const key = (config.key ?? templateKey) || "default";
|
|
65
|
+
const { configFile, key } = parseConfigSelection(config.config, config.key);
|
|
76
66
|
(0, logger_1.log)(config, types_1.LogLevel.Info, `Loading config from ${configFile} with key ${key}`);
|
|
77
67
|
const configPromise = await getConfig({ config: configFile, quiet: config.quiet, verbose: config.verbose });
|
|
78
68
|
const configImport = await (0, utils_1.resolve)(configPromise, config);
|
|
@@ -93,6 +83,25 @@ async function parseConfig(config) {
|
|
|
93
83
|
return c;
|
|
94
84
|
}
|
|
95
85
|
exports.parseConfig = parseConfig;
|
|
86
|
+
function parseConfigSelection(config, key) {
|
|
87
|
+
const isUrl = config.includes("://");
|
|
88
|
+
const hasColonToken = (!isUrl && config.includes(":")) || (isUrl && count(config, ":") > 1);
|
|
89
|
+
const colonIndex = config.lastIndexOf(":");
|
|
90
|
+
const [configFile, templateKey = "default"] = hasColonToken
|
|
91
|
+
? [config.substring(0, colonIndex), config.substring(colonIndex + 1)]
|
|
92
|
+
: [config, undefined];
|
|
93
|
+
const _key = (key ?? templateKey) || "default";
|
|
94
|
+
return { configFile, key: _key };
|
|
95
|
+
}
|
|
96
|
+
exports.parseConfigSelection = parseConfigSelection;
|
|
97
|
+
function githubPartToUrl(part) {
|
|
98
|
+
const gitUrl = new URL(`https://github.com/${part}`);
|
|
99
|
+
if (!gitUrl.pathname.endsWith(".git")) {
|
|
100
|
+
gitUrl.pathname += ".git";
|
|
101
|
+
}
|
|
102
|
+
return gitUrl.toString();
|
|
103
|
+
}
|
|
104
|
+
exports.githubPartToUrl = githubPartToUrl;
|
|
96
105
|
function wrapNoopResolver(value) {
|
|
97
106
|
if (typeof value === "function") {
|
|
98
107
|
return value;
|
|
@@ -110,10 +119,10 @@ async function getConfig(config) {
|
|
|
110
119
|
}
|
|
111
120
|
const isHttp = url.protocol === "http:" || url.protocol === "https:";
|
|
112
121
|
const isGit = url.protocol === "git:" || (isHttp && url.pathname.endsWith(".git"));
|
|
113
|
-
if (
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
122
|
+
if (isGit) {
|
|
123
|
+
return getGitConfig(url, logConfig);
|
|
124
|
+
}
|
|
125
|
+
if (!isHttp) {
|
|
117
126
|
throw new Error(`Unsupported protocol ${url.protocol}`);
|
|
118
127
|
}
|
|
119
128
|
return wrapNoopResolver(Promise.resolve(`${path_1.default.resolve(process.cwd(), configFile)}`).then(s => __importStar(require(s))));
|
package/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,mCAYgB;AAEhB,2DAA0C;AAC1C,sDAAwB;AACxB,qCAA0C;AAC1C,qCAA8B;AAC9B,mCAAiC;AAEjC,SAAgB,qBAAqB,CACnC,MAAsB,EACtB,QAAgB,EAChB,EAAmB,EACnB,YAAgB;IAEhB,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE;QAC5B,OAAO,YAAY,IAAK,EAAQ,CAAA;KACjC;IACD,OAAQ,EAA6B,CACnC,QAAQ,EACR,cAAI,CAAC,OAAO,CAAC,IAAA,wBAAe,EAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EAC5E,cAAI,CAAC,QAAQ,CAAC,IAAA,wBAAe,EAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAC9E,CAAA;AACH,CAAC;AAdD,sDAcC;AAED,SAAgB,eAAe,CAAC,KAAa,EAAE,OAAwC;IACrF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAA;IAC/B,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACtC,MAAM;IACN,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC/C,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAA;KAC3C;IACD,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;AAC9F,CAAC;AARD,0CAQC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;AAC7G,CAAC;AAED,gBAAgB;AACT,KAAK,UAAU,WAAW,CAAC,MAAuC;IACvE,IAAI,CAAC,GAAmB,MAAM,CAAA;IAC9B,IAAI,MAAM,CAAC,MAAM,EAAE;QACjB,IAAA,YAAG,EAAC,MAAM,EAAE,gBAAQ,CAAC,IAAI,EAAE,8BAA8B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;QACzE,MAAM,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "simple-scaffold",
|
|
3
|
-
"version": "1.7.0-develop.
|
|
3
|
+
"version": "1.7.0-develop.6",
|
|
4
4
|
"description": "Generate any file structure - from single components to entire app boilerplates, with a single command.",
|
|
5
5
|
"homepage": "https://chenasraf.github.io/simple-scaffold",
|
|
6
6
|
"repository": "https://github.com/chenasraf/simple-scaffold.git",
|
|
@@ -36,10 +36,9 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"chalk": "^4.1.2",
|
|
39
|
-
"date-fns": "^2.
|
|
40
|
-
"glob": "^
|
|
39
|
+
"date-fns": "^2.30.0",
|
|
40
|
+
"glob": "^10.2.3",
|
|
41
41
|
"handlebars": "^4.7.7",
|
|
42
|
-
"lodash": "^4.17.21",
|
|
43
42
|
"massarg": "^1.0.7-pre.1"
|
|
44
43
|
},
|
|
45
44
|
"devDependencies": {
|
|
@@ -48,7 +47,6 @@
|
|
|
48
47
|
"@semantic-release/git": "^10.0.1",
|
|
49
48
|
"@semantic-release/release-notes-generator": "^10.0.3",
|
|
50
49
|
"@types/jest": "^29.5.1",
|
|
51
|
-
"@types/lodash": "^4.14.171",
|
|
52
50
|
"@types/mock-fs": "^4.13.1",
|
|
53
51
|
"@types/node": "^18.16.0",
|
|
54
52
|
"conventional-changelog": "^3.1.25",
|
package/parser.d.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { DefaultHelpers, Helper, ScaffoldConfig } from "./types";
|
|
3
3
|
export declare const defaultHelpers: Record<DefaultHelpers, Helper>;
|
|
4
|
-
export declare function _dateHelper(date: Date, formatString: string): string;
|
|
5
|
-
export declare function _dateHelper(date: Date, formatString: string, durationDifference: number, durationType: keyof Duration): string;
|
|
6
4
|
export declare function nowHelper(formatString: string): string;
|
|
7
5
|
export declare function nowHelper(formatString: string, durationDifference: number, durationType: keyof Duration): string;
|
|
8
6
|
export declare function dateHelper(date: string, formatString: string): string;
|
|
9
7
|
export declare function dateHelper(date: string, formatString: string, durationDifference: number, durationType: keyof Duration): string;
|
|
10
|
-
export declare function pascalCase(s: string): string;
|
|
11
8
|
export declare function registerHelpers(config: ScaffoldConfig): void;
|
|
12
9
|
export declare function handlebarsParse(config: ScaffoldConfig, templateBuffer: Buffer | string, { isPath }?: {
|
|
13
10
|
isPath?: boolean;
|
package/parser.js
CHANGED
|
@@ -3,13 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.handlebarsParse = exports.registerHelpers = exports.
|
|
6
|
+
exports.handlebarsParse = exports.registerHelpers = exports.dateHelper = exports.nowHelper = exports.defaultHelpers = void 0;
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
8
|
const types_1 = require("./types");
|
|
9
|
-
const camelCase_1 = __importDefault(require("lodash/camelCase"));
|
|
10
|
-
const snakeCase_1 = __importDefault(require("lodash/snakeCase"));
|
|
11
|
-
const kebabCase_1 = __importDefault(require("lodash/kebabCase"));
|
|
12
|
-
const startCase_1 = __importDefault(require("lodash/startCase"));
|
|
13
9
|
const handlebars_1 = __importDefault(require("handlebars"));
|
|
14
10
|
const add_1 = __importDefault(require("date-fns/add"));
|
|
15
11
|
const format_1 = __importDefault(require("date-fns/format"));
|
|
@@ -21,11 +17,11 @@ const dateFns = {
|
|
|
21
17
|
parseISO: parseISO_1.default,
|
|
22
18
|
};
|
|
23
19
|
exports.defaultHelpers = {
|
|
24
|
-
camelCase
|
|
25
|
-
snakeCase
|
|
26
|
-
startCase
|
|
27
|
-
kebabCase
|
|
28
|
-
hyphenCase:
|
|
20
|
+
camelCase,
|
|
21
|
+
snakeCase,
|
|
22
|
+
startCase,
|
|
23
|
+
kebabCase,
|
|
24
|
+
hyphenCase: kebabCase,
|
|
29
25
|
pascalCase,
|
|
30
26
|
lowerCase: (text) => text.toLowerCase(),
|
|
31
27
|
upperCase: (text) => text.toUpperCase(),
|
|
@@ -38,7 +34,6 @@ function _dateHelper(date, formatString, durationDifference, durationType) {
|
|
|
38
34
|
}
|
|
39
35
|
return dateFns.format(date, formatString);
|
|
40
36
|
}
|
|
41
|
-
exports._dateHelper = _dateHelper;
|
|
42
37
|
function nowHelper(formatString, durationDifference, durationType) {
|
|
43
38
|
return _dateHelper(new Date(), formatString, durationDifference, durationType);
|
|
44
39
|
}
|
|
@@ -47,10 +42,32 @@ function dateHelper(date, formatString, durationDifference, durationType) {
|
|
|
47
42
|
return _dateHelper(dateFns.parseISO(date), formatString, durationDifference, durationType);
|
|
48
43
|
}
|
|
49
44
|
exports.dateHelper = dateHelper;
|
|
45
|
+
// splits by either non-alpha character or capital letter
|
|
46
|
+
function toWordParts(string) {
|
|
47
|
+
return string.split(/(?=[A-Z])|[^a-zA-Z]/).filter((s) => s.length > 0);
|
|
48
|
+
}
|
|
49
|
+
function camelCase(s) {
|
|
50
|
+
return toWordParts(s).reduce((acc, part, i) => {
|
|
51
|
+
if (i === 0) {
|
|
52
|
+
return part.toLowerCase();
|
|
53
|
+
}
|
|
54
|
+
return acc + part[0].toUpperCase() + part.slice(1).toLowerCase();
|
|
55
|
+
}, "");
|
|
56
|
+
}
|
|
57
|
+
function snakeCase(s) {
|
|
58
|
+
return toWordParts(s).join("_").toLowerCase();
|
|
59
|
+
}
|
|
60
|
+
function kebabCase(s) {
|
|
61
|
+
return toWordParts(s).join("-").toLowerCase();
|
|
62
|
+
}
|
|
63
|
+
function startCase(s) {
|
|
64
|
+
return toWordParts(s)
|
|
65
|
+
.map((part) => part[0].toUpperCase() + part.slice(1).toLowerCase())
|
|
66
|
+
.join(" ");
|
|
67
|
+
}
|
|
50
68
|
function pascalCase(s) {
|
|
51
|
-
return (
|
|
69
|
+
return startCase(s).replace(/\s+/g, "");
|
|
52
70
|
}
|
|
53
|
-
exports.pascalCase = pascalCase;
|
|
54
71
|
function registerHelpers(config) {
|
|
55
72
|
const _helpers = { ...exports.defaultHelpers, ...config.helpers };
|
|
56
73
|
for (const helperName in _helpers) {
|
package/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,mCAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,mCAA0E;AAC1E,4DAAmC;AACnC,uDAAgC;AAChC,6DAAsC;AACtC,iEAA0C;AAC1C,qCAA8B;AAE9B,MAAM,OAAO,GAAG;IACd,GAAG,EAAE,aAAK;IACV,MAAM,EAAE,gBAAQ;IAChB,QAAQ,EAAE,kBAAU;CACrB,CAAA;AAEY,QAAA,cAAc,GAAmC;IAC5D,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU,EAAE,SAAS;IACrB,UAAU;IACV,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;IACvC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;IACvC,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,UAAU;CACjB,CAAA;AAID,SAAS,WAAW,CAClB,IAAU,EACV,YAAoB,EACpB,kBAA2B,EAC3B,YAA6B;IAE7B,IAAI,YAAY,IAAI,kBAAkB,KAAK,SAAS,EAAE;QACpD,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,YAAY,CAAC,CAAA;KAC/F;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;AAC3C,CAAC;AAID,SAAgB,SAAS,CAAC,YAAoB,EAAE,kBAA2B,EAAE,YAA6B;IACxG,OAAO,WAAW,CAAC,IAAI,IAAI,EAAE,EAAE,YAAY,EAAE,kBAAmB,EAAE,YAAa,CAAC,CAAA;AAClF,CAAC;AAFD,8BAEC;AASD,SAAgB,UAAU,CACxB,IAAY,EACZ,YAAoB,EACpB,kBAA2B,EAC3B,YAA6B;IAE7B,OAAO,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,kBAAmB,EAAE,YAAa,CAAC,CAAA;AAC9F,CAAC;AAPD,gCAOC;AAED,yDAAyD;AACzD,SAAS,WAAW,CAAC,MAAc;IACjC,OAAO,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AACxE,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;QAC5C,IAAI,CAAC,KAAK,CAAC,EAAE;YACX,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;SAC1B;QACD,OAAO,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IAClE,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,WAAW,CAAC,CAAC,CAAC;SAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAClE,IAAI,CAAC,GAAG,CAAC,CAAA;AACd,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;AACzC,CAAC;AAED,SAAgB,eAAe,CAAC,MAAsB;IACpD,MAAM,QAAQ,GAAG,EAAE,GAAG,sBAAc,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;IACzD,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE;QACjC,IAAA,YAAG,EAAC,MAAM,EAAE,gBAAQ,CAAC,KAAK,EAAE,uBAAuB,UAAU,EAAE,CAAC,CAAA;QAChE,oBAAU,CAAC,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAmC,CAAC,CAAC,CAAA;KACrF;AACH,CAAC;AAND,0CAMC;AAED,SAAgB,eAAe,CAC7B,MAAsB,EACtB,cAA+B,EAC/B,EAAE,MAAM,GAAG,KAAK,KAA2B,EAAE;IAE7C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IACvB,IAAI;QACF,IAAI,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;QACnC,IAAI,MAAM,EAAE;YACV,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;SAC9B;QACD,MAAM,MAAM,GAAG,oBAAU,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1D,IAAI,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,MAAM,IAAI,cAAI,CAAC,GAAG,KAAK,GAAG,EAAE;YAC9B,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;SACrD;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;KACnC;IAAC,OAAO,CAAC,EAAE;QACV,IAAA,YAAG,EAAC,MAAM,EAAE,gBAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC9B,IAAA,YAAG,EAAC,MAAM,EAAE,gBAAQ,CAAC,OAAO,EAAE,iEAAiE,CAAC,CAAA;QAChG,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;KACnC;AACH,CAAC;AAtBD,0CAsBC"}
|
package/scaffold.js
CHANGED
|
@@ -53,7 +53,7 @@ async function Scaffold(config) {
|
|
|
53
53
|
config.output ??= process.cwd();
|
|
54
54
|
(0, parser_1.registerHelpers)(config);
|
|
55
55
|
try {
|
|
56
|
-
config.data = { name: config.name, Name:
|
|
56
|
+
config.data = { name: config.name, Name: parser_1.defaultHelpers.pascalCase(config.name), ...config.data };
|
|
57
57
|
(0, logger_1.logInitStep)(config);
|
|
58
58
|
for (let _template of config.templates) {
|
|
59
59
|
try {
|
package/scaffold.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;GAKG;AACH,gDAAuB;AACvB,mCAA4C;AAC5C,iCAQe;AACf,mCAA8F;AAE9F,
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
|