create-warlock 4.0.47 → 4.0.59
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/cjs/commands/create-new-app/get-app-path.d.ts +2 -0
- package/cjs/commands/create-new-app/get-app-path.d.ts.map +1 -0
- package/cjs/commands/create-new-app/get-app-path.js +8 -0
- package/cjs/commands/create-new-app/get-app-path.js.map +1 -0
- package/cjs/commands/create-new-app/index.d.ts +2 -0
- package/cjs/commands/create-new-app/index.d.ts.map +1 -0
- package/cjs/commands/create-new-app/index.js +50 -0
- package/cjs/commands/create-new-app/index.js.map +1 -0
- package/cjs/commands/create-new-app/select-app-type.d.ts +2 -0
- package/cjs/commands/create-new-app/select-app-type.d.ts.map +1 -0
- package/cjs/commands/create-new-app/types.d.ts +9 -0
- package/cjs/commands/create-new-app/types.d.ts.map +1 -0
- package/cjs/commands/create-warlock-app/index.d.ts +3 -0
- package/cjs/commands/create-warlock-app/index.d.ts.map +1 -0
- package/cjs/commands/create-warlock-app/index.js +51 -0
- package/cjs/commands/create-warlock-app/index.js.map +1 -0
- package/cjs/helpers/app.d.ts +54 -0
- package/cjs/helpers/app.d.ts.map +1 -0
- package/cjs/helpers/app.js +126 -0
- package/cjs/helpers/app.js.map +1 -0
- package/cjs/helpers/exec.d.ts +10 -0
- package/cjs/helpers/exec.d.ts.map +1 -0
- package/cjs/helpers/exec.js +69 -0
- package/cjs/helpers/exec.js.map +1 -0
- package/cjs/helpers/package-manager.d.ts +6 -0
- package/cjs/helpers/package-manager.d.ts.map +1 -0
- package/cjs/helpers/package-manager.js +22 -0
- package/cjs/helpers/package-manager.js.map +1 -0
- package/cjs/helpers/paths.d.ts +4 -0
- package/cjs/helpers/paths.d.ts.map +1 -0
- package/cjs/helpers/paths.js +9 -0
- package/cjs/helpers/paths.js.map +1 -0
- package/cjs/helpers/project-builder-helpers.d.ts +6 -0
- package/cjs/helpers/project-builder-helpers.d.ts.map +1 -0
- package/cjs/helpers/project-builder-helpers.js +18 -0
- package/cjs/helpers/project-builder-helpers.js.map +1 -0
- package/cjs/index.d.ts +2 -0
- package/cjs/index.d.ts.map +1 -0
- package/cjs/index.js +5 -19
- package/cjs/index.js.map +1 -1
- package/create-app.js +0 -0
- package/esm/commands/create-new-app/get-app-path.d.ts +2 -0
- package/esm/commands/create-new-app/get-app-path.d.ts.map +1 -0
- package/esm/commands/create-new-app/get-app-path.js +8 -0
- package/esm/commands/create-new-app/get-app-path.js.map +1 -0
- package/esm/commands/create-new-app/index.d.ts +2 -0
- package/esm/commands/create-new-app/index.d.ts.map +1 -0
- package/esm/commands/create-new-app/index.js +50 -0
- package/esm/commands/create-new-app/index.js.map +1 -0
- package/esm/commands/create-new-app/select-app-type.d.ts +2 -0
- package/esm/commands/create-new-app/select-app-type.d.ts.map +1 -0
- package/esm/commands/create-new-app/types.d.ts +9 -0
- package/esm/commands/create-new-app/types.d.ts.map +1 -0
- package/esm/commands/create-warlock-app/index.d.ts +3 -0
- package/esm/commands/create-warlock-app/index.d.ts.map +1 -0
- package/esm/commands/create-warlock-app/index.js +51 -0
- package/esm/commands/create-warlock-app/index.js.map +1 -0
- package/esm/helpers/app.d.ts +54 -0
- package/esm/helpers/app.d.ts.map +1 -0
- package/esm/helpers/app.js +126 -0
- package/esm/helpers/app.js.map +1 -0
- package/esm/helpers/exec.d.ts +10 -0
- package/esm/helpers/exec.d.ts.map +1 -0
- package/esm/helpers/exec.js +69 -0
- package/esm/helpers/exec.js.map +1 -0
- package/esm/helpers/package-manager.d.ts +6 -0
- package/esm/helpers/package-manager.d.ts.map +1 -0
- package/esm/helpers/package-manager.js +22 -0
- package/esm/helpers/package-manager.js.map +1 -0
- package/esm/helpers/paths.d.ts +4 -0
- package/esm/helpers/paths.d.ts.map +1 -0
- package/esm/helpers/paths.js +9 -0
- package/esm/helpers/paths.js.map +1 -0
- package/esm/helpers/project-builder-helpers.d.ts +6 -0
- package/esm/helpers/project-builder-helpers.d.ts.map +1 -0
- package/esm/helpers/project-builder-helpers.js +18 -0
- package/esm/helpers/project-builder-helpers.js.map +1 -0
- package/esm/index.d.ts +2 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +5 -13
- package/esm/index.js.map +1 -1
- package/package.json +38 -32
- package/templates/warlock/package.json +60 -60
- package/templates/warlock/yarn.lock +0 -4831
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-app-path.d.ts","sourceRoot":"","sources":["../../../src/commands/create-new-app/get-app-path.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,EAAE,MAAM,UAgBjD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';var copper=require('@mongez/copper'),fs=require('@mongez/fs'),path=require('path');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var path__namespace=/*#__PURE__*/_interopNamespace(path);function getAppPath(appName) {
|
|
2
|
+
const appPath = path__namespace.resolve(process.cwd(), appName);
|
|
3
|
+
if (fs.isDirectory(appPath)) {
|
|
4
|
+
console.log(copper.colors.redBright(`${process.cwd()} has an existing directory \`${copper.colors.cyan(appName)}\`, please choose another app name or another directory to run the command from.`));
|
|
5
|
+
process.exit(1);
|
|
6
|
+
}
|
|
7
|
+
return appPath;
|
|
8
|
+
}module.exports=getAppPath;//# sourceMappingURL=get-app-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-app-path.js","sources":["../../../src/commands/create-new-app/get-app-path.ts"],"sourcesContent":[null],"names":["path","isDirectory","colors"],"mappings":"4cAIwB,SAAA,UAAU,CAAC,OAAe,EAAA;AAChD,IAAA,MAAM,OAAO,GAAWA,eAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;AAE7D,IAAA,IAAIC,cAAW,CAAC,OAAO,CAAC,EAAE;QACxB,OAAO,CAAC,GAAG,CACTC,aAAM,CAAC,SAAS,CACd,CAAG,EAAA,OAAO,CAAC,GAAG,EAAE,CAAgC,6BAAA,EAAAA,aAAM,CAAC,IAAI,CACzD,OAAO,CACR,CAAA,gFAAA,CAAkF,CACpF,CACF,CAAC;AAEF,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,KAAA;AAED,IAAA,OAAO,OAAO,CAAC;AACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/create-new-app/index.ts"],"names":[],"mappings":"AAmBA,wBAA8B,YAAY,CAAC,oBAAoB,EAAE,MAAM,iBAqDtE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';var prompts=require('@clack/prompts'),copper=require('@mongez/copper'),app=require('../../helpers/app.js'),packageManager=require('../../helpers/package-manager.js'),index=require('../create-warlock-app/index.js'),getAppPath=require('./get-app-path.js');const appDetails = {
|
|
2
|
+
appName: "",
|
|
3
|
+
appType: "",
|
|
4
|
+
appPath: "",
|
|
5
|
+
pkgManager: "",
|
|
6
|
+
options: {},
|
|
7
|
+
};
|
|
8
|
+
async function createNewApp(createWarlockVersion) {
|
|
9
|
+
prompts.intro(`✨ Let's create a new ${copper.colors.yellowBright("Warlock Js App")} ✨ ${copper.colors.greenBright(`v` + createWarlockVersion)}`);
|
|
10
|
+
const appName = await prompts.text({
|
|
11
|
+
message: "Enter the app name",
|
|
12
|
+
placeholder: "warlock-app",
|
|
13
|
+
});
|
|
14
|
+
if (prompts.isCancel(appName) || !appName.trim()) {
|
|
15
|
+
prompts.cancel("Application name is required to create a new app");
|
|
16
|
+
process.exit(0);
|
|
17
|
+
}
|
|
18
|
+
// Validate the nodejs version to be not less than 20
|
|
19
|
+
const [major] = process.versions.node.split(".").map(Number);
|
|
20
|
+
if (major < 20) {
|
|
21
|
+
prompts.cancel("Node.js version must be at least 20.0.0");
|
|
22
|
+
process.exit(0);
|
|
23
|
+
}
|
|
24
|
+
const packageManager$1 = await prompts.select({
|
|
25
|
+
message: "Select package manager to use 📦 ",
|
|
26
|
+
initialValue: packageManager.getPackageManager(),
|
|
27
|
+
options: [
|
|
28
|
+
{
|
|
29
|
+
label: "Npm",
|
|
30
|
+
value: "npm",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
label: "Yarn",
|
|
34
|
+
value: "yarn",
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
label: "Pnpm",
|
|
38
|
+
value: "pnpm",
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
});
|
|
42
|
+
packageManager.setPackageManager(packageManager$1);
|
|
43
|
+
appDetails.appName = appName;
|
|
44
|
+
appDetails.appPath = getAppPath(appName);
|
|
45
|
+
appDetails.pkgManager = packageManager$1;
|
|
46
|
+
if (!appDetails.appPath)
|
|
47
|
+
return;
|
|
48
|
+
appDetails.appType = "warlock";
|
|
49
|
+
index.createWarlockApp(new app.App(appDetails));
|
|
50
|
+
}module.exports=createNewApp;//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/commands/create-new-app/index.ts"],"sourcesContent":[null],"names":["intro","colors","text","isCancel","cancel","packageManager","select","getPackageManager","setPackageManager","createWarlockApp","App"],"mappings":"2QAWA,MAAM,UAAU,GAAsB;AACpC,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,UAAU,EAAE,EAAE;AACd,IAAA,OAAO,EAAE,EAAE;CACZ,CAAC;AAEa,eAAe,YAAY,CAAC,oBAA4B,EAAA;AACrE,IAAAA,aAAK,CACH,CAAwB,qBAAA,EAAAC,aAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAA,GAAA,EAAMA,aAAM,CAAC,WAAW,CAAC,CAAG,CAAA,CAAA,GAAG,oBAAoB,CAAC,CAAA,CAAE,CACpH,CAAC;AAEF,IAAA,MAAM,OAAO,GAAG,MAAMC,YAAI,CAAC;AACzB,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,WAAW,EAAE,aAAa;AAC3B,KAAA,CAAC,CAAC;IAEH,IAAIC,gBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;QACxCC,cAAM,CAAC,kDAAkD,CAAC,CAAC;AAC3D,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,KAAA;;AAGD,IAAA,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE7D,IAAI,KAAK,GAAG,EAAE,EAAE;QACdA,cAAM,CAAC,yCAAyC,CAAC,CAAC;AAClD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,KAAA;AAED,IAAA,MAAMC,gBAAc,GAAG,MAAMC,cAAM,CAAC;AAClC,QAAA,OAAO,EAAE,mCAAmC;QAC5C,YAAY,EAAEC,gCAAiB,EAAE;AACjC,QAAA,OAAO,EAAE;AACP,YAAA;AACE,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,KAAK,EAAE,KAAK;AACb,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACD,YAAA;AACE,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA;AACF,SAAA;AACF,KAAA,CAAC,CAAC;IAEHC,gCAAiB,CAACH,gBAAc,CAAC,CAAC;AAElC,IAAA,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;AAC7B,IAAA,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;AACzC,IAAA,UAAU,CAAC,UAAU,GAAGA,gBAAc,CAAC;IAEvC,IAAI,CAAC,UAAU,CAAC,OAAO;QAAE,OAAO;AAEhC,IAAA,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;AAE/B,IAAAI,sBAAgB,CAAC,IAAIC,OAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-app-type.d.ts","sourceRoot":"","sources":["../../../src/commands/create-new-app/select-app-type.ts"],"names":[],"mappings":"AAGA,wBAA8B,aAAa,iBAoB1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/create-new-app/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,GAAG;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/create-warlock-app/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAGtC,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,GAAG,iBAgEtD"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
'use strict';var prompts=require('@clack/prompts'),path=require('path'),rimraf=require('rimraf'),packageManager=require('../../helpers/package-manager.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var path__default=/*#__PURE__*/_interopDefault(path);async function createWarlockApp(application) {
|
|
2
|
+
// Initialize the basic app structure
|
|
3
|
+
application.init().use("warlock").updatePackageJson().updateDotEnv();
|
|
4
|
+
// Start the installation process in background immediately
|
|
5
|
+
const installProcess = application.install();
|
|
6
|
+
// Collect all answers first
|
|
7
|
+
const installDeps = (await prompts.confirm({
|
|
8
|
+
message: "Do you want to install dependencies?",
|
|
9
|
+
})) === true;
|
|
10
|
+
// If user doesn't want to install dependencies, abort the background process
|
|
11
|
+
if (!installDeps) {
|
|
12
|
+
installProcess.abort();
|
|
13
|
+
// Remove node_modules Asynchronously
|
|
14
|
+
const nodeModulesPath = path__default.default.join(application.path, "node_modules");
|
|
15
|
+
rimraf.rimraf(nodeModulesPath);
|
|
16
|
+
}
|
|
17
|
+
const useGit = (await prompts.confirm({
|
|
18
|
+
message: "Do you want to initialize Git repository?",
|
|
19
|
+
})) === true;
|
|
20
|
+
// Only ask about JWT if dependencies will be installed
|
|
21
|
+
let useJWT = false;
|
|
22
|
+
if (installDeps) {
|
|
23
|
+
useJWT =
|
|
24
|
+
(await prompts.confirm({
|
|
25
|
+
message: "Do you want to generate JWT Secret key?",
|
|
26
|
+
})) === true;
|
|
27
|
+
}
|
|
28
|
+
// Now execute all confirmed tasks
|
|
29
|
+
// Handle Git initialization first if requested
|
|
30
|
+
if (useGit) {
|
|
31
|
+
const loading = prompts.spinner();
|
|
32
|
+
loading.start("📂 Initializing Git repository...");
|
|
33
|
+
await application.git();
|
|
34
|
+
loading.stop("📂 Git repository initialized ✅");
|
|
35
|
+
}
|
|
36
|
+
// Wait for dependencies installation if it was requested
|
|
37
|
+
if (installDeps) {
|
|
38
|
+
const loading = prompts.spinner();
|
|
39
|
+
loading.start("📦 Installing dependencies...");
|
|
40
|
+
await installProcess.install;
|
|
41
|
+
loading.stop("📦 Dependencies installed successfully!");
|
|
42
|
+
// Generate JWT if requested
|
|
43
|
+
if (useJWT) {
|
|
44
|
+
const jwtLoading = prompts.spinner();
|
|
45
|
+
jwtLoading.start("🔑 Generating JWT Secret...");
|
|
46
|
+
await application.exec(packageManager.runPackageManagerCommand("jwt"));
|
|
47
|
+
jwtLoading.stop("🔑 JWT Secret generated 🔒");
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
application.terminate();
|
|
51
|
+
}exports.createWarlockApp=createWarlockApp;//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/commands/create-warlock-app/index.ts"],"sourcesContent":[null],"names":["confirm","path","rimraf","spinner","runPackageManagerCommand"],"mappings":"kRAMO,eAAe,gBAAgB,CAAC,WAAgB,EAAA;;AAErD,IAAA,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC;;AAGrE,IAAA,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;;AAG7C,IAAA,MAAM,WAAW,GACf,CAAC,MAAMA,eAAO,CAAC;AACb,QAAA,OAAO,EAAE,sCAAsC;KAChD,CAAC,MAAM,IAAI,CAAC;;IAGf,IAAI,CAAC,WAAW,EAAE;QAChB,cAAc,CAAC,KAAK,EAAE,CAAC;;AAGvB,QAAA,MAAM,eAAe,GAAGC,qBAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAEpEC,aAAM,CAAC,eAAe,CAAC,CAAC;AACzB,KAAA;AAED,IAAA,MAAM,MAAM,GACV,CAAC,MAAMF,eAAO,CAAC;AACb,QAAA,OAAO,EAAE,2CAA2C;KACrD,CAAC,MAAM,IAAI,CAAC;;IAGf,IAAI,MAAM,GAAG,KAAK,CAAC;AACnB,IAAA,IAAI,WAAW,EAAE;QACf,MAAM;YACJ,CAAC,MAAMA,eAAO,CAAC;AACb,gBAAA,OAAO,EAAE,yCAAyC;aACnD,CAAC,MAAM,IAAI,CAAC;AAChB,KAAA;;;AAKD,IAAA,IAAI,MAAM,EAAE;AACV,QAAA,MAAM,OAAO,GAAGG,eAAO,EAAE,CAAC;AAC1B,QAAA,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACnD,QAAA,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC;AACxB,QAAA,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;AACjD,KAAA;;AAGD,IAAA,IAAI,WAAW,EAAE;AACf,QAAA,MAAM,OAAO,GAAGA,eAAO,EAAE,CAAC;AAC1B,QAAA,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC/C,MAAM,cAAc,CAAC,OAAO,CAAC;AAC7B,QAAA,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;;AAGxD,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,MAAM,UAAU,GAAGA,eAAO,EAAE,CAAC;AAC7B,YAAA,UAAU,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAChD,MAAM,WAAW,CAAC,IAAI,CAACC,uCAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,YAAA,UAAU,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;AAC/C,SAAA;AACF,KAAA;IAED,WAAW,CAAC,SAAS,EAAE,CAAC;AAC1B"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Application } from "src/commands/create-new-app/types";
|
|
2
|
+
import { Template } from "src/helpers/paths";
|
|
3
|
+
export declare class App {
|
|
4
|
+
protected app: Application;
|
|
5
|
+
/**
|
|
6
|
+
* Resolved files
|
|
7
|
+
*/
|
|
8
|
+
protected files: Record<string, FileManager>;
|
|
9
|
+
isInstalled: boolean;
|
|
10
|
+
constructor(app: Application);
|
|
11
|
+
use(templateName: Template): this;
|
|
12
|
+
init(): this;
|
|
13
|
+
terminate(): void;
|
|
14
|
+
install(): {
|
|
15
|
+
abort: () => Promise<void>;
|
|
16
|
+
install: Promise<boolean>;
|
|
17
|
+
};
|
|
18
|
+
exec(command: string): Promise<boolean>;
|
|
19
|
+
git(): Promise<boolean>;
|
|
20
|
+
updatePackageJson(): this;
|
|
21
|
+
/**
|
|
22
|
+
* Get package json file
|
|
23
|
+
*/
|
|
24
|
+
get package(): FileManager;
|
|
25
|
+
updateDotEnv(): this;
|
|
26
|
+
/**
|
|
27
|
+
* Get env file to update
|
|
28
|
+
*/
|
|
29
|
+
get env(): FileManager;
|
|
30
|
+
get name(): string;
|
|
31
|
+
get path(): string;
|
|
32
|
+
file(relativePath: string): FileManager;
|
|
33
|
+
json(relativePath: string): FileManager;
|
|
34
|
+
}
|
|
35
|
+
export declare function app(app: Application): App;
|
|
36
|
+
export declare class FileManager {
|
|
37
|
+
protected filePath: any;
|
|
38
|
+
content: string;
|
|
39
|
+
constructor(filePath: any);
|
|
40
|
+
protected parseContent(): void;
|
|
41
|
+
replace(search: string, replace: string): this;
|
|
42
|
+
replaceAll(search: string, replace: string): this;
|
|
43
|
+
save(): void;
|
|
44
|
+
}
|
|
45
|
+
export declare class JsonFileManager extends FileManager {
|
|
46
|
+
protected parseContent(): void;
|
|
47
|
+
save(): void;
|
|
48
|
+
has(key: string): boolean;
|
|
49
|
+
replace(key: string, value: any): this;
|
|
50
|
+
replaceAll(key: string, value: any): this;
|
|
51
|
+
}
|
|
52
|
+
export declare function file(path: string): FileManager;
|
|
53
|
+
export declare function jsonFile(path: string): JsonFileManager;
|
|
54
|
+
//# sourceMappingURL=app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/helpers/app.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAY,MAAM,mBAAmB,CAAC;AAOvD,qBAAa,GAAG;IAQK,SAAS,CAAC,GAAG,EAAE,WAAW;IAP7C;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAM;IAE3C,WAAW,UAAS;gBAEE,GAAG,EAAE,WAAW;IAEtC,GAAG,CAAC,YAAY,EAAE,QAAQ;IAY1B,IAAI;IAIJ,SAAS;IAIT,OAAO;;;;IAID,IAAI,CAAC,OAAO,EAAE,MAAM;IAKpB,GAAG;IAIT,iBAAiB;IASxB;;OAEG;IACH,IAAW,OAAO,gBAEjB;IAEM,YAAY;IAMnB;;OAEG;IACH,IAAW,GAAG,gBAEb;IAED,IAAW,IAAI,WAEd;IAED,IAAW,IAAI,WAEd;IAEM,IAAI,CAAC,YAAY,EAAE,MAAM;IAUzB,IAAI,CAAC,YAAY,EAAE,MAAM;CASjC;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAE,WAAW,OAEnC;AAED,qBAAa,WAAW;IAEH,SAAS,CAAC,QAAQ;IAD9B,OAAO,EAAG,MAAM,CAAC;gBACK,QAAQ,KAAA;IAIrC,SAAS,CAAC,YAAY;IAIf,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAMvC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAM1C,IAAI;CAGZ;AAED,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,SAAS,CAAC,YAAY;IAIf,IAAI;IAIJ,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAM/B,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;CAO1C;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,eAEhC;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,mBAEpC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
'use strict';var fs=require('@mongez/fs'),path=require('path'),exec=require('./exec.js'),paths=require('./paths.js'),projectBuilderHelpers=require('./project-builder-helpers.js'),packageManager=require('./package-manager.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var path__default=/*#__PURE__*/_interopDefault(path);class App {
|
|
2
|
+
app;
|
|
3
|
+
/**
|
|
4
|
+
* Resolved files
|
|
5
|
+
*/
|
|
6
|
+
files = {};
|
|
7
|
+
isInstalled = false;
|
|
8
|
+
constructor(app) {
|
|
9
|
+
this.app = app;
|
|
10
|
+
}
|
|
11
|
+
use(templateName) {
|
|
12
|
+
fs.copyDirectory(paths.template(templateName), this.path);
|
|
13
|
+
if (fs.fileExists(this.path + "/.env.example")) {
|
|
14
|
+
fs.copyFile(this.path + "/.env.example", this.path + "/.env");
|
|
15
|
+
}
|
|
16
|
+
fs.renameFile(this.path + "/_.gitignore", this.path + "/.gitignore");
|
|
17
|
+
return this;
|
|
18
|
+
}
|
|
19
|
+
init() {
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
22
|
+
terminate() {
|
|
23
|
+
projectBuilderHelpers.allDone(this.name);
|
|
24
|
+
}
|
|
25
|
+
install() {
|
|
26
|
+
return exec.runCommand(packageManager.getPackageManager(), ["install"], this.path);
|
|
27
|
+
}
|
|
28
|
+
async exec(command) {
|
|
29
|
+
const [commandName, ...optionsList] = command.split(" ");
|
|
30
|
+
return await exec.executeCommand(commandName, optionsList, this.path);
|
|
31
|
+
}
|
|
32
|
+
async git() {
|
|
33
|
+
return await projectBuilderHelpers.initializeGitRepository(this.path);
|
|
34
|
+
}
|
|
35
|
+
updatePackageJson() {
|
|
36
|
+
this.package
|
|
37
|
+
.replace("name", this.name.replaceAll("/", "-"))
|
|
38
|
+
.replaceAll("yarn", packageManager.getPackageManager())
|
|
39
|
+
.save();
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get package json file
|
|
44
|
+
*/
|
|
45
|
+
get package() {
|
|
46
|
+
return this.json("package.json");
|
|
47
|
+
}
|
|
48
|
+
updateDotEnv() {
|
|
49
|
+
this.file(".env").replaceAll("appName", this.name).save();
|
|
50
|
+
return this;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get env file to update
|
|
54
|
+
*/
|
|
55
|
+
get env() {
|
|
56
|
+
return this.file(".env");
|
|
57
|
+
}
|
|
58
|
+
get name() {
|
|
59
|
+
return this.app.appName;
|
|
60
|
+
}
|
|
61
|
+
get path() {
|
|
62
|
+
return this.app.appPath;
|
|
63
|
+
}
|
|
64
|
+
file(relativePath) {
|
|
65
|
+
const fullPath = path__default.default.resolve(this.path, relativePath);
|
|
66
|
+
if (!this.files[fullPath]) {
|
|
67
|
+
this.files[fullPath] = file(fullPath);
|
|
68
|
+
}
|
|
69
|
+
return this.files[fullPath];
|
|
70
|
+
}
|
|
71
|
+
json(relativePath) {
|
|
72
|
+
const fullPath = path__default.default.resolve(this.path, relativePath);
|
|
73
|
+
if (!this.files[fullPath]) {
|
|
74
|
+
this.files[fullPath] = jsonFile(fullPath);
|
|
75
|
+
}
|
|
76
|
+
return this.files[fullPath];
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
class FileManager {
|
|
80
|
+
filePath;
|
|
81
|
+
content;
|
|
82
|
+
constructor(filePath) {
|
|
83
|
+
this.filePath = filePath;
|
|
84
|
+
this.parseContent();
|
|
85
|
+
}
|
|
86
|
+
parseContent() {
|
|
87
|
+
this.content = fs.getFile(this.filePath);
|
|
88
|
+
}
|
|
89
|
+
replace(search, replace) {
|
|
90
|
+
this.content = this.content.replace(search, replace);
|
|
91
|
+
return this;
|
|
92
|
+
}
|
|
93
|
+
replaceAll(search, replace) {
|
|
94
|
+
this.content = this.content.replaceAll(search, replace);
|
|
95
|
+
return this;
|
|
96
|
+
}
|
|
97
|
+
save() {
|
|
98
|
+
fs.putFile(this.filePath, this.content);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
class JsonFileManager extends FileManager {
|
|
102
|
+
parseContent() {
|
|
103
|
+
this.content = fs.getJsonFile(this.filePath);
|
|
104
|
+
}
|
|
105
|
+
save() {
|
|
106
|
+
fs.putJsonFile(this.filePath, this.content);
|
|
107
|
+
}
|
|
108
|
+
has(key) {
|
|
109
|
+
return this.content[key] !== undefined;
|
|
110
|
+
}
|
|
111
|
+
replace(key, value) {
|
|
112
|
+
this.content[key] = value;
|
|
113
|
+
return this;
|
|
114
|
+
}
|
|
115
|
+
replaceAll(key, value) {
|
|
116
|
+
const contentAsString = JSON.stringify(this.content);
|
|
117
|
+
this.content = JSON.parse(contentAsString.replaceAll(key, value));
|
|
118
|
+
return this;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function file(path) {
|
|
122
|
+
return new FileManager(path);
|
|
123
|
+
}
|
|
124
|
+
function jsonFile(path) {
|
|
125
|
+
return new JsonFileManager(path);
|
|
126
|
+
}exports.App=App;exports.FileManager=FileManager;exports.JsonFileManager=JsonFileManager;exports.file=file;exports.jsonFile=jsonFile;//# sourceMappingURL=app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sources":["../../src/helpers/app.ts"],"sourcesContent":[null],"names":["copyDirectory","template","fileExists","copyFile","renameFile","allDone","runCommand","getPackageManager","executeCommand","initializeGitRepository","path","getFile","putFile","getJsonFile","putJsonFile"],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export default function exec(command: string, options?: any): Promise<any>;
|
|
2
|
+
/**
|
|
3
|
+
* This function directly executes a command
|
|
4
|
+
*/
|
|
5
|
+
export declare function executeCommand(cmd: string, args: string[], cwd: string): Promise<boolean>;
|
|
6
|
+
export declare function runCommand(cmd: string, args: string[], cwd: string): {
|
|
7
|
+
abort: () => Promise<void>;
|
|
8
|
+
install: Promise<boolean>;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=exec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/helpers/exec.ts"],"names":[],"mappings":"AAKA,wBAA8B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,gBAWpE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,oBA0B5E;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM;;;EAwClE"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
'use strict';var prompts=require('@clack/prompts'),copper=require('@mongez/copper'),spawn=require('cross-spawn');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var spawn__default=/*#__PURE__*/_interopDefault(spawn);/**
|
|
2
|
+
* This function directly executes a command
|
|
3
|
+
*/
|
|
4
|
+
async function executeCommand(cmd, args, cwd) {
|
|
5
|
+
return new Promise(resolve => {
|
|
6
|
+
const child = spawn__default.default(cmd, args, {
|
|
7
|
+
cwd,
|
|
8
|
+
stdio: "ignore",
|
|
9
|
+
});
|
|
10
|
+
child.on("error", e => {
|
|
11
|
+
if (e) {
|
|
12
|
+
if (e.message) {
|
|
13
|
+
prompts.log.error(copper.colors.red(String(e.message)) + `\n\n`);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
prompts.log.error(copper.colors.red(String(e)) + `\n\n`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
resolve(false);
|
|
20
|
+
});
|
|
21
|
+
child.on("close", code => {
|
|
22
|
+
if (code === 0) {
|
|
23
|
+
resolve(true);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
resolve(false);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
function runCommand(cmd, args, cwd) {
|
|
32
|
+
let child;
|
|
33
|
+
const install = new Promise(resolve => {
|
|
34
|
+
try {
|
|
35
|
+
child = spawn__default.default(cmd, args, {
|
|
36
|
+
cwd,
|
|
37
|
+
stdio: "ignore",
|
|
38
|
+
});
|
|
39
|
+
child.on("error", e => {
|
|
40
|
+
if (e) {
|
|
41
|
+
if (e.message) {
|
|
42
|
+
prompts.log.error(copper.colors.red(String(e.message)) + `\n\n`);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
prompts.log.error(copper.colors.red(String(e)) + `\n\n`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
resolve(false);
|
|
49
|
+
});
|
|
50
|
+
child.on("close", code => {
|
|
51
|
+
if (code === 0) {
|
|
52
|
+
resolve(true);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
resolve(false);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
resolve(false);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
const abort = async () => {
|
|
64
|
+
if (child) {
|
|
65
|
+
child.kill("SIGINT");
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
return { abort, install };
|
|
69
|
+
}exports.executeCommand=executeCommand;exports.runCommand=runCommand;//# sourceMappingURL=exec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.js","sources":["../../src/helpers/exec.ts"],"sourcesContent":[null],"names":["spawn","log","colors"],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function getPackageManager(): any;
|
|
2
|
+
export declare function setPackageManager(packageManager: string): void;
|
|
3
|
+
export declare function installCommand(): string;
|
|
4
|
+
export declare function startCommand(): string;
|
|
5
|
+
export declare function runPackageManagerCommand(command: string): string;
|
|
6
|
+
//# sourceMappingURL=package-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../src/helpers/package-manager.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,QAQhC;AAED,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,QAEvD;AAED,wBAAgB,cAAc,WAE7B;AAED,wBAAgB,YAAY,WAI3B;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,UAMvD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';var detectPackageManager=require('which-pm-runs');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var detectPackageManager__default=/*#__PURE__*/_interopDefault(detectPackageManager);let detectedPackageManager;
|
|
2
|
+
function getPackageManager() {
|
|
3
|
+
if (detectedPackageManager) {
|
|
4
|
+
return detectedPackageManager;
|
|
5
|
+
}
|
|
6
|
+
const packageManager = detectPackageManager__default.default();
|
|
7
|
+
return packageManager.name || "npm";
|
|
8
|
+
}
|
|
9
|
+
function setPackageManager(packageManager) {
|
|
10
|
+
detectedPackageManager = packageManager;
|
|
11
|
+
}
|
|
12
|
+
function startCommand() {
|
|
13
|
+
if (getPackageManager() === "npm")
|
|
14
|
+
return "npm run dev";
|
|
15
|
+
return `${getPackageManager()} dev`;
|
|
16
|
+
}
|
|
17
|
+
function runPackageManagerCommand(command) {
|
|
18
|
+
const packageManager = getPackageManager();
|
|
19
|
+
if (packageManager === "npm")
|
|
20
|
+
return `npm run ${command}`;
|
|
21
|
+
return `${packageManager} ${command}`;
|
|
22
|
+
}exports.getPackageManager=getPackageManager;exports.runPackageManagerCommand=runPackageManagerCommand;exports.setPackageManager=setPackageManager;exports.startCommand=startCommand;//# sourceMappingURL=package-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-manager.js","sources":["../../src/helpers/package-manager.ts"],"sourcesContent":[null],"names":["detectPackageManager"],"mappings":"qNAEA,IAAI,sBAA0C,CAAC;SAE/B,iBAAiB,GAAA;AAC/B,IAAA,IAAI,sBAAsB,EAAE;AAC1B,QAAA,OAAO,sBAAsB,CAAC;AAC/B,KAAA;AAED,IAAA,MAAM,cAAc,GAAGA,qCAAoB,EAAE,CAAC;AAE9C,IAAA,OAAO,cAAc,CAAC,IAAI,IAAI,KAAK,CAAC;AACtC,CAAC;AAEK,SAAU,iBAAiB,CAAC,cAAsB,EAAA;IACtD,sBAAsB,GAAG,cAAc,CAAC;AAC1C,CAAC;SAMe,YAAY,GAAA;IAC1B,IAAI,iBAAiB,EAAE,KAAK,KAAK;AAAE,QAAA,OAAO,aAAa,CAAC;AAExD,IAAA,OAAO,CAAG,EAAA,iBAAiB,EAAE,CAAA,IAAA,CAAM,CAAC;AACtC,CAAC;AAEK,SAAU,wBAAwB,CAAC,OAAe,EAAA;AACtD,IAAA,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,IAAI,cAAc,KAAK,KAAK;QAAE,OAAO,CAAA,QAAA,EAAW,OAAO,CAAA,CAAE,CAAC;AAE1D,IAAA,OAAO,CAAG,EAAA,cAAc,CAAI,CAAA,EAAA,OAAO,EAAE,CAAC;AACxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/helpers/paths.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC;AAEjC,wBAAgB,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,MAAM,CAEvD;AAED,wBAAgB,WAAW,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAEtD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';var path=require('path');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var path__default=/*#__PURE__*/_interopDefault(path);const root = process.cwd();
|
|
2
|
+
const packageRootPath = root + "/node_modules/create-warlock";
|
|
3
|
+
console.log("Executing from", packageRootPath);
|
|
4
|
+
function template(templateName) {
|
|
5
|
+
return path__default.default.resolve(packageRootPath, "templates", templateName);
|
|
6
|
+
}
|
|
7
|
+
function packageRoot(...paths) {
|
|
8
|
+
return path__default.default.resolve(packageRootPath, ...paths);
|
|
9
|
+
}exports.packageRoot=packageRoot;exports.template=template;//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sources":["../../src/helpers/paths.ts"],"sourcesContent":[null],"names":["path"],"mappings":"4JAEA,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAE3B,MAAM,eAAe,GAAG,IAAI,GAAG,8BAA8B,CAAC;AAE9D,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAIzC,SAAU,QAAQ,CAAC,YAAsB,EAAA;IAC7C,OAAOA,qBAAI,CAAC,OAAO,CAAC,eAAe,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAClE,CAAC;AAEe,SAAA,WAAW,CAAC,GAAG,KAAe,EAAA;IAC5C,OAAOA,qBAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,KAAK,CAAC,CAAC;AACjD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Template } from "./paths";
|
|
2
|
+
export declare function initializeGitRepository(appPath: string): Promise<boolean>;
|
|
3
|
+
export declare function updateEnvFile(appPath: string, appName: string): Promise<void>;
|
|
4
|
+
export declare function copyTemplateFiles(templateName: Template, appPath: string, _appName: string): Promise<void>;
|
|
5
|
+
export declare function allDone(appName: string): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=project-builder-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-builder-helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/project-builder-helpers.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAY,MAAM,SAAS,CAAC;AAE7C,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,MAAM,oBAa5D;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAiCnE;AAED,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,QAAQ,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,iBAUjB;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,iBAe5C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';var prompts=require('@clack/prompts'),copper=require('@mongez/copper');require('@mongez/fs'),require('path');var exec=require('./exec.js'),packageManager=require('./package-manager.js');require('./paths.js');async function initializeGitRepository(appPath) {
|
|
2
|
+
// initialize git repository
|
|
3
|
+
await exec.executeCommand(`git`, ["init"], appPath);
|
|
4
|
+
// switching to `main` branch
|
|
5
|
+
await exec.executeCommand(`git`, ["checkout", "-b", "main"], appPath);
|
|
6
|
+
// add files
|
|
7
|
+
await exec.executeCommand(`git`, ["add", "."], appPath);
|
|
8
|
+
// commit files
|
|
9
|
+
await exec.executeCommand(`git`, ["commit", "-m", "Initial commit ⚡️"], appPath);
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
async function allDone(appName) {
|
|
13
|
+
prompts.outro("🌟 Awesome! Your project is ready to rock! " +
|
|
14
|
+
"Run the following command to start development:");
|
|
15
|
+
console.log(copper.colors.cyan(`cd ${appName} && ${packageManager.startCommand()}`));
|
|
16
|
+
console.log();
|
|
17
|
+
console.log(`💡 Pro tip: Install the ${copper.colors.yellow("Generator Z")} extension in VSCode for helpful code snippets and productivity boosters! 🚀`);
|
|
18
|
+
}exports.allDone=allDone;exports.initializeGitRepository=initializeGitRepository;//# sourceMappingURL=project-builder-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-builder-helpers.js","sources":["../../src/helpers/project-builder-helpers.ts"],"sourcesContent":[null],"names":["executeCommand","outro","colors","startCommand"],"mappings":"6NAeO,eAAe,uBAAuB,CAAC,OAAe,EAAA;;IAE3D,MAAMA,mBAAc,CAAC,CAAA,GAAA,CAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;;AAE/C,IAAA,MAAMA,mBAAc,CAAC,CAAK,GAAA,CAAA,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;;AAGjE,IAAA,MAAMA,mBAAc,CAAC,CAAK,GAAA,CAAA,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;;AAGnD,IAAA,MAAMA,mBAAc,CAAC,CAAK,GAAA,CAAA,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC,CAAC;AAE5E,IAAA,OAAO,IAAI,CAAC;AACd,CAAC;AAoDM,eAAe,OAAO,CAAC,OAAe,EAAA;AAC3C,IAAAC,aAAK,CACH,6CAA6C;AAC3C,QAAA,iDAAiD,CACpD,CAAC;AAEF,IAAA,OAAO,CAAC,GAAG,CAACC,aAAM,CAAC,IAAI,CAAC,CAAM,GAAA,EAAA,OAAO,OAAOC,2BAAY,EAAE,CAAE,CAAA,CAAC,CAAC,CAAC;IAE/D,OAAO,CAAC,GAAG,EAAE,CAAC;AAEd,IAAA,OAAO,CAAC,GAAG,CACT,CAAA,wBAAA,EAA2BD,aAAM,CAAC,MAAM,CACtC,aAAa,CACd,CAA8E,4EAAA,CAAA,CAChF,CAAC;AACJ"}
|
package/cjs/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,SAAS,SAIhC"}
|
package/cjs/index.js
CHANGED
|
@@ -1,19 +1,5 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
-
|
|
9
|
-
var createNewApp__default = /*#__PURE__*/_interopDefault(createNewApp);
|
|
10
|
-
|
|
11
|
-
function createApp() {
|
|
12
|
-
const packageJson = fs.getJsonFile(paths.packageRoot("package.json"));
|
|
13
|
-
const createWarlockVersion = packageJson.version;
|
|
14
|
-
createNewApp__default.default(createWarlockVersion);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
module.exports = createApp;
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
'use strict';var fs=require('@mongez/fs'),index=require('./commands/create-new-app/index.js'),paths=require('./helpers/paths.js');function createApp() {
|
|
2
|
+
const packageJson = fs.getJsonFile(paths.packageRoot("package.json"));
|
|
3
|
+
const createWarlockVersion = packageJson.version;
|
|
4
|
+
index(createWarlockVersion);
|
|
5
|
+
}module.exports=createApp;//# sourceMappingURL=index.js.map
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["getJsonFile","packageRoot","createNewApp"],"mappings":"kIAIc,SAAU,SAAS,GAAA;IAC/B,MAAM,WAAW,GAAQA,cAAW,CAACC,iBAAW,CAAC,cAAc,CAAC,CAAC,CAAC;AAClE,IAAA,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,CAAC;IACjDC,KAAY,CAAC,oBAAoB,CAAC,CAAC;AACrC"}
|
package/create-app.js
CHANGED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-app-path.d.ts","sourceRoot":"","sources":["../../../src/commands/create-new-app/get-app-path.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,OAAO,EAAE,MAAM,UAgBjD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import {colors}from'@mongez/copper';import {isDirectory}from'@mongez/fs';import*as path from'path';function getAppPath(appName) {
|
|
2
|
+
const appPath = path.resolve(process.cwd(), appName);
|
|
3
|
+
if (isDirectory(appPath)) {
|
|
4
|
+
console.log(colors.redBright(`${process.cwd()} has an existing directory \`${colors.cyan(appName)}\`, please choose another app name or another directory to run the command from.`));
|
|
5
|
+
process.exit(1);
|
|
6
|
+
}
|
|
7
|
+
return appPath;
|
|
8
|
+
}export{getAppPath as default};//# sourceMappingURL=get-app-path.js.map
|