create-warlock 1.0.0
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 +29 -0
- 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 +42 -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 +8 -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 +18 -0
- package/cjs/commands/create-warlock-app/index.js.map +1 -0
- package/cjs/commands/vite-react/headless-ui/index.d.ts +3 -0
- package/cjs/commands/vite-react/headless-ui/index.d.ts.map +1 -0
- package/cjs/commands/vite-react/headless-ui/types.d.ts +4 -0
- package/cjs/commands/vite-react/headless-ui/types.d.ts.map +1 -0
- package/cjs/commands/vite-react/index.d.ts +3 -0
- package/cjs/commands/vite-react/index.d.ts.map +1 -0
- package/cjs/commands/vite-react/mantine/index.d.ts +3 -0
- package/cjs/commands/vite-react/mantine/index.d.ts.map +1 -0
- package/cjs/commands/vite-react/mantine/types.d.ts +4 -0
- package/cjs/commands/vite-react/mantine/types.d.ts.map +1 -0
- package/cjs/commands/vite-react/select-react-app.d.ts +4 -0
- package/cjs/commands/vite-react/select-react-app.d.ts.map +1 -0
- package/cjs/commands/vite-react/selectAppConfigurations.d.ts +3 -0
- package/cjs/commands/vite-react/selectAppConfigurations.d.ts.map +1 -0
- package/cjs/commands/vite-react/tailwind-css/index.d.ts +3 -0
- package/cjs/commands/vite-react/tailwind-css/index.d.ts.map +1 -0
- package/cjs/commands/vite-react/tailwind-css/types.d.ts +4 -0
- package/cjs/commands/vite-react/tailwind-css/types.d.ts.map +1 -0
- package/cjs/commands/vite-react/types.d.ts +4 -0
- package/cjs/commands/vite-react/types.d.ts.map +1 -0
- package/cjs/helpers/app.d.ts +51 -0
- package/cjs/helpers/app.d.ts.map +1 -0
- package/cjs/helpers/app.js +127 -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 +5 -0
- package/cjs/helpers/package-manager.d.ts.map +1 -0
- package/cjs/helpers/package-manager.js +16 -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 +5 -0
- package/cjs/helpers/paths.js.map +1 -0
- package/cjs/helpers/project-builder-helpers.d.ts +7 -0
- package/cjs/helpers/project-builder-helpers.d.ts.map +1 -0
- package/cjs/helpers/project-builder-helpers.js +44 -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 +7 -0
- package/cjs/index.js.map +1 -0
- package/create-app.js +5 -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 +42 -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 +8 -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 +18 -0
- package/esm/commands/create-warlock-app/index.js.map +1 -0
- package/esm/commands/vite-react/headless-ui/index.d.ts +3 -0
- package/esm/commands/vite-react/headless-ui/index.d.ts.map +1 -0
- package/esm/commands/vite-react/headless-ui/types.d.ts +4 -0
- package/esm/commands/vite-react/headless-ui/types.d.ts.map +1 -0
- package/esm/commands/vite-react/index.d.ts +3 -0
- package/esm/commands/vite-react/index.d.ts.map +1 -0
- package/esm/commands/vite-react/mantine/index.d.ts +3 -0
- package/esm/commands/vite-react/mantine/index.d.ts.map +1 -0
- package/esm/commands/vite-react/mantine/types.d.ts +4 -0
- package/esm/commands/vite-react/mantine/types.d.ts.map +1 -0
- package/esm/commands/vite-react/select-react-app.d.ts +4 -0
- package/esm/commands/vite-react/select-react-app.d.ts.map +1 -0
- package/esm/commands/vite-react/selectAppConfigurations.d.ts +3 -0
- package/esm/commands/vite-react/selectAppConfigurations.d.ts.map +1 -0
- package/esm/commands/vite-react/tailwind-css/index.d.ts +3 -0
- package/esm/commands/vite-react/tailwind-css/index.d.ts.map +1 -0
- package/esm/commands/vite-react/tailwind-css/types.d.ts +4 -0
- package/esm/commands/vite-react/tailwind-css/types.d.ts.map +1 -0
- package/esm/commands/vite-react/types.d.ts +4 -0
- package/esm/commands/vite-react/types.d.ts.map +1 -0
- package/esm/helpers/app.d.ts +51 -0
- package/esm/helpers/app.d.ts.map +1 -0
- package/esm/helpers/app.js +127 -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 +5 -0
- package/esm/helpers/package-manager.d.ts.map +1 -0
- package/esm/helpers/package-manager.js +16 -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 +5 -0
- package/esm/helpers/paths.js.map +1 -0
- package/esm/helpers/project-builder-helpers.d.ts +7 -0
- package/esm/helpers/project-builder-helpers.d.ts.map +1 -0
- package/esm/helpers/project-builder-helpers.js +44 -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 +7 -0
- package/esm/index.js.map +1 -0
- package/package.json +44 -0
- package/templates/warlock/.env.example +35 -0
- package/templates/warlock/.eslintrc.json +44 -0
- package/templates/warlock/.gitattributes +1 -0
- package/templates/warlock/.prettierrc.json +11 -0
- package/templates/warlock/README.md +57 -0
- package/templates/warlock/_.gitignore +7 -0
- package/templates/warlock/package.json +60 -0
- package/templates/warlock/src/app/main.ts +12 -0
- package/templates/warlock/src/app/uploads/routes.ts +27 -0
- package/templates/warlock/src/app/users/controllers/auth/activate-account.ts +48 -0
- package/templates/warlock/src/app/users/controllers/auth/admin-login.ts +40 -0
- package/templates/warlock/src/app/users/controllers/auth/create-account.ts +23 -0
- package/templates/warlock/src/app/users/controllers/auth/forget-password.ts +39 -0
- package/templates/warlock/src/app/users/controllers/auth/login.ts +49 -0
- package/templates/warlock/src/app/users/controllers/auth/logout.ts +10 -0
- package/templates/warlock/src/app/users/controllers/auth/resend-activation-code.ts +45 -0
- package/templates/warlock/src/app/users/controllers/auth/reset-password.ts +43 -0
- package/templates/warlock/src/app/users/controllers/auth/verify-forget-password-code.ts +18 -0
- package/templates/warlock/src/app/users/controllers/profile/change-password.ts +31 -0
- package/templates/warlock/src/app/users/controllers/profile/my-profile.ts +10 -0
- package/templates/warlock/src/app/users/controllers/profile/update-profile.ts +25 -0
- package/templates/warlock/src/app/users/controllers/restful-users.ts +27 -0
- package/templates/warlock/src/app/users/events/attach-user-to-response.ts +18 -0
- package/templates/warlock/src/app/users/events/register-current-user-to-model-authors.ts +28 -0
- package/templates/warlock/src/app/users/events/update-authors.ts +19 -0
- package/templates/warlock/src/app/users/mail/send-forget-password-email.ts +20 -0
- package/templates/warlock/src/app/users/models/user/index.ts +1 -0
- package/templates/warlock/src/app/users/models/user/migration.ts +15 -0
- package/templates/warlock/src/app/users/models/user/user.ts +54 -0
- package/templates/warlock/src/app/users/output/user-output.ts +12 -0
- package/templates/warlock/src/app/users/repositories/users-repository.ts +28 -0
- package/templates/warlock/src/app/users/routes.ts +58 -0
- package/templates/warlock/src/app/users/utils/locales.ts +16 -0
- package/templates/warlock/src/app/utils/output.ts +18 -0
- package/templates/warlock/src/app/utils/router.ts +104 -0
- package/templates/warlock/src/config/app.ts +12 -0
- package/templates/warlock/src/config/auth.ts +16 -0
- package/templates/warlock/src/config/cache.ts +33 -0
- package/templates/warlock/src/config/database.ts +14 -0
- package/templates/warlock/src/config/http.ts +22 -0
- package/templates/warlock/src/config/log.ts +19 -0
- package/templates/warlock/src/config/mail.ts +16 -0
- package/templates/warlock/src/config/uploads.ts +12 -0
- package/templates/warlock/src/config/validation.ts +76 -0
- package/templates/warlock/tsconfig.json +30 -0
- package/templates/warlock/warlock.config.ts +9 -0
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
if ((await prompts.confirm({
|
|
3
|
+
message: "Do you want to initialize a git repository?",
|
|
4
|
+
initialValue: true,
|
|
5
|
+
})) === false)
|
|
6
|
+
return false;
|
|
7
|
+
const loading = prompts.spinner();
|
|
8
|
+
loading.start("📂 Initializing git repository 🚀");
|
|
9
|
+
// initialize git repository
|
|
10
|
+
await exec.executeCommand(`git`, ["init"], appPath);
|
|
11
|
+
// switching to `main` branch
|
|
12
|
+
await exec.executeCommand(`git`, ["checkout", "-b", "main"], appPath);
|
|
13
|
+
// add files
|
|
14
|
+
await exec.executeCommand(`git`, ["add", "."], appPath);
|
|
15
|
+
// commit files
|
|
16
|
+
await exec.executeCommand(`git`, ["commit", "-m", "Initial commit ⚡️"], appPath);
|
|
17
|
+
loading.stop("📂 Git initialized 🔗");
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
async function installDependencies(appPath) {
|
|
21
|
+
const result = await exec.runCommand(packageManager.getPackageManager(), ["install"], appPath);
|
|
22
|
+
const confirmed = await prompts.confirm({
|
|
23
|
+
message: "Do you want to install the project dependencies?",
|
|
24
|
+
initialValue: true,
|
|
25
|
+
});
|
|
26
|
+
if (confirmed === false) {
|
|
27
|
+
result.abort();
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
const loading = prompts.spinner();
|
|
31
|
+
loading.start("📦 Installing dependencies ⏳");
|
|
32
|
+
await result.install;
|
|
33
|
+
loading.stop("📦 Dependencies installed successfully ✅");
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
async function allDone(appName) {
|
|
37
|
+
prompts.outro("🌟 " +
|
|
38
|
+
copper.colors.bgGreenBright("DONE") +
|
|
39
|
+
" now you're ready to go! Type the following or copy/paste it into your terminal to get started 🚀 ✅");
|
|
40
|
+
console.log(copper.colors.cyan(`cd ${appName} && ${packageManager.startCommand()}`));
|
|
41
|
+
// make an empty line
|
|
42
|
+
console.log();
|
|
43
|
+
console.log(`If you are using VSCode, it's recommended to install the 🛠️ ${copper.colors.yellow(`Generator Z`)} extension. It generates code snippets for you! 🚀`);
|
|
44
|
+
}exports.allDone=allDone;exports.initializeGitRepository=initializeGitRepository;exports.installDependencies=installDependencies;//# 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":["confirm","spinner","executeCommand","runCommand","getPackageManager","outro","colors","startCommand"],"mappings":"6NAeO,eAAe,uBAAuB,CAAC,OAAe,EAAA;IAC3D,IACE,CAAC,MAAMA,eAAO,CAAC;AACb,QAAA,OAAO,EAAE,6CAA6C;AACtD,QAAA,YAAY,EAAE,IAAI;KACnB,CAAC,MAAM,KAAK;AAEb,QAAA,OAAO,KAAK,CAAC;AAEf,IAAA,MAAM,OAAO,GAAGC,eAAO,EAAE,CAAC;AAE1B,IAAA,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;;IAGnD,MAAMC,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,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAEtC,IAAA,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,eAAe,mBAAmB,CAAC,OAAe,EAAA;AACvD,IAAA,MAAM,MAAM,GAAG,MAAMC,eAAU,CAACC,gCAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;AAE3E,IAAA,MAAM,SAAS,GAAG,MAAMJ,eAAO,CAAC;AAC9B,QAAA,OAAO,EAAE,kDAAkD;AAC3D,QAAA,YAAY,EAAE,IAAI;AACnB,KAAA,CAAC,CAAC;IAEH,IAAI,SAAS,KAAK,KAAK,EAAE;QACvB,MAAM,CAAC,KAAK,EAAE,CAAC;AAEf,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AAED,IAAA,MAAM,OAAO,GAAGC,eAAO,EAAE,CAAC;AAE1B,IAAA,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAE9C,MAAM,MAAM,CAAC,OAAO,CAAC;AAErB,IAAA,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;AAEzD,IAAA,OAAO,IAAI,CAAC;AACd,CAAC;AAoDM,eAAe,OAAO,CAAC,OAAe,EAAA;AAC3C,IAAAI,aAAK,CACH,KAAK;AACH,QAAAC,aAAM,CAAC,aAAa,CAAC,MAAM,CAAC;AAC5B,QAAA,qGAAqG,CACxG,CAAC;AAEF,IAAA,OAAO,CAAC,GAAG,CAACA,aAAM,CAAC,IAAI,CAAC,CAAM,GAAA,EAAA,OAAO,OAAOC,2BAAY,EAAE,CAAE,CAAA,CAAC,CAAC,CAAC;;IAG/D,OAAO,CAAC,GAAG,EAAE,CAAC;AAEd,IAAA,OAAO,CAAC,GAAG,CACT,CAAA,6DAAA,EAAgED,aAAM,CAAC,MAAM,CAC3E,CAAa,WAAA,CAAA,CACd,CAAoD,kDAAA,CAAA,CACtD,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":"AAUA,MAAM,CAAC,OAAO,UAAU,SAAS,SAQhC"}
|
package/cjs/index.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use strict';var fs=require('@mongez/fs'),commander=require('commander'),path=require('path'),url=require('url'),index=require('./commands/create-new-app/index.js');var_documentCurrentScript=typeofdocument!=='undefined'?document.currentScript:null;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);const __filename$1 = url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new URL('index.js', document.baseURI).href)));
|
|
2
|
+
const __dirname$1 = path__namespace.dirname(__filename$1);
|
|
3
|
+
function createApp() {
|
|
4
|
+
const packageJson = fs.getJsonFile(path__namespace.resolve(__dirname$1, "../", "package.json"));
|
|
5
|
+
commander.program.version(packageJson["version"]);
|
|
6
|
+
index();
|
|
7
|
+
}module.exports=createApp;//# sourceMappingURL=index.js.map
|
package/cjs/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["__filename","fileURLToPath","__dirname","path","getJsonFile","program","createNewApp"],"mappings":"omBAMA,MAAMA,YAAU,GAAGC,iBAAa,CAAC,6LAAe,CAAC,CAAC;AAElD,MAAMC,WAAS,GAAGC,eAAI,CAAC,OAAO,CAACH,YAAU,CAAC,CAAC;AAE7B,SAAU,SAAS,GAAA;AAC/B,IAAA,MAAM,WAAW,GAAQI,cAAW,CAClCD,eAAI,CAAC,OAAO,CAACD,WAAS,EAAE,KAAK,EAAE,cAAc,CAAC,CAC/C,CAAC;IAEFG,iBAAO,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AAExC,IAAAC,KAAY,EAAE,CAAC;AACjB"}
|
package/create-app.js
ADDED
|
@@ -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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-app-path.js","sources":["../../../src/commands/create-new-app/get-app-path.ts"],"sourcesContent":[null],"names":[],"mappings":"mGAIwB,SAAA,UAAU,CAAC,OAAe,EAAA;AAChD,IAAA,MAAM,OAAO,GAAW,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;AAE7D,IAAA,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;QACxB,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,SAAS,CACd,CAAG,EAAA,OAAO,CAAC,GAAG,EAAE,CAAgC,6BAAA,EAAA,MAAM,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":"AAkBA,wBAA8B,YAAY,kBA0CzC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import {intro,text,select,isCancel,cancel}from'@clack/prompts';import {colors}from'@mongez/copper';import {App}from'../../helpers/app.js';import {getPackageManager,setPackageManager}from'../../helpers/package-manager.js';import {createWarlockApp}from'../create-warlock-app/index.js';import getAppPath from'./get-app-path.js';const appDetails = {
|
|
2
|
+
appName: "",
|
|
3
|
+
appType: "",
|
|
4
|
+
appPath: "",
|
|
5
|
+
options: {},
|
|
6
|
+
};
|
|
7
|
+
async function createNewApp() {
|
|
8
|
+
intro(`✨ Let's create a new ${colors.yellowBright("Warlock Js App")} ✨`);
|
|
9
|
+
const appName = await text({
|
|
10
|
+
message: "Enter the app name",
|
|
11
|
+
placeholder: "warlock-app",
|
|
12
|
+
});
|
|
13
|
+
const packageManager = await select({
|
|
14
|
+
message: "Select package manager to use 📦 ",
|
|
15
|
+
initialValue: getPackageManager(),
|
|
16
|
+
options: [
|
|
17
|
+
{
|
|
18
|
+
label: "Npm",
|
|
19
|
+
value: "npm",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
label: "Yarn",
|
|
23
|
+
value: "yarn",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
label: "Pnpm",
|
|
27
|
+
value: "pnpm",
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
});
|
|
31
|
+
setPackageManager(packageManager);
|
|
32
|
+
if (isCancel(appName)) {
|
|
33
|
+
cancel("Application name is required to create a new app");
|
|
34
|
+
process.exit(0);
|
|
35
|
+
}
|
|
36
|
+
appDetails.appName = appName;
|
|
37
|
+
appDetails.appPath = getAppPath(appName);
|
|
38
|
+
if (!appDetails.appPath)
|
|
39
|
+
return;
|
|
40
|
+
appDetails.appType = "warlock";
|
|
41
|
+
createWarlockApp(new App(appDetails));
|
|
42
|
+
}export{createNewApp as default};//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/commands/create-new-app/index.ts"],"sourcesContent":[null],"names":[],"mappings":"qUAWA,MAAM,UAAU,GAAsB;AACpC,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,OAAO,EAAE,EAAE;CACZ,CAAC;AAEa,eAAe,YAAY,GAAA;IACxC,KAAK,CAAC,CAAwB,qBAAA,EAAA,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAI,EAAA,CAAA,CAAC,CAAC;AAEzE,IAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC;AACzB,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,WAAW,EAAE,aAAa;AAC3B,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC;AAClC,QAAA,OAAO,EAAE,mCAAmC;QAC5C,YAAY,EAAE,iBAAiB,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;IAEH,iBAAiB,CAAC,cAAc,CAAC,CAAC;AAElC,IAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE;QACrB,MAAM,CAAC,kDAAkD,CAAC,CAAC;AAC3D,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,KAAA;AAED,IAAA,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;AAC7B,IAAA,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAEzC,IAAI,CAAC,UAAU,CAAC,OAAO;QAAE,OAAO;AAEhC,IAAA,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;AAE/B,IAAA,gBAAgB,CAAC,IAAI,GAAG,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;CACf,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":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,GAAG,iBA4BtD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {spinner}from'@clack/prompts';async function createWarlockApp(application) {
|
|
2
|
+
application.init().use("warlock").updatePackageJson().updateDotEnv();
|
|
3
|
+
await application.install();
|
|
4
|
+
const gitInstalled = await application.git();
|
|
5
|
+
if (gitInstalled) {
|
|
6
|
+
const loading = spinner();
|
|
7
|
+
loading.start("📂 Preparing Huskier 🚀");
|
|
8
|
+
await application.exec("npx huskier-init");
|
|
9
|
+
loading.stop("📂 Huskier initialized 🔗");
|
|
10
|
+
}
|
|
11
|
+
if (application.isInstalled) {
|
|
12
|
+
const loading = spinner();
|
|
13
|
+
loading.start("🔑 Generating JWT Secret");
|
|
14
|
+
await application.exec("npx jwt");
|
|
15
|
+
loading.stop("🔑 JWT Secret generated 🔒");
|
|
16
|
+
}
|
|
17
|
+
application.terminate();
|
|
18
|
+
}export{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":[],"mappings":"qCAGO,eAAe,gBAAgB,CAAC,WAAgB,EAAA;AACrD,IAAA,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC;AAErE,IAAA,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;AAE5B,IAAA,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC;AAE7C,IAAA,IAAI,YAAY,EAAE;AAChB,QAAA,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;AAE1B,QAAA,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAEzC,QAAA,MAAM,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAE3C,QAAA,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;AAC3C,KAAA;IAED,IAAI,WAAW,CAAC,WAAW,EAAE;AAC3B,QAAA,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;AAE1B,QAAA,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAE1C,QAAA,MAAM,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAElC,QAAA,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;AAC5C,KAAA;IAED,WAAW,CAAC,SAAS,EAAE,CAAC;AAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/vite-react/headless-ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAUzD,wBAAsB,wBAAwB,CAAC,EAC7C,OAAO,EACP,OAAO,GACR,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,SAAS,CAAC,iBAQ1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/commands/vite-react/headless-ui/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,KAAK,CAAC;CAChD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/vite-react/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAQtD,wBAA8B,cAAc,CAAC,EAC3C,OAAO,EACP,OAAO,GACR,EAAE,QAAQ,CAAC,WAAW,CAAC,iBAUvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/vite-react/mantine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAazD,wBAAsB,8BAA8B,CAAC,EACnD,OAAO,EACP,OAAO,GACR,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,SAAS,CAAC,iBAO1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/commands/vite-react/mantine/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,KAAK,CAAC;CAChD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-react-app.d.ts","sourceRoot":"","sources":["../../../src/commands/vite-react/select-react-app.ts"],"names":[],"mappings":"AAEA,wBAA8B,kBAAkB,IAAI,OAAO,CAAC;IAC1D,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3B,CAAC,CA0BD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectAppConfigurations.d.ts","sourceRoot":"","sources":["../../../src/commands/vite-react/selectAppConfigurations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,wBAA8B,uBAAuB,IAAI,OAAO,CAAC,aAAa,CAAC,CA0B9E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/vite-react/tailwind-css/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,wBAAsB,sBAAsB,CAAC,EAC3C,OAAO,EACP,OAAO,GACR,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,SAAS,CAAC,iBAQ1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/commands/vite-react/tailwind-css/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,KAAK,CAAC;CAChD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/vite-react/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,KAAK,CAAC;CAChD,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
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(): Promise<this>;
|
|
15
|
+
exec(command: string): Promise<boolean>;
|
|
16
|
+
git(): Promise<boolean>;
|
|
17
|
+
updatePackageJson(): this;
|
|
18
|
+
/**
|
|
19
|
+
* Get package json file
|
|
20
|
+
*/
|
|
21
|
+
get package(): FileManager;
|
|
22
|
+
updateDotEnv(): this;
|
|
23
|
+
/**
|
|
24
|
+
* Get env file to update
|
|
25
|
+
*/
|
|
26
|
+
get env(): FileManager;
|
|
27
|
+
get name(): string;
|
|
28
|
+
get path(): string;
|
|
29
|
+
file(relativePath: string): FileManager;
|
|
30
|
+
json(relativePath: string): FileManager;
|
|
31
|
+
}
|
|
32
|
+
export declare function app(app: Application): App;
|
|
33
|
+
export declare class FileManager {
|
|
34
|
+
protected filePath: any;
|
|
35
|
+
content: string;
|
|
36
|
+
constructor(filePath: any);
|
|
37
|
+
protected parseContent(): void;
|
|
38
|
+
replace(search: string, replace: string): this;
|
|
39
|
+
replaceAll(search: string, replace: string): this;
|
|
40
|
+
save(): void;
|
|
41
|
+
}
|
|
42
|
+
export declare class JsonFileManager extends FileManager {
|
|
43
|
+
protected parseContent(): void;
|
|
44
|
+
save(): void;
|
|
45
|
+
has(key: string): boolean;
|
|
46
|
+
replace(key: string, value: any): this;
|
|
47
|
+
replaceAll(key: string, value: any): this;
|
|
48
|
+
}
|
|
49
|
+
export declare function file(path: string): FileManager;
|
|
50
|
+
export declare function jsonFile(path: string): JsonFileManager;
|
|
51
|
+
//# sourceMappingURL=app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/helpers/app.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAY,MAAM,mBAAmB,CAAC;AAQvD,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;IAIH,OAAO;IAMP,IAAI,CAAC,OAAO,EAAE,MAAM;IAMpB,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,127 @@
|
|
|
1
|
+
import {copyDirectory,fileExists,renameFile,getFile,putFile,getJsonFile,putJsonFile}from'@mongez/fs';import path__default from'path';import {executeCommand}from'./exec.js';import {template}from'./paths.js';import {allDone,installDependencies,initializeGitRepository}from'./project-builder-helpers.js';import {getPackageManager}from'./package-manager.js';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
|
+
copyDirectory(template(templateName), this.path);
|
|
13
|
+
if (fileExists(this.path + "/.env.example")) {
|
|
14
|
+
renameFile(this.path + "/.env.example", this.path + "/.env");
|
|
15
|
+
}
|
|
16
|
+
renameFile(this.path + "/_.gitignore", this.path + "/.gitignore");
|
|
17
|
+
return this;
|
|
18
|
+
}
|
|
19
|
+
init() {
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
22
|
+
terminate() {
|
|
23
|
+
allDone(this.name);
|
|
24
|
+
}
|
|
25
|
+
async install() {
|
|
26
|
+
this.isInstalled = await installDependencies(this.path);
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
async exec(command) {
|
|
30
|
+
const [commandName, ...optionsList] = command.split(" ");
|
|
31
|
+
return await executeCommand(commandName, optionsList, this.path);
|
|
32
|
+
}
|
|
33
|
+
async git() {
|
|
34
|
+
return await initializeGitRepository(this.path);
|
|
35
|
+
}
|
|
36
|
+
updatePackageJson() {
|
|
37
|
+
this.package
|
|
38
|
+
.replace("name", this.name.replaceAll("/", "-"))
|
|
39
|
+
.replaceAll("yarn", getPackageManager())
|
|
40
|
+
.save();
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get package json file
|
|
45
|
+
*/
|
|
46
|
+
get package() {
|
|
47
|
+
return this.json("package.json");
|
|
48
|
+
}
|
|
49
|
+
updateDotEnv() {
|
|
50
|
+
this.file(".env").replace("appName", this.name).save();
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Get env file to update
|
|
55
|
+
*/
|
|
56
|
+
get env() {
|
|
57
|
+
return this.file(".env");
|
|
58
|
+
}
|
|
59
|
+
get name() {
|
|
60
|
+
return this.app.appName;
|
|
61
|
+
}
|
|
62
|
+
get path() {
|
|
63
|
+
return this.app.appPath;
|
|
64
|
+
}
|
|
65
|
+
file(relativePath) {
|
|
66
|
+
const fullPath = path__default.resolve(this.path, relativePath);
|
|
67
|
+
if (!this.files[fullPath]) {
|
|
68
|
+
this.files[fullPath] = file(fullPath);
|
|
69
|
+
}
|
|
70
|
+
return this.files[fullPath];
|
|
71
|
+
}
|
|
72
|
+
json(relativePath) {
|
|
73
|
+
const fullPath = path__default.resolve(this.path, relativePath);
|
|
74
|
+
if (!this.files[fullPath]) {
|
|
75
|
+
this.files[fullPath] = jsonFile(fullPath);
|
|
76
|
+
}
|
|
77
|
+
return this.files[fullPath];
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
class FileManager {
|
|
81
|
+
filePath;
|
|
82
|
+
content;
|
|
83
|
+
constructor(filePath) {
|
|
84
|
+
this.filePath = filePath;
|
|
85
|
+
this.parseContent();
|
|
86
|
+
}
|
|
87
|
+
parseContent() {
|
|
88
|
+
this.content = getFile(this.filePath);
|
|
89
|
+
}
|
|
90
|
+
replace(search, replace) {
|
|
91
|
+
this.content = this.content.replace(search, replace);
|
|
92
|
+
return this;
|
|
93
|
+
}
|
|
94
|
+
replaceAll(search, replace) {
|
|
95
|
+
this.content = this.content.replaceAll(search, replace);
|
|
96
|
+
return this;
|
|
97
|
+
}
|
|
98
|
+
save() {
|
|
99
|
+
putFile(this.filePath, this.content);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
class JsonFileManager extends FileManager {
|
|
103
|
+
parseContent() {
|
|
104
|
+
this.content = getJsonFile(this.filePath);
|
|
105
|
+
}
|
|
106
|
+
save() {
|
|
107
|
+
putJsonFile(this.filePath, this.content);
|
|
108
|
+
}
|
|
109
|
+
has(key) {
|
|
110
|
+
return this.content[key] !== undefined;
|
|
111
|
+
}
|
|
112
|
+
replace(key, value) {
|
|
113
|
+
this.content[key] = value;
|
|
114
|
+
return this;
|
|
115
|
+
}
|
|
116
|
+
replaceAll(key, value) {
|
|
117
|
+
const contentAsString = JSON.stringify(this.content);
|
|
118
|
+
this.content = JSON.parse(contentAsString.replaceAll(key, value));
|
|
119
|
+
return this;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
function file(path) {
|
|
123
|
+
return new FileManager(path);
|
|
124
|
+
}
|
|
125
|
+
function jsonFile(path) {
|
|
126
|
+
return new JsonFileManager(path);
|
|
127
|
+
}export{App,FileManager,JsonFileManager,file,jsonFile};//# sourceMappingURL=app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sources":["../../src/helpers/app.ts"],"sourcesContent":[null],"names":["path"],"mappings":"wWAoBa,GAAG,CAAA;AAQe,IAAA,GAAA,CAAA;AAP7B;;AAEG;IACO,KAAK,GAAgC,EAAE,CAAC;IAE3C,WAAW,GAAG,KAAK,CAAC;AAE3B,IAAA,WAAA,CAA6B,GAAgB,EAAA;QAAhB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAa;KAAI;AAE1C,IAAA,GAAG,CAAC,YAAsB,EAAA;QAC/B,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,EAAE;AAC3C,YAAA,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,eAAe,EAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;AAC9D,SAAA;AAED,QAAA,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,cAAc,EAAE,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,CAAC;AAElE,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,IAAI,GAAA;AACT,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,SAAS,GAAA;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpB;AAEM,IAAA,MAAM,OAAO,GAAA;QAClB,IAAI,CAAC,WAAW,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAExD,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,MAAM,IAAI,CAAC,OAAe,EAAA;AAC/B,QAAA,MAAM,CAAC,WAAW,EAAE,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEzD,OAAO,MAAM,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KAClE;AAEM,IAAA,MAAM,GAAG,GAAA;AACd,QAAA,OAAO,MAAM,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjD;IAEM,iBAAiB,GAAA;AACtB,QAAA,IAAI,CAAC,OAAO;AACT,aAAA,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC/C,aAAA,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC;AACvC,aAAA,IAAI,EAAE,CAAC;AAEV,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACH,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAClC;IAEM,YAAY,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAEvD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACH,IAAA,IAAW,GAAG,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC1B;AAED,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;KACzB;AAED,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;KACzB;AAEM,IAAA,IAAI,CAAC,YAAoB,EAAA;AAC9B,QAAA,MAAM,QAAQ,GAAGA,aAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAEvD,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvC,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KAC7B;AAEM,IAAA,IAAI,CAAC,YAAoB,EAAA;AAC9B,QAAA,MAAM,QAAQ,GAAGA,aAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAEvD,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC3C,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KAC7B;AACF,CAAA;MAMY,WAAW,CAAA;AAEO,IAAA,QAAA,CAAA;AADtB,IAAA,OAAO,CAAU;AACxB,IAAA,WAAA,CAA6B,QAAQ,EAAA;QAAR,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAA;QACnC,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;IAES,YAAY,GAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAW,CAAC;KACjD;IAEM,OAAO,CAAC,MAAc,EAAE,OAAe,EAAA;AAC5C,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAErD,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,UAAU,CAAC,MAAc,EAAE,OAAe,EAAA;AAC/C,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAExD,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,IAAI,GAAA;QACT,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KACtC;AACF,CAAA;AAEK,MAAO,eAAgB,SAAQ,WAAW,CAAA;IACpC,YAAY,GAAA;QACpB,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC3C;IAEM,IAAI,GAAA;QACT,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAC1C;AAEM,IAAA,GAAG,CAAC,GAAW,EAAA;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;KACxC;IAEM,OAAO,CAAC,GAAW,EAAE,KAAU,EAAA;AACpC,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE1B,QAAA,OAAO,IAAI,CAAC;KACb;IAEM,UAAU,CAAC,GAAW,EAAE,KAAU,EAAA;QACvC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAErD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAElE,QAAA,OAAO,IAAI,CAAC;KACb;AACF,CAAA;AAEK,SAAU,IAAI,CAAC,IAAY,EAAA;AAC/B,IAAA,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAEK,SAAU,QAAQ,CAAC,IAAY,EAAA;AACnC,IAAA,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AACnC"}
|
|
@@ -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
|
+
import {log}from'@clack/prompts';import {colors}from'@mongez/copper';import spawn from'cross-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(cmd, args, {
|
|
7
|
+
cwd,
|
|
8
|
+
stdio: "ignore",
|
|
9
|
+
});
|
|
10
|
+
child.on("error", e => {
|
|
11
|
+
if (e) {
|
|
12
|
+
if (e.message) {
|
|
13
|
+
log.error(colors.red(String(e.message)) + `\n\n`);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
log.error(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(cmd, args, {
|
|
36
|
+
cwd,
|
|
37
|
+
stdio: "ignore",
|
|
38
|
+
});
|
|
39
|
+
child.on("error", e => {
|
|
40
|
+
if (e) {
|
|
41
|
+
if (e.message) {
|
|
42
|
+
log.error(colors.red(String(e.message)) + `\n\n`);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
log.error(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
|
+
}export{executeCommand,runCommand};//# sourceMappingURL=exec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.js","sources":["../../src/helpers/exec.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
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
|
+
//# 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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import detectPackageManager from'which-pm-runs';let detectedPackageManager;
|
|
2
|
+
function getPackageManager() {
|
|
3
|
+
if (detectedPackageManager) {
|
|
4
|
+
return detectedPackageManager;
|
|
5
|
+
}
|
|
6
|
+
const packageManager = detectPackageManager();
|
|
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 start";
|
|
15
|
+
return `${getPackageManager()} start`;
|
|
16
|
+
}export{getPackageManager,setPackageManager,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":[],"mappings":"gDAEA,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,GAAG,oBAAoB,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,eAAe,CAAC;AAE1D,IAAA,OAAO,CAAG,EAAA,iBAAiB,EAAE,CAAA,MAAA,CAAQ,CAAC;AACxC"}
|