simple-scaffold 1.7.1 → 1.7.2
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/cmd.js +3 -3
- package/cmd.js.map +1 -1
- package/config.d.ts +1 -3
- package/config.js +8 -45
- package/config.js.map +1 -1
- package/file.js +25 -20
- package/file.js.map +1 -1
- package/git.d.ts +3 -0
- package/git.js +64 -0
- package/git.js.map +1 -0
- package/package.json +4 -4
- package/parser.js +2 -2
- package/parser.js.map +1 -1
- package/scaffold.js +3 -2
- package/scaffold.js.map +1 -1
- package/utils.d.ts +1 -0
- package/utils.js +8 -1
- package/utils.js.map +1 -1
package/cmd.js
CHANGED
|
@@ -9,11 +9,11 @@ const massarg_1 = __importDefault(require("massarg"));
|
|
|
9
9
|
const chalk_1 = __importDefault(require("chalk"));
|
|
10
10
|
const types_1 = require("./types");
|
|
11
11
|
const scaffold_1 = require("./scaffold");
|
|
12
|
-
const
|
|
13
|
-
const promises_1 = __importDefault(require("fs/promises"));
|
|
12
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
13
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
14
14
|
const config_1 = require("./config");
|
|
15
15
|
async function parseCliArgs(args = process.argv.slice(2)) {
|
|
16
|
-
const pkgFile = await promises_1.default.readFile(
|
|
16
|
+
const pkgFile = await promises_1.default.readFile(node_path_1.default.join(__dirname, "package.json"));
|
|
17
17
|
const pkg = JSON.parse(pkgFile.toString());
|
|
18
18
|
const isConfigProvided = args.includes("--config") || args.includes("-c") || args.includes("--github") || args.includes("-gh");
|
|
19
19
|
return ((0, massarg_1.default)()
|
package/cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmd.js","sourceRoot":"","sources":["../src/cmd.ts"],"names":[],"mappings":";;;;;;;AACA,sDAA6B;AAC7B,kDAAyB;AACzB,mCAAqD;AACrD,yCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"cmd.js","sourceRoot":"","sources":["../src/cmd.ts"],"names":[],"mappings":"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"}
|
package/config.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { AsyncResolver, ConfigLoadConfig, FileResponse, LogConfig, ScaffoldCmdConfig, ScaffoldConfig, ScaffoldConfigFile, ScaffoldConfigMap } from "./types";
|
|
1
|
+
import { ConfigLoadConfig, FileResponse, ScaffoldCmdConfig, ScaffoldConfig, ScaffoldConfigFile } from "./types";
|
|
3
2
|
import { OptionsBase } from "massarg/types";
|
|
4
3
|
export declare function getOptionValueForFile<T>(config: ScaffoldConfig, filePath: string, fn: FileResponse<T>, defaultValue?: T): T;
|
|
5
4
|
export declare function parseAppendData(value: string, options: ScaffoldCmdConfig & OptionsBase): unknown;
|
|
@@ -13,4 +12,3 @@ export declare function parseConfigSelection(config: string, key?: string): {
|
|
|
13
12
|
export declare function githubPartToUrl(part: string): string;
|
|
14
13
|
/** @internal */
|
|
15
14
|
export declare function getConfig(config: ConfigLoadConfig): Promise<ScaffoldConfigFile>;
|
|
16
|
-
export declare function getGitConfig(url: URL, logConfig: LogConfig): Promise<AsyncResolver<ScaffoldCmdConfig, ScaffoldConfigMap>>;
|
package/config.js
CHANGED
|
@@ -26,19 +26,18 @@ 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.
|
|
30
|
-
const
|
|
29
|
+
exports.getConfig = exports.githubPartToUrl = exports.parseConfigSelection = exports.parseConfig = exports.parseAppendData = exports.getOptionValueForFile = void 0;
|
|
30
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
31
31
|
const types_1 = require("./types");
|
|
32
|
-
const node_child_process_1 = require("node:child_process");
|
|
33
|
-
const node_os_1 = __importDefault(require("node:os"));
|
|
34
32
|
const parser_1 = require("./parser");
|
|
35
33
|
const logger_1 = require("./logger");
|
|
36
34
|
const utils_1 = require("./utils");
|
|
35
|
+
const git_1 = require("./git");
|
|
37
36
|
function getOptionValueForFile(config, filePath, fn, defaultValue) {
|
|
38
37
|
if (typeof fn !== "function") {
|
|
39
38
|
return defaultValue ?? fn;
|
|
40
39
|
}
|
|
41
|
-
return fn(filePath,
|
|
40
|
+
return fn(filePath, node_path_1.default.dirname((0, parser_1.handlebarsParse)(config, filePath, { isPath: true }).toString()), node_path_1.default.basename((0, parser_1.handlebarsParse)(config, filePath, { isPath: true }).toString()));
|
|
42
41
|
}
|
|
43
42
|
exports.getOptionValueForFile = getOptionValueForFile;
|
|
44
43
|
function parseAppendData(value, options) {
|
|
@@ -107,62 +106,26 @@ function githubPartToUrl(part) {
|
|
|
107
106
|
return gitUrl.toString();
|
|
108
107
|
}
|
|
109
108
|
exports.githubPartToUrl = githubPartToUrl;
|
|
110
|
-
function wrapNoopResolver(value) {
|
|
111
|
-
if (typeof value === "function") {
|
|
112
|
-
return value;
|
|
113
|
-
}
|
|
114
|
-
return (_) => value;
|
|
115
|
-
}
|
|
116
109
|
/** @internal */
|
|
117
110
|
async function getConfig(config) {
|
|
118
111
|
const { config: configFile, isRemote, ...logConfig } = config;
|
|
119
112
|
if (!isRemote) {
|
|
120
113
|
(0, logger_1.log)(logConfig, types_1.LogLevel.Info, `Loading config from file ${configFile}`);
|
|
121
|
-
const absolutePath =
|
|
122
|
-
return wrapNoopResolver(Promise.resolve(`${absolutePath}`).then(s => __importStar(require(s))));
|
|
114
|
+
const absolutePath = node_path_1.default.resolve(process.cwd(), configFile);
|
|
115
|
+
return (0, utils_1.wrapNoopResolver)(Promise.resolve(`${absolutePath}`).then(s => __importStar(require(s))));
|
|
123
116
|
}
|
|
124
117
|
const url = new URL(configFile);
|
|
125
118
|
const isHttp = url.protocol === "http:" || url.protocol === "https:";
|
|
126
119
|
const isGit = url.protocol === "git:" || (isHttp && url.pathname.endsWith(".git"));
|
|
127
120
|
if (isGit) {
|
|
128
|
-
|
|
129
|
-
return getGitConfig(url, logConfig);
|
|
121
|
+
return (0, git_1.getGitConfig)(url, logConfig);
|
|
130
122
|
}
|
|
131
123
|
if (!isHttp) {
|
|
132
124
|
throw new Error(`Unsupported protocol ${url.protocol}`);
|
|
133
125
|
}
|
|
134
|
-
return wrapNoopResolver(Promise.resolve(`${
|
|
126
|
+
return (0, utils_1.wrapNoopResolver)(Promise.resolve(`${node_path_1.default.resolve(process.cwd(), configFile)}`).then(s => __importStar(require(s))));
|
|
135
127
|
}
|
|
136
128
|
exports.getConfig = getConfig;
|
|
137
|
-
async function getGitConfig(url, logConfig) {
|
|
138
|
-
console.log("Calling real getGitConfig");
|
|
139
|
-
const repoUrl = `${url.protocol}//${url.host}${url.pathname}`;
|
|
140
|
-
(0, logger_1.log)(logConfig, types_1.LogLevel.Info, `Cloning git repo ${repoUrl}`);
|
|
141
|
-
const tmpPath = path_1.default.resolve(node_os_1.default.tmpdir(), `scaffold-config-${Date.now()}`);
|
|
142
|
-
return new Promise((resolve, reject) => {
|
|
143
|
-
const clone = (0, node_child_process_1.spawn)("git", ["clone", "--depth", "1", repoUrl, tmpPath]);
|
|
144
|
-
clone.on("error", reject);
|
|
145
|
-
clone.on("close", async (code) => {
|
|
146
|
-
if (code === 0) {
|
|
147
|
-
(0, logger_1.log)(logConfig, types_1.LogLevel.Info, `Loading config from git repo: ${repoUrl}`);
|
|
148
|
-
const hashPath = url.hash?.replace("#", "") || "scaffold.config.js";
|
|
149
|
-
const absolutePath = path_1.default.resolve(tmpPath, hashPath);
|
|
150
|
-
const loadedConfig = (await Promise.resolve(`${absolutePath}`).then(s => __importStar(require(s)))).default;
|
|
151
|
-
(0, logger_1.log)(logConfig, types_1.LogLevel.Info, `Loaded config from git`);
|
|
152
|
-
(0, logger_1.log)(logConfig, types_1.LogLevel.Debug, `Raw config:`, loadedConfig);
|
|
153
|
-
const fixedConfig = Object.fromEntries(Object.entries(loadedConfig).map(([k, v]) => [
|
|
154
|
-
k,
|
|
155
|
-
// use absolute paths for template as config is necessarily in another directory
|
|
156
|
-
{ ...v, templates: v.templates.map((t) => path_1.default.resolve(tmpPath, t)) },
|
|
157
|
-
]));
|
|
158
|
-
resolve(wrapNoopResolver(fixedConfig));
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
reject(new Error(`Git clone failed with code ${code}`));
|
|
162
|
-
});
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
exports.getGitConfig = getGitConfig;
|
|
166
129
|
function count(string, substring) {
|
|
167
130
|
return string.split(substring).length - 1;
|
|
168
131
|
}
|
package/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/file.js
CHANGED
|
@@ -4,19 +4,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.handleTemplateFile = exports.getOutputDir = exports.copyFileTransformed = exports.getTemplateFileInfo = exports.getTemplateGlobInfo = exports.getFileList = exports.getBasePath = exports.makeRelativePath = exports.removeGlob = exports.isDir = exports.pathExists = exports.createDirIfNotExists = void 0;
|
|
7
|
-
const
|
|
8
|
-
const
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const node_constants_1 = require("node:constants");
|
|
9
9
|
const types_1 = require("./types");
|
|
10
|
-
const
|
|
11
|
-
const { stat, access, mkdir } = fs_1.promises;
|
|
10
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
12
11
|
const glob_1 = require("glob");
|
|
13
12
|
const logger_1 = require("./logger");
|
|
14
13
|
const config_1 = require("./config");
|
|
15
14
|
const parser_1 = require("./parser");
|
|
16
15
|
const utils_1 = require("./utils");
|
|
17
|
-
const { readFile, writeFile } =
|
|
16
|
+
const { stat, access, mkdir, readFile, writeFile } = promises_1.default;
|
|
18
17
|
async function createDirIfNotExists(dir, config) {
|
|
19
|
-
|
|
18
|
+
if (config.dryRun) {
|
|
19
|
+
(0, logger_1.log)(config, types_1.LogLevel.Info, `Dry Run. Not creating dir ${dir}`);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const parentDir = node_path_1.default.dirname(dir);
|
|
20
23
|
if (!(await pathExists(parentDir))) {
|
|
21
24
|
await createDirIfNotExists(parentDir, config);
|
|
22
25
|
}
|
|
@@ -37,7 +40,7 @@ async function createDirIfNotExists(dir, config) {
|
|
|
37
40
|
exports.createDirIfNotExists = createDirIfNotExists;
|
|
38
41
|
async function pathExists(filePath) {
|
|
39
42
|
try {
|
|
40
|
-
await access(filePath,
|
|
43
|
+
await access(filePath, node_constants_1.F_OK);
|
|
41
44
|
return true;
|
|
42
45
|
}
|
|
43
46
|
catch (e) {
|
|
@@ -54,26 +57,28 @@ async function isDir(path) {
|
|
|
54
57
|
}
|
|
55
58
|
exports.isDir = isDir;
|
|
56
59
|
function removeGlob(template) {
|
|
57
|
-
return template.replace(/\*/g, "")
|
|
60
|
+
return node_path_1.default.normalize(template.replace(/\*/g, ""));
|
|
58
61
|
}
|
|
59
62
|
exports.removeGlob = removeGlob;
|
|
60
63
|
function makeRelativePath(str) {
|
|
61
|
-
return str.startsWith(
|
|
64
|
+
return str.startsWith(node_path_1.default.sep) ? str.slice(1) : str;
|
|
62
65
|
}
|
|
63
66
|
exports.makeRelativePath = makeRelativePath;
|
|
64
67
|
function getBasePath(relPath) {
|
|
65
|
-
return
|
|
68
|
+
return node_path_1.default
|
|
66
69
|
.resolve(process.cwd(), relPath)
|
|
67
|
-
.replace(process.cwd() +
|
|
70
|
+
.replace(process.cwd() + node_path_1.default.sep, "")
|
|
68
71
|
.replace(process.cwd(), "");
|
|
69
72
|
}
|
|
70
73
|
exports.getBasePath = getBasePath;
|
|
71
74
|
async function getFileList(_config, template) {
|
|
75
|
+
template = template.replaceAll(/[\\]+/g, "/");
|
|
76
|
+
(0, logger_1.log)(_config, types_1.LogLevel.Debug, `Getting file list for ${template}`);
|
|
72
77
|
return (await (0, glob_1.glob)(template, {
|
|
73
78
|
dot: true,
|
|
74
79
|
nodir: true,
|
|
75
80
|
// debug: config.verbose === LogLevel.Debug,
|
|
76
|
-
})).map(
|
|
81
|
+
})).map(node_path_1.default.normalize);
|
|
77
82
|
}
|
|
78
83
|
exports.getFileList = getFileList;
|
|
79
84
|
async function getTemplateGlobInfo(config, template) {
|
|
@@ -81,22 +86,22 @@ async function getTemplateGlobInfo(config, template) {
|
|
|
81
86
|
(0, logger_1.log)(config, types_1.LogLevel.Debug, "before isDir", "isGlob:", isGlob, template);
|
|
82
87
|
let _template = template;
|
|
83
88
|
let nonGlobTemplate = isGlob ? removeGlob(template) : template;
|
|
84
|
-
nonGlobTemplate =
|
|
89
|
+
nonGlobTemplate = node_path_1.default.normalize(nonGlobTemplate);
|
|
85
90
|
const isDirOrGlob = isGlob ? true : await isDir(template);
|
|
86
|
-
(0, logger_1.log)(config, types_1.LogLevel.Debug, "after isDir", isDirOrGlob);
|
|
87
91
|
const _shouldAddGlob = !isGlob && isDirOrGlob;
|
|
92
|
+
(0, logger_1.log)(config, types_1.LogLevel.Debug, "after", { isDirOrGlob, _shouldAddGlob });
|
|
88
93
|
const origTemplate = template;
|
|
89
94
|
if (_shouldAddGlob) {
|
|
90
|
-
_template =
|
|
95
|
+
_template = node_path_1.default.join(template, "**", "*");
|
|
91
96
|
}
|
|
92
97
|
return { nonGlobTemplate, origTemplate, isDirOrGlob, isGlob, template: _template };
|
|
93
98
|
}
|
|
94
99
|
exports.getTemplateGlobInfo = getTemplateGlobInfo;
|
|
95
100
|
async function getTemplateFileInfo(config, { templatePath, basePath }) {
|
|
96
|
-
const inputPath =
|
|
101
|
+
const inputPath = node_path_1.default.resolve(process.cwd(), templatePath);
|
|
97
102
|
const outputPathOpt = (0, config_1.getOptionValueForFile)(config, inputPath, config.output);
|
|
98
103
|
const outputDir = getOutputDir(config, outputPathOpt, basePath);
|
|
99
|
-
const outputPath = (0, parser_1.handlebarsParse)(config,
|
|
104
|
+
const outputPath = (0, parser_1.handlebarsParse)(config, node_path_1.default.join(outputDir, node_path_1.default.basename(inputPath)), {
|
|
100
105
|
isPath: true,
|
|
101
106
|
}).toString();
|
|
102
107
|
const exists = await pathExists(outputPath);
|
|
@@ -117,7 +122,7 @@ async function copyFileTransformed(config, { exists, overwrite, outputPath, inpu
|
|
|
117
122
|
}
|
|
118
123
|
else {
|
|
119
124
|
(0, logger_1.log)(config, types_1.LogLevel.Info, "Dry Run. Output should be:");
|
|
120
|
-
(0, logger_1.log)(config, types_1.LogLevel.Info, finalOutputContents);
|
|
125
|
+
(0, logger_1.log)(config, types_1.LogLevel.Info, finalOutputContents.toString());
|
|
121
126
|
}
|
|
122
127
|
}
|
|
123
128
|
else if (exists) {
|
|
@@ -126,7 +131,7 @@ async function copyFileTransformed(config, { exists, overwrite, outputPath, inpu
|
|
|
126
131
|
}
|
|
127
132
|
exports.copyFileTransformed = copyFileTransformed;
|
|
128
133
|
function getOutputDir(config, outputPathOpt, basePath) {
|
|
129
|
-
return
|
|
134
|
+
return node_path_1.default.resolve(process.cwd(), ...[
|
|
130
135
|
outputPathOpt,
|
|
131
136
|
basePath,
|
|
132
137
|
config.createSubFolder
|
|
@@ -146,7 +151,7 @@ async function handleTemplateFile(config, { templatePath, basePath }) {
|
|
|
146
151
|
});
|
|
147
152
|
const overwrite = (0, config_1.getOptionValueForFile)(config, inputPath, config.overwrite ?? false);
|
|
148
153
|
(0, logger_1.log)(config, types_1.LogLevel.Debug, `\nParsing ${templatePath}`, `\nBase path: ${basePath}`, `\nFull input path: ${inputPath}`, `\nOutput Path Opt: ${outputPathOpt}`, `\nFull output dir: ${outputDir}`, `\nFull output path: ${outputPath}`, `\n`);
|
|
149
|
-
await createDirIfNotExists(
|
|
154
|
+
await createDirIfNotExists(node_path_1.default.dirname(outputPath), config);
|
|
150
155
|
(0, logger_1.log)(config, types_1.LogLevel.Info, `Writing to ${outputPath}`);
|
|
151
156
|
await copyFileTransformed(config, { exists, overwrite, outputPath, inputPath });
|
|
152
157
|
resolve();
|
package/file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../src/file.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../src/file.ts"],"names":[],"mappings":"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"}
|
package/git.d.ts
ADDED
package/git.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.getGitConfig = void 0;
|
|
30
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
31
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
32
|
+
const logger_1 = require("./logger");
|
|
33
|
+
const types_1 = require("./types");
|
|
34
|
+
const node_child_process_1 = require("node:child_process");
|
|
35
|
+
const utils_1 = require("./utils");
|
|
36
|
+
async function getGitConfig(url, logConfig) {
|
|
37
|
+
const repoUrl = `${url.protocol}//${url.host}${url.pathname}`;
|
|
38
|
+
(0, logger_1.log)(logConfig, types_1.LogLevel.Info, `Cloning git repo ${repoUrl}`);
|
|
39
|
+
const tmpPath = node_path_1.default.resolve(node_os_1.default.tmpdir(), `scaffold-config-${Date.now()}`);
|
|
40
|
+
return new Promise((resolve, reject) => {
|
|
41
|
+
const clone = (0, node_child_process_1.spawn)("git", ["clone", "--depth", "1", repoUrl, tmpPath]);
|
|
42
|
+
clone.on("error", reject);
|
|
43
|
+
clone.on("close", async (code) => {
|
|
44
|
+
if (code === 0) {
|
|
45
|
+
(0, logger_1.log)(logConfig, types_1.LogLevel.Info, `Loading config from git repo: ${repoUrl}`);
|
|
46
|
+
const hashPath = url.hash?.replace("#", "") || "scaffold.config.js";
|
|
47
|
+
const absolutePath = node_path_1.default.resolve(tmpPath, hashPath);
|
|
48
|
+
const loadedConfig = (await Promise.resolve(`${absolutePath}`).then(s => __importStar(require(s)))).default;
|
|
49
|
+
(0, logger_1.log)(logConfig, types_1.LogLevel.Info, `Loaded config from git`);
|
|
50
|
+
(0, logger_1.log)(logConfig, types_1.LogLevel.Debug, `Raw config:`, loadedConfig);
|
|
51
|
+
const fixedConfig = Object.fromEntries(Object.entries(loadedConfig).map(([k, v]) => [
|
|
52
|
+
k,
|
|
53
|
+
// use absolute paths for template as config is necessarily in another directory
|
|
54
|
+
{ ...v, templates: v.templates.map((t) => node_path_1.default.resolve(tmpPath, t)) },
|
|
55
|
+
]));
|
|
56
|
+
resolve((0, utils_1.wrapNoopResolver)(fixedConfig));
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
reject(new Error(`Git clone failed with code ${code}`));
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
exports.getGitConfig = getGitConfig;
|
|
64
|
+
//# sourceMappingURL=git.js.map
|
package/git.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAC5B,sDAAwB;AACxB,qCAA8B;AAC9B,mCAAkG;AAClG,2DAA0C;AAC1C,mCAA0C;AAEnC,KAAK,UAAU,YAAY,CAChC,GAAQ,EACR,SAAoB;IAEpB,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;IAE7D,IAAA,YAAG,EAAC,SAAS,EAAE,gBAAQ,CAAC,IAAI,EAAE,oBAAoB,OAAO,EAAE,CAAC,CAAA;IAE5D,MAAM,OAAO,GAAG,mBAAI,CAAC,OAAO,CAAC,iBAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAE1E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,KAAK,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QAEvE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QACzB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,IAAA,YAAG,EAAC,SAAS,EAAE,gBAAQ,CAAC,IAAI,EAAE,iCAAiC,OAAO,EAAE,CAAC,CAAA;gBACzE,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,oBAAoB,CAAA;gBACnE,MAAM,YAAY,GAAG,mBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBACpD,MAAM,YAAY,GAAG,CAAC,yBAAa,YAAY,uCAAC,CAAC,CAAC,OAA4B,CAAA;gBAC9E,IAAA,YAAG,EAAC,SAAS,EAAE,gBAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAA;gBACvD,IAAA,YAAG,EAAC,SAAS,EAAE,gBAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,CAAA;gBAC3D,MAAM,WAAW,GAAsB,MAAM,CAAC,WAAW,CACvD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC3C,CAAC;oBACD,gFAAgF;oBAChF,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;iBACtE,CAAC,CACH,CAAA;gBAED,OAAO,CAAC,IAAA,wBAAgB,EAAC,WAAW,CAAC,CAAC,CAAA;gBACtC,OAAM;aACP;YAED,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AArCD,oCAqCC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "simple-scaffold",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.2",
|
|
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",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"main": "index.js",
|
|
10
10
|
"bin": "cmd.js",
|
|
11
|
-
"packageManager": "pnpm@8.
|
|
11
|
+
"packageManager": "pnpm@8.6.2",
|
|
12
12
|
"keywords": [
|
|
13
13
|
"javascript",
|
|
14
14
|
"cli",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"chalk": "^4.1.2",
|
|
39
39
|
"date-fns": "^2.30.0",
|
|
40
|
-
"glob": "^10.
|
|
40
|
+
"glob": "^10.3.3",
|
|
41
41
|
"handlebars": "^4.7.7",
|
|
42
42
|
"massarg": "^1.0.7-pre.1"
|
|
43
43
|
},
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"semantic-release-conventional-commits": "^3.0.0",
|
|
61
61
|
"ts-jest": "^29.1.0",
|
|
62
62
|
"ts-node": "^10.9.1",
|
|
63
|
-
"typedoc": "^0.24.
|
|
63
|
+
"typedoc": "^0.24.7",
|
|
64
64
|
"typescript": "^5.0.4"
|
|
65
65
|
}
|
|
66
66
|
}
|
package/parser.js
CHANGED
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.handlebarsParse = exports.registerHelpers = exports.dateHelper = exports.nowHelper = exports.defaultHelpers = void 0;
|
|
7
|
-
const
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
8
|
const types_1 = require("./types");
|
|
9
9
|
const handlebars_1 = __importDefault(require("handlebars"));
|
|
10
10
|
const add_1 = __importDefault(require("date-fns/add"));
|
|
@@ -85,7 +85,7 @@ function handlebarsParse(config, templateBuffer, { isPath = false } = {}) {
|
|
|
85
85
|
}
|
|
86
86
|
const parser = handlebars_1.default.compile(str, { noEscape: true });
|
|
87
87
|
let outputContents = parser(data);
|
|
88
|
-
if (isPath &&
|
|
88
|
+
if (isPath && node_path_1.default.sep !== "/") {
|
|
89
89
|
outputContents = outputContents.replace(/\//g, "\\");
|
|
90
90
|
}
|
|
91
91
|
return Buffer.from(outputContents);
|
package/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/scaffold.js
CHANGED
|
@@ -10,7 +10,7 @@ exports.Scaffold = void 0;
|
|
|
10
10
|
*
|
|
11
11
|
* See [readme](README.md)
|
|
12
12
|
*/
|
|
13
|
-
const
|
|
13
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
14
14
|
const utils_1 = require("./utils");
|
|
15
15
|
const file_1 = require("./file");
|
|
16
16
|
const types_1 = require("./types");
|
|
@@ -59,11 +59,12 @@ async function Scaffold(config) {
|
|
|
59
59
|
try {
|
|
60
60
|
const { nonGlobTemplate, origTemplate, isDirOrGlob, isGlob, template } = await (0, file_1.getTemplateGlobInfo)(config, _template);
|
|
61
61
|
const files = await (0, file_1.getFileList)(config, template);
|
|
62
|
+
(0, logger_1.log)(config, types_1.LogLevel.Debug, "Iterating files", { files, template });
|
|
62
63
|
for (const inputFilePath of files) {
|
|
63
64
|
if (await (0, file_1.isDir)(inputFilePath)) {
|
|
64
65
|
continue;
|
|
65
66
|
}
|
|
66
|
-
const relPath = (0, file_1.makeRelativePath)(
|
|
67
|
+
const relPath = (0, file_1.makeRelativePath)(node_path_1.default.dirname((0, file_1.removeGlob)(inputFilePath).replace(nonGlobTemplate, "")));
|
|
67
68
|
const basePath = (0, file_1.getBasePath)(relPath);
|
|
68
69
|
(0, logger_1.logInputFile)(config, {
|
|
69
70
|
originalTemplate: origTemplate,
|
package/scaffold.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;GAKG;AACH,
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
|
package/utils.d.ts
CHANGED
|
@@ -2,3 +2,4 @@
|
|
|
2
2
|
import { Resolver } from "./types";
|
|
3
3
|
export declare function handleErr(err: NodeJS.ErrnoException | null): void;
|
|
4
4
|
export declare function resolve<T, R = T>(resolver: Resolver<T, R>, arg: T): R;
|
|
5
|
+
export declare function wrapNoopResolver<T, R = T>(value: Resolver<T, R>): Resolver<T, R>;
|
package/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolve = exports.handleErr = void 0;
|
|
3
|
+
exports.wrapNoopResolver = exports.resolve = exports.handleErr = void 0;
|
|
4
4
|
function handleErr(err) {
|
|
5
5
|
if (err)
|
|
6
6
|
throw err;
|
|
@@ -10,4 +10,11 @@ function resolve(resolver, arg) {
|
|
|
10
10
|
return typeof resolver === "function" ? resolver(arg) : resolver;
|
|
11
11
|
}
|
|
12
12
|
exports.resolve = resolve;
|
|
13
|
+
function wrapNoopResolver(value) {
|
|
14
|
+
if (typeof value === "function") {
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
return (_) => value;
|
|
18
|
+
}
|
|
19
|
+
exports.wrapNoopResolver = wrapNoopResolver;
|
|
13
20
|
//# sourceMappingURL=utils.js.map
|
package/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAEA,SAAgB,SAAS,CAAC,GAAiC;IACzD,IAAI,GAAG;QAAE,MAAM,GAAG,CAAA;AACpB,CAAC;AAFD,8BAEC;AAED,SAAgB,OAAO,CAAW,QAAwB,EAAE,GAAM;IAChE,OAAO,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAE,QAA4B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,QAAc,CAAA;AAC9F,CAAC;AAFD,0BAEC"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAEA,SAAgB,SAAS,CAAC,GAAiC;IACzD,IAAI,GAAG;QAAE,MAAM,GAAG,CAAA;AACpB,CAAC;AAFD,8BAEC;AAED,SAAgB,OAAO,CAAW,QAAwB,EAAE,GAAM;IAChE,OAAO,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAE,QAA4B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,QAAc,CAAA;AAC9F,CAAC;AAFD,0BAEC;AAED,SAAgB,gBAAgB,CAAW,KAAqB;IAC9D,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC/B,OAAO,KAAK,CAAA;KACb;IAED,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAA;AACrB,CAAC;AAND,4CAMC"}
|