simple-scaffold 1.0.0-alpha.5 → 1.0.0-alpha.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 CHANGED
@@ -43,15 +43,18 @@ Options:
43
43
  --data|-d Add custom data to the templates. By default, only your app
44
44
  name is included.
45
45
 
46
- --create-sub-folder|-s Create subfolder with the input name (default:
47
- false)
46
+ --create-sub-folder|-s Create subfolder with the input name (default: false)
48
47
 
49
- --quiet|-q Suppress output logs (default:
50
- false)
48
+ --quiet|-q Suppress output logs (Same as --verbose 0) (default: false)
51
49
 
52
- --dry-run|-dr Don't emit actual files. This is good for testing your
53
- scaffolds and making sure they don't fail, without having to write
54
- actual files. (default: false)
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.
53
+ (default: 2)
54
+
55
+ --dry-run|-dr Don't emit files. This is good for testing your scaffolds and
56
+ making sure they don't fail, without having to write actual file
57
+ contents or create directories. (default: false)
55
58
  ```
56
59
 
57
60
  You can also add this as a script in your `package.json`:
@@ -73,7 +76,7 @@ The config takes similar arguments to the command line:
73
76
  ```javascript
74
77
  const SimpleScaffold = require("simple-scaffold").default
75
78
 
76
- const scaffold = new SimpleScaffold({
79
+ const scaffold = SimpleScaffold({
77
80
  name: "component",
78
81
  templates: [path.join(__dirname, "scaffolds", "component")],
79
82
  output: path.join(__dirname, "src", "components"),
@@ -81,7 +84,7 @@ const scaffold = new SimpleScaffold({
81
84
  locals: {
82
85
  property: "value",
83
86
  },
84
- }).run()
87
+ })
85
88
  ```
86
89
 
87
90
  The exception in the config is that `output`, when used in Node directly, may also be passed a
@@ -120,19 +123,19 @@ Your `data` will be pre-populated with the following:
120
123
 
121
124
  Simple-Scaffold provides some built-in text transformation filters usable by handleBars.
122
125
 
123
- For example, you may use `{{ name | snakeCase }}` inside a template file or filename, and it will
126
+ For example, you may use `{{ snakeCase name }}` inside a template file or filename, and it will
124
127
  replace `My Name` with `my_name` when producing the final value.
125
128
 
126
129
  Here are the built-in helpers available for use:
127
130
 
128
- ```plaintext
129
- {{ name | camelCase }} => myName
130
- {{ name | snakeCase }} => my_name
131
- {{ name | startCase }} => My Name
132
- {{ name | kebabCase }} => my-name
133
- {{ name | hyphenCase }} => my-name
134
- {{ name | pascalCase }} => MyName
135
- ```
131
+ | Helper name | Example code | Example output |
132
+ | ----------- | ----------------------- | -------------- |
133
+ | camelCase | `{{ camelCase name }}` | myName |
134
+ | snakeCase | `{{ snakeCase name }}` | my_name |
135
+ | startCase | `{{ startCase name }}` | My Name |
136
+ | kebabCase | `{{ kebabCase name }}` | my-name |
137
+ | hyphenCase | `{{ hyphenCase name }}` | my-name |
138
+ | pascalCase | `{{ pascalCase name }}` | MyName |
136
139
 
137
140
  **Note:** These helpers are available for any data property, not exclusive to `name`.
138
141
 
@@ -202,7 +205,7 @@ const React = require("react")
202
205
 
203
206
  module.exports = class MyComponent extends React.Component {
204
207
  render() {
205
- <div className="my-component">MyComponent Component</div>
208
+ <div className="myClassName">MyComponent Component</div>
206
209
  }
207
210
  }
208
211
  ```
package/cmd.js CHANGED
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const scaffold_1 = __importDefault(require("./scaffold"));
7
7
  const massarg_1 = __importDefault(require("massarg"));
8
+ const _1 = require(".");
8
9
  massarg_1.default()
9
10
  .main(scaffold_1.default)
10
11
  .option({
@@ -46,7 +47,20 @@ massarg_1.default()
46
47
  defaultValue: false,
47
48
  boolean: true,
48
49
  })
49
- .option({ aliases: ["q"], name: "quiet", description: "Suppress output logs", defaultValue: false, boolean: true })
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
+ })
50
64
  .option({
51
65
  aliases: ["dr"],
52
66
  name: "dry-run",
package/cmd.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../src/cmd.ts"],"names":[],"mappings":";;;;;AAAA,0DAAiC;AACjC,sDAA6B;AAG7B,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,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KAClH,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,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"}
package/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from "./scaffold";
2
+ export * from "./types";
2
3
  import Scaffold from "./scaffold";
3
4
  export default Scaffold;
package/index.js CHANGED
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  };
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  __exportStar(require("./scaffold"), exports);
17
+ __exportStar(require("./types"), exports);
17
18
  const scaffold_1 = __importDefault(require("./scaffold"));
18
19
  exports.default = scaffold_1.default;
19
20
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,0DAAiC;AACjC,kBAAe,kBAAQ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,0CAAuB;AACvB,0DAAiC;AACjC,kBAAe,kBAAQ,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "simple-scaffold",
3
- "version": "1.0.0-alpha.5",
3
+ "version": "1.0.0-alpha.6",
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>",
package/scaffold.js CHANGED
@@ -10,11 +10,12 @@ const util_1 = require("util");
10
10
  const fs_1 = require("fs");
11
11
  const { readFile, writeFile } = fs_1.promises;
12
12
  const utils_1 = require("./utils");
13
+ const types_1 = require("./types");
13
14
  async function Scaffold(config) {
14
15
  try {
15
16
  const options = { ...config };
16
17
  const data = { name: options.name, Name: utils_1.pascalCase(options.name), ...options.data };
17
- utils_1.log(options, "Config:", {
18
+ utils_1.log(options, types_1.LogLevel.Debug, "Full config:", {
18
19
  name: options.name,
19
20
  templates: options.templates,
20
21
  output: options.output,
@@ -23,19 +24,26 @@ async function Scaffold(config) {
23
24
  overwrite: options.overwrite,
24
25
  quiet: options.quiet,
25
26
  });
26
- utils_1.log(options, "Data:", data);
27
+ utils_1.log(options, types_1.LogLevel.Info, "Data:", data);
27
28
  for (let template of config.templates) {
28
29
  try {
29
- const _isDir = await utils_1.isDir(template);
30
- const basePath = path_1.default
31
- .resolve(process.cwd(), _isDir ? template : path_1.default.dirname(template.replace("*", "").replace("//", "/")))
32
- .replace(process.cwd(), ".");
33
- if (_isDir) {
30
+ const _isGlob = template.includes("*");
31
+ const _nonGlobTemplate = _isGlob ? utils_1.removeGlob(template) : template;
32
+ const _isDir = _isGlob ? false : await utils_1.isDir(template);
33
+ const _shouldAddGlob = !_isGlob && !_isDir;
34
+ if (_shouldAddGlob) {
34
35
  template = template + "/**/*";
35
36
  }
36
37
  const files = await util_1.promisify(glob_1.glob)(template, { dot: true, debug: false });
37
38
  for (const templatePath of files) {
38
39
  if (!(await utils_1.isDir(templatePath))) {
40
+ const basePath = path_1.default
41
+ .resolve(process.cwd(), _isDir
42
+ ? templatePath.replace(template, "")
43
+ : path_1.default.dirname(utils_1.removeGlob(templatePath).replace(_nonGlobTemplate, "")))
44
+ .replace(process.cwd() + "/", "")
45
+ .replace(process.cwd(), "");
46
+ utils_1.log(options, types_1.LogLevel.Debug, `\ntemplate: ${template}\ntemplatePath: ${templatePath}, \nbase path: ${basePath}\n`);
39
47
  await handleTemplateFile(templatePath, basePath, options, data);
40
48
  }
41
49
  }
@@ -55,18 +63,22 @@ async function handleTemplateFile(templatePath, basePath, options, data) {
55
63
  return new Promise(async (resolve, reject) => {
56
64
  var _a;
57
65
  try {
58
- utils_1.log(options, `Parsing ${templatePath}`);
59
- const inputPath = path_1.default.join(process.cwd(), templatePath);
66
+ const inputPath = path_1.default.resolve(process.cwd(), templatePath);
60
67
  const outputPathOpt = utils_1.getOptionValueForFile(inputPath, data, options.output);
61
- const outputDir = path_1.default.resolve(process.cwd(), ...[outputPathOpt, options.createSubFolder ? options.name : undefined].filter(Boolean));
68
+ const outputDir = path_1.default.resolve(process.cwd(), ...[outputPathOpt, basePath, options.createSubFolder ? options.name : undefined].filter(Boolean));
69
+ utils_1.log(options, types_1.LogLevel.Debug, `\nParsing ${templatePath}`, `\nBase path: ${basePath}`, `\nFull input path: ${inputPath}`, `\nFull output path: ${outputDir}\n`);
62
70
  const outputPath = path_1.default.join(outputDir, utils_1.handlebarsParse(path_1.default.basename(inputPath), data));
63
71
  const overwrite = utils_1.getOptionValueForFile(inputPath, data, (_a = options.overwrite) !== null && _a !== void 0 ? _a : false);
64
72
  const exists = await utils_1.pathExists(outputPath);
73
+ utils_1.log(options, types_1.LogLevel.Debug, "Filename parsed:", utils_1.handlebarsParse(path_1.default.basename(inputPath), data), "Orig:", path_1.default.basename(inputPath)
74
+ // "Test:",
75
+ // handlebarsParse("{{name}} {{name pascalCase}}", data)
76
+ );
65
77
  await utils_1.createDirIfNotExists(outputDir, options);
66
- utils_1.log(options, `Writing to ${outputPath}`);
78
+ utils_1.log(options, types_1.LogLevel.Info, `Writing to ${outputPath}`);
67
79
  if (!exists || overwrite) {
68
80
  if (exists && overwrite) {
69
- utils_1.log(options, `File ${outputPath} exists, overwriting`);
81
+ utils_1.log(options, types_1.LogLevel.Info, `File ${outputPath} exists, overwriting`);
70
82
  }
71
83
  const templateBuffer = await readFile(inputPath);
72
84
  const outputContents = utils_1.handlebarsParse(templateBuffer, data);
@@ -74,12 +86,12 @@ async function handleTemplateFile(templatePath, basePath, options, data) {
74
86
  await writeFile(outputPath, outputContents);
75
87
  }
76
88
  else {
77
- utils_1.log(options, "Content output:");
78
- utils_1.log(options, outputContents);
89
+ utils_1.log(options, types_1.LogLevel.Info, "Content output:");
90
+ utils_1.log(options, types_1.LogLevel.Info, outputContents);
79
91
  }
80
92
  }
81
93
  else if (exists) {
82
- utils_1.log(options, `File ${outputPath} already exists, skipping`);
94
+ utils_1.log(options, types_1.LogLevel.Info, `File ${outputPath} already exists, skipping`);
83
95
  }
84
96
  resolve();
85
97
  }
package/scaffold.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
package/types.d.ts CHANGED
@@ -1,14 +1,24 @@
1
+ export declare enum LogLevel {
2
+ None = 0,
3
+ Debug = 1,
4
+ Info = 2,
5
+ Warning = 3,
6
+ Error = 4
7
+ }
1
8
  export declare type FileResponseFn<T> = (fullPath: string, basedir: string, basename: string) => T;
2
9
  export declare type FileResponse<T> = T | FileResponseFn<T>;
3
10
  export interface ScaffoldConfig {
4
11
  /** The name supplied for the output templates */
5
12
  name: string;
13
+ /** Template input files/dirs/glob patterns to use as template input. These will be copied to the output directory. */
6
14
  templates: string[];
15
+ /** Output directory to put scaffolded files in. */
7
16
  output: FileResponse<string>;
8
17
  createSubFolder?: boolean;
9
18
  data?: Record<string, string>;
10
19
  overwrite?: FileResponse<boolean>;
11
20
  quiet?: boolean;
21
+ verbose?: LogLevel;
12
22
  dryRun?: boolean;
13
23
  }
14
24
  export interface ScaffoldCmdConfig {
package/types.js CHANGED
@@ -1,3 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogLevel = void 0;
4
+ var LogLevel;
5
+ (function (LogLevel) {
6
+ LogLevel[LogLevel["None"] = 0] = "None";
7
+ LogLevel[LogLevel["Debug"] = 1] = "Debug";
8
+ LogLevel[LogLevel["Info"] = 2] = "Info";
9
+ LogLevel[LogLevel["Warning"] = 3] = "Warning";
10
+ LogLevel[LogLevel["Error"] = 4] = "Error";
11
+ })(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
3
12
  //# sourceMappingURL=types.js.map
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,6CAAW,CAAA;IACX,yCAAS,CAAA;AACX,CAAC,EANW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAMnB"}
package/utils.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  /// <reference types="node" />
2
- import { FileResponse, ScaffoldConfig } from "./types";
2
+ import { FileResponse, LogLevel, ScaffoldConfig } from "./types";
3
3
  export declare function handleErr(err: NodeJS.ErrnoException | null): void;
4
- export declare function log(options: ScaffoldConfig, ...obj: any[]): void;
4
+ export declare function log(options: ScaffoldConfig, level: LogLevel, ...obj: any[]): void;
5
5
  export declare function createDirIfNotExists(dir: string, options: ScaffoldConfig): Promise<void>;
6
6
  export declare function getOptionValueForFile<T>(filePath: string, data: Record<string, string>, fn: FileResponse<T>, defaultValue?: T): T;
7
7
  export declare function handlebarsParse(templateBuffer: Buffer | string, data: Record<string, string>): string;
8
8
  export declare function pathExists(filePath: string): Promise<boolean>;
9
9
  export declare function pascalCase(s: string): string;
10
10
  export declare function isDir(path: string): Promise<boolean>;
11
+ export declare function removeGlob(template: string): string;
package/utils.js CHANGED
@@ -3,15 +3,17 @@ 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.isDir = exports.pascalCase = exports.pathExists = exports.handlebarsParse = exports.getOptionValueForFile = exports.createDirIfNotExists = exports.log = exports.handleErr = void 0;
6
+ exports.removeGlob = exports.isDir = exports.pascalCase = exports.pathExists = exports.handlebarsParse = exports.getOptionValueForFile = exports.createDirIfNotExists = exports.log = exports.handleErr = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const constants_1 = require("constants");
9
+ const types_1 = require("./types");
9
10
  const camelCase_1 = __importDefault(require("lodash/camelCase"));
10
11
  const snakeCase_1 = __importDefault(require("lodash/snakeCase"));
11
12
  const kebabCase_1 = __importDefault(require("lodash/kebabCase"));
12
13
  const startCase_1 = __importDefault(require("lodash/startCase"));
13
14
  const handlebars_1 = __importDefault(require("handlebars"));
14
15
  const fs_1 = require("fs");
16
+ const chalk_1 = __importDefault(require("chalk"));
15
17
  const { stat, access, mkdir } = fs_1.promises;
16
18
  const helpers = {
17
19
  camelCase: camelCase_1.default,
@@ -29,11 +31,21 @@ function handleErr(err) {
29
31
  throw err;
30
32
  }
31
33
  exports.handleErr = handleErr;
32
- function log(options, ...obj) {
33
- if (options.quiet) {
34
+ function log(options, level, ...obj) {
35
+ var _a;
36
+ if (options.quiet || ((_a = options.verbose) !== null && _a !== void 0 ? _a : types_1.LogLevel.Info) > level) {
34
37
  return;
35
38
  }
36
- console["log"](...obj);
39
+ const levelColor = {
40
+ [types_1.LogLevel.None]: "reset",
41
+ [types_1.LogLevel.Debug]: "blue",
42
+ [types_1.LogLevel.Info]: "dim",
43
+ [types_1.LogLevel.Warning]: "yellow",
44
+ [types_1.LogLevel.Error]: "red",
45
+ };
46
+ const chalkFn = chalk_1.default[levelColor[level]];
47
+ console["log"](...obj.map((i) => (typeof i === "object" ? chalkFn(JSON.stringify(i, undefined, 1)) : chalkFn(i))));
48
+ // console["log"](...obj)
37
49
  }
38
50
  exports.log = log;
39
51
  async function createDirIfNotExists(dir, options) {
@@ -90,4 +102,8 @@ async function isDir(path) {
90
102
  return tplStat.isDirectory();
91
103
  }
92
104
  exports.isDir = isDir;
105
+ function removeGlob(template) {
106
+ return template.replace(/\*/g, "").replace(/\/\//g, "/");
107
+ }
108
+ exports.removeGlob = removeGlob;
93
109
  //# sourceMappingURL=utils.js.map
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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"}