simple-scaffold 1.0.0-alpha.6 → 1.0.0-alpha.8

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 CHANGED
@@ -22,6 +22,8 @@ npx simple-scaffold <...args>
22
22
  ```plaintext
23
23
  Usage: simple-scaffold [options]
24
24
 
25
+ Create structured files based on templates.
26
+
25
27
  Options:
26
28
 
27
29
  --help|-h Display help information
@@ -35,7 +37,8 @@ Options:
35
37
 
36
38
  --templates|-t Template files to use as input. You may provide multiple
37
39
  files, each of which can be a relative or absolute path, or a glob
38
- pattern for multiple file matching easily.
40
+ pattern for multiple file matching easily. (default:
41
+ )
39
42
 
40
43
  --overwrite|-w Enable to override output files, even if they already exist.
41
44
  (default: false)
@@ -43,25 +46,30 @@ Options:
43
46
  --data|-d Add custom data to the templates. By default, only your app
44
47
  name is included.
45
48
 
46
- --create-sub-folder|-s Create subfolder with the input name (default: false)
49
+ --create-sub-folder|-s Create subfolder with the input name (default:
50
+ false)
47
51
 
48
- --quiet|-q Suppress output logs (Same as --verbose 0) (default: false)
52
+ --quiet|-q Suppress output logs (Same as --verbose 0)
53
+ (default: false)
49
54
 
50
- --verbose|-v Determine amount of logs to display. The values are: 0 (none)
51
- | 1 (debug) | 2 (info) | 3 (warn) | 4 (error). The provided level
52
- will display messages of the same level or higher.
55
+ --verbose|-v Determine amount of logs to display. The values are: 0
56
+ (none) | 1 (debug) | 2 (info) | 3 (warn) | 4 (error). The
57
+ provided level will display messages of the same level or higher.
53
58
  (default: 2)
54
59
 
55
60
  --dry-run|-dr Don't emit files. This is good for testing your scaffolds and
56
61
  making sure they don't fail, without having to write actual file
57
- contents or create directories. (default: false)
62
+ contents or create directories. (default:
63
+ false)
58
64
  ```
59
65
 
60
66
  You can also add this as a script in your `package.json`:
61
67
 
62
68
  ```json
63
69
  {
70
+ ...
64
71
  "scripts": {
72
+ ...
65
73
  "scaffold": "yarn simple-scaffold --templates scaffolds/component/**/* --output src/components --data '{\"myProp\": \"propName\", \"myVal\": \"123\"}'"
66
74
  }
67
75
  }
@@ -93,7 +101,7 @@ function for each input file to output into a dynamic path:
93
101
  ```javascript
94
102
  config.output = (fullPath, baseDir, baseName) => {
95
103
  console.log({ fullPath, baseDir, baseName })
96
- return [baseDir, baseName].join(path.sep)
104
+ return path.resolve(baseDir, baseName)
97
105
  }
98
106
  ```
99
107
 
@@ -121,6 +129,8 @@ Your `data` will be pre-populated with the following:
121
129
  > Any `data` you add in the config will be available for use with their names wrapped in
122
130
  > `{{` and `}}`.
123
131
 
132
+ #### Helpers
133
+
124
134
  Simple-Scaffold provides some built-in text transformation filters usable by handleBars.
125
135
 
126
136
  For example, you may use `{{ snakeCase name }}` inside a template file or filename, and it will
@@ -147,7 +157,8 @@ Here are the built-in helpers available for use:
147
157
  simple-scaffold MyComponent \
148
158
  -t project/scaffold/**/* \
149
159
  -o src/components \
150
- -d '{"className":"myClassName"}'
160
+ -d '{"className": "myClassName"}'
161
+ MyComponent
151
162
  ```
152
163
 
153
164
  ### Example Scaffold Input
@@ -188,7 +199,7 @@ module.exports = class {{Name}} extends React.Component {
188
199
  - ...
189
200
  ```
190
201
 
191
- With `createSubfolder = false`:
202
+ With `createSubFolder = false`:
192
203
 
193
204
  ```plaintext
194
205
  - project
package/cmd.js CHANGED
@@ -1,83 +1,5 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const scaffold_1 = __importDefault(require("./scaffold"));
7
- const massarg_1 = __importDefault(require("massarg"));
8
- const _1 = require(".");
9
- massarg_1.default()
10
- .main(scaffold_1.default)
11
- .option({
12
- name: "name",
13
- aliases: ["n"],
14
- isDefault: true,
15
- description: "Name to be passed to the generated files. {{name}} and {{Name}} inside contents and file names will be replaced accordingly.",
16
- })
17
- .option({
18
- name: "output",
19
- aliases: ["o"],
20
- description: "Path to output to. If --create-sub-folder is enabled, the subfolder will be created inside this path.",
21
- })
22
- .option({
23
- name: "templates",
24
- aliases: ["t"],
25
- description: "Template files to use as input. You may provide multiple files, each of which can be a relative or absolute path, " +
26
- "or a glob pattern for multiple file matching easily.",
27
- defaultValue: [],
28
- array: true,
29
- })
30
- .option({
31
- aliases: ["w"],
32
- name: "overwrite",
33
- description: "Enable to override output files, even if they already exist.",
34
- defaultValue: false,
35
- boolean: true,
36
- })
37
- .option({
38
- aliases: ["d"],
39
- name: "data",
40
- description: "Add custom data to the templates. By default, only your app name is included.",
41
- parse: (v) => JSON.parse(v),
42
- })
43
- .option({
44
- aliases: ["s"],
45
- name: "create-sub-folder",
46
- description: "Create subfolder with the input name",
47
- defaultValue: false,
48
- boolean: true,
49
- })
50
- .option({
51
- aliases: ["q"],
52
- name: "quiet",
53
- description: "Suppress output logs (Same as --verbose 0)",
54
- defaultValue: false,
55
- boolean: true,
56
- })
57
- .option({
58
- aliases: ["v"],
59
- name: "verbose",
60
- description: "Determine amount of logs to display. The values are: 0 (none) | 1 (debug) | 2 (info) | 3 (warn) | 4 (error). The provided level will display messages of the same level or higher.",
61
- defaultValue: _1.LogLevel.Info,
62
- parse: Number,
63
- })
64
- .option({
65
- aliases: ["dr"],
66
- name: "dry-run",
67
- description: "Don't emit files. This is good for testing your scaffolds and making sure they " +
68
- "don't fail, without having to write actual file contents or create directories.",
69
- defaultValue: false,
70
- boolean: true,
71
- })
72
- // .example({
73
- // input: `yarn cmd -t examples/test-input/Component -o examples/test-output -d '{"property":"myProp","value":"10"}'`,
74
- // description: "Usage",
75
- // output: "",
76
- // })
77
- .help({
78
- binName: "simple-scaffold",
79
- useGlobalColumns: true,
80
- usageExample: "[options]",
81
- })
82
- .parse();
3
+ const cmd_util_1 = require("./cmd_util");
4
+ cmd_util_1.parseCliArgs();
83
5
  //# sourceMappingURL=cmd.js.map
package/cmd.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../src/cmd.ts"],"names":[],"mappings":";;;;;AAAA,0DAAiC;AACjC,sDAA6B;AAE7B,wBAA4B;AAE5B,iBAAO,EAA2D;KAC/D,IAAI,CAAC,kBAAQ,CAAC;KACd,MAAM,CAAC;IACN,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EACT,8HAA8H;CACjI,CAAC;KACD,MAAM,CAAC;IACN,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,WAAW,EACT,uGAAuG;CAC1G,CAAC;KACD,MAAM,CAAC;IACN,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,WAAW,EACT,oHAAoH;QACpH,sDAAsD;IACxD,YAAY,EAAE,EAAE;IAChB,KAAK,EAAE,IAAI;CACZ,CAAC;KACD,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,8DAA8D;IAC3E,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,IAAI;CACd,CAAC;KACD,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,+EAA+E;IAC5F,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;CAC5B,CAAC;KACD,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,sCAAsC;IACnD,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,IAAI;CACd,CAAC;KACD,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,4CAA4C;IACzD,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,IAAI;CACd,CAAC;KACD,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,IAAI,EAAE,SAAS;IACf,WAAW,EACT,oLAAoL;IACtL,YAAY,EAAE,WAAQ,CAAC,IAAI;IAC3B,KAAK,EAAE,MAAM;CACd,CAAC;KACD,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,IAAI,CAAC;IACf,IAAI,EAAE,SAAS;IACf,WAAW,EACT,iFAAiF;QACjF,iFAAiF;IACnF,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,IAAI;CACd,CAAC;IACF,aAAa;IACb,wHAAwH;IACxH,0BAA0B;IAC1B,gBAAgB;IAChB,KAAK;KACJ,IAAI,CAAC;IACJ,OAAO,EAAE,iBAAiB;IAC1B,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,WAAW;CAC1B,CAAC;KACD,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../src/cmd.ts"],"names":[],"mappings":";;AAAA,yCAAyC;AACzC,uBAAY,EAAE,CAAA"}
package/cmd_util.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function parseCliArgs(args?: string[]): void;
package/cmd_util.js ADDED
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parseCliArgs = void 0;
7
+ const massarg_1 = __importDefault(require("massarg"));
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const types_1 = require("./types");
10
+ const scaffold_1 = require("./scaffold");
11
+ function parseCliArgs(args = process.argv.slice(2)) {
12
+ return (massarg_1.default()
13
+ .main(scaffold_1.Scaffold)
14
+ .option({
15
+ name: "name",
16
+ aliases: ["n"],
17
+ isDefault: true,
18
+ description: "Name to be passed to the generated files. {{name}} and {{Name}} inside contents and file names will be replaced accordingly.",
19
+ })
20
+ .option({
21
+ name: "output",
22
+ aliases: ["o"],
23
+ description: "Path to output to. If --create-sub-folder is enabled, the subfolder will be created inside this path.",
24
+ })
25
+ .option({
26
+ name: "templates",
27
+ aliases: ["t"],
28
+ description: "Template files to use as input. You may provide multiple files, each of which can be a relative or absolute path, " +
29
+ "or a glob pattern for multiple file matching easily.",
30
+ defaultValue: [],
31
+ array: true,
32
+ })
33
+ .option({
34
+ aliases: ["w"],
35
+ name: "overwrite",
36
+ description: "Enable to override output files, even if they already exist.",
37
+ defaultValue: false,
38
+ boolean: true,
39
+ })
40
+ .option({
41
+ aliases: ["d"],
42
+ name: "data",
43
+ description: "Add custom data to the templates. By default, only your app name is included.",
44
+ parse: (v) => JSON.parse(v),
45
+ })
46
+ .option({
47
+ aliases: ["s"],
48
+ name: "create-sub-folder",
49
+ description: "Create subfolder with the input name",
50
+ defaultValue: false,
51
+ boolean: true,
52
+ })
53
+ .option({
54
+ aliases: ["q"],
55
+ name: "quiet",
56
+ description: "Suppress output logs (Same as --verbose 0)",
57
+ defaultValue: false,
58
+ boolean: true,
59
+ })
60
+ .option({
61
+ aliases: ["v"],
62
+ name: "verbose",
63
+ description: `Determine amount of logs to display. The values are: ${chalk_1.default.bold `0 (none) | 1 (debug) | 2 (info) | 3 (warn) | 4 (error)`}. The provided level will display messages of the same level or higher.`,
64
+ defaultValue: types_1.LogLevel.Info,
65
+ parse: Number,
66
+ })
67
+ .option({
68
+ aliases: ["dr"],
69
+ name: "dry-run",
70
+ description: "Don't emit files. This is good for testing your scaffolds and making sure they " +
71
+ "don't fail, without having to write actual file contents or create directories.",
72
+ defaultValue: false,
73
+ boolean: true,
74
+ })
75
+ // .example({
76
+ // input: `yarn cmd -t examples/test-input/Component -o examples/test-output -d '{"property":"myProp","value":"10"}'`,
77
+ // description: "Usage",
78
+ // output: "",
79
+ // })
80
+ .help({
81
+ binName: "simple-scaffold",
82
+ useGlobalColumns: true,
83
+ usageExample: "[options]",
84
+ header: "Create structured files based on templates.",
85
+ footer: `Copyright © Chen Asraf 2021\nNPM: ${chalk_1.default.underline `https://npmjs.com/package/massarg`}\nGitHub: ${chalk_1.default.underline `https://github.com/chenasraf/massarg`}`,
86
+ })
87
+ .parse(args));
88
+ }
89
+ exports.parseCliArgs = parseCliArgs;
90
+ //# sourceMappingURL=cmd_util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmd_util.js","sourceRoot":"","sources":["../src/cmd_util.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA6B;AAC7B,kDAAyB;AACzB,mCAAqD;AACrD,yCAAqC;AAErC,SAAgB,YAAY,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,OAAO,CACL,iBAAO,EAA2D;SAC/D,IAAI,CAAC,mBAAQ,CAAC;SACd,MAAM,CAAC;QACN,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC,GAAG,CAAC;QACd,SAAS,EAAE,IAAI;QACf,WAAW,EACT,8HAA8H;KACjI,CAAC;SACD,MAAM,CAAC;QACN,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,GAAG,CAAC;QACd,WAAW,EACT,uGAAuG;KAC1G,CAAC;SACD,MAAM,CAAC;QACN,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,GAAG,CAAC;QACd,WAAW,EACT,oHAAoH;YACpH,sDAAsD;QACxD,YAAY,EAAE,EAAE;QAChB,KAAK,EAAE,IAAI;KACZ,CAAC;SACD,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,GAAG,CAAC;QACd,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,8DAA8D;QAC3E,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,IAAI;KACd,CAAC;SACD,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,GAAG,CAAC;QACd,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,+EAA+E;QAC5F,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KAC5B,CAAC;SACD,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,GAAG,CAAC;QACd,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,IAAI;KACd,CAAC;SACD,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,GAAG,CAAC;QACd,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,4CAA4C;QACzD,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,IAAI;KACd,CAAC;SACD,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,GAAG,CAAC;QACd,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,wDAAwD,eAAK,CAAC,IAAI,CAAA,wDAAwD,yEAAyE;QAChN,YAAY,EAAE,gBAAQ,CAAC,IAAI;QAC3B,KAAK,EAAE,MAAM;KACd,CAAC;SACD,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,SAAS;QACf,WAAW,EACT,iFAAiF;YACjF,iFAAiF;QACnF,YAAY,EAAE,KAAK;QACnB,OAAO,EAAE,IAAI;KACd,CAAC;QACF,aAAa;QACb,wHAAwH;QACxH,0BAA0B;QAC1B,gBAAgB;QAChB,KAAK;SACJ,IAAI,CAAC;QACJ,OAAO,EAAE,iBAAiB;QAC1B,gBAAgB,EAAE,IAAI;QACtB,YAAY,EAAE,WAAW;QACzB,MAAM,EAAE,6CAA6C;QACrD,MAAM,EAAE,qCAAqC,eAAK,CAAC,SAAS,CAAA,mCAAmC,aAAa,eAAK,CAAC,SAAS,CAAA,sCAAsC,EAAE;KACpK,CAAC;SACD,KAAK,CAAC,IAAI,CAAC,CACf,CAAA;AACH,CAAC;AAnFD,oCAmFC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "simple-scaffold",
3
- "version": "1.0.0-alpha.6",
3
+ "version": "1.0.0-alpha.8",
4
4
  "description": "Create files based on templates",
5
5
  "repository": "https://github.com/chenasraf/simple-scaffold.git",
6
6
  "author": "Chen Asraf <inbox@casraf.com>",
@@ -20,10 +20,11 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "args": "^5.0.1",
23
+ "chalk": "^4.1.2",
23
24
  "glob": "^7.1.3",
24
25
  "handlebars": "^4.7.7",
25
26
  "lodash": "^4.17.21",
26
- "massarg": "^0.1.2",
27
+ "massarg": "^1.0.3",
27
28
  "util.promisify": "^1.1.1"
28
29
  },
29
30
  "devDependencies": {
package/utils.js CHANGED
@@ -33,7 +33,7 @@ function handleErr(err) {
33
33
  exports.handleErr = handleErr;
34
34
  function log(options, level, ...obj) {
35
35
  var _a;
36
- if (options.quiet || ((_a = options.verbose) !== null && _a !== void 0 ? _a : types_1.LogLevel.Info) > level) {
36
+ if (options.quiet || options.verbose === types_1.LogLevel.None || ((_a = options.verbose) !== null && _a !== void 0 ? _a : types_1.LogLevel.Info) > level) {
37
37
  return;
38
38
  }
39
39
  const levelColor = {
package/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}