create-alepha 0.13.5 → 0.13.7
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.
|
@@ -53,12 +53,12 @@ var CreateAlephaCoreCommands = class {
|
|
|
53
53
|
} catch {}
|
|
54
54
|
const pm = this.detectPackageManager();
|
|
55
55
|
await mkdir(dest, { recursive: true }).catch(() => null);
|
|
56
|
-
await run$1("
|
|
57
|
-
await run$1(`cd ${name} && ${pm} install`, { alias: "
|
|
58
|
-
await run$1(`cd ${name} && ${pm} run lint`, { alias: "
|
|
59
|
-
await run$1(`cd ${name} && ${pm} run typecheck`, { alias: "
|
|
60
|
-
await run$1(`cd ${name} && ${pm} run test`, { alias: "
|
|
61
|
-
await run$1(`cd ${name} && ${pm} run build`, { alias: "
|
|
56
|
+
await run$1("downloading sample project", () => this.downloadSampleProject(dest));
|
|
57
|
+
await run$1(`cd ${name} && ${pm} install`, { alias: "installing dependencies" });
|
|
58
|
+
await run$1(`cd ${name} && ${pm} run lint`, { alias: "linting code" });
|
|
59
|
+
await run$1(`cd ${name} && ${pm} run typecheck`, { alias: "type checking" });
|
|
60
|
+
await run$1(`cd ${name} && ${pm} run test`, { alias: "running tests" });
|
|
61
|
+
await run$1(`cd ${name} && ${pm} run build`, { alias: "building project" });
|
|
62
62
|
}
|
|
63
63
|
});
|
|
64
64
|
};
|
|
@@ -80,4 +80,4 @@ alepha.with(CreateAlephaCoreCommands);
|
|
|
80
80
|
run(alepha);
|
|
81
81
|
|
|
82
82
|
//#endregion
|
|
83
|
-
|
|
83
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["run"],"sources":["../src/CreateAlephaCoreCommands.ts","../src/version.ts","../src/index.ts"],"sourcesContent":["import { access, mkdir } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { Readable } from \"node:stream\";\nimport { pipeline } from \"node:stream/promises\";\nimport { $inject, AlephaError, t } from \"alepha\";\nimport { $command, CliProvider } from \"alepha/command\";\nimport { $logger } from \"alepha/logger\";\nimport * as tar from \"tar\";\n\nexport class CreateAlephaCoreCommands {\n protected readonly log = $logger();\n protected readonly cli = $inject(CliProvider);\n\n protected detectPackageManager(): \"npm\" | \"yarn\" | \"pnpm\" | \"bun\" {\n const ua = process.env.npm_config_user_agent || \"\";\n if (ua.startsWith(\"yarn\")) return \"yarn\";\n if (ua.startsWith(\"pnpm\")) return \"pnpm\";\n if (ua.startsWith(\"bun\")) return \"bun\";\n return \"npm\";\n }\n\n /**\n * Download Alepha starter project from GitHub.\n */\n public async downloadSampleProject(targetDir: string): Promise<void> {\n const url = \"https://api.github.com/repos/feunard/alepha/tarball/main\";\n const response = await fetch(url, {\n headers: {\n \"User-Agent\": \"Alepha-CLI\",\n },\n });\n\n if (!response.ok) {\n throw new AlephaError(`Failed to download: ${response.statusText}`);\n }\n\n const tarStream = Readable.fromWeb(response.body as any);\n await pipeline(\n tarStream,\n tar.extract({\n cwd: targetDir,\n strip: 3, // Remove feunard-alepha-<hash>/apps/starter prefix\n filter: (path) => {\n const parts = path.split(\"/\");\n return (\n parts.length >= 3 && parts[1] === \"apps\" && parts[2] === \"starter\"\n );\n },\n }),\n );\n }\n\n /**\n * Called when no command is provided - shows help or creates a new project\n */\n public readonly root = $command({\n root: true,\n description: \"Create a new Alepha project\",\n args: t.optional(\n t.text({\n title: \"name\",\n }),\n ),\n summary: false,\n handler: async ({ run, args, root }) => {\n const name = args ?? \"my-app\";\n const dest = join(root, name);\n\n try {\n await access(dest);\n this.log.error(\n `Directory \"${name}\" already exists. Please choose a different project name.`,\n );\n return;\n } catch {\n // Directory does not exist, proceed\n }\n\n const pm = this.detectPackageManager();\n\n await mkdir(dest, { recursive: true }).catch(() => null);\n\n await run(\"downloading sample project\", () =>\n this.downloadSampleProject(dest),\n );\n\n await run(`cd ${name} && ${pm} install`, {\n alias: \"installing dependencies\",\n });\n\n await run(`cd ${name} && ${pm} run lint`, {\n alias: \"linting code\",\n });\n\n await run(`cd ${name} && ${pm} run typecheck`, {\n alias: \"type checking\",\n });\n\n await run(`cd ${name} && ${pm} run test`, {\n alias: \"running tests\",\n });\n\n await run(`cd ${name} && ${pm} run build`, {\n alias: \"building project\",\n });\n },\n });\n}\n","import { readFileSync } from \"node:fs\";\n\nconst packageJson = JSON.parse(\n readFileSync(new URL(\"../package.json\", import.meta.url), \"utf-8\"),\n);\n\nexport const version = packageJson.version;\n","#!/usr/bin/env node\nimport { Alepha, run } from \"alepha\";\nimport { CreateAlephaCoreCommands } from \"./CreateAlephaCoreCommands.ts\";\nimport { version } from \"./version.ts\";\n\nconst alepha = Alepha.create({\n env: {\n LOG_LEVEL: \"alepha.core:warn,info\",\n LOG_FORMAT: \"raw\",\n CLI_NAME: \"create-alepha\",\n CLI_DESCRIPTION: `Create Alepha v${version} - Create a new Alepha project.`,\n },\n});\n\nalepha.with(CreateAlephaCoreCommands);\n\nrun(alepha);\n"],"mappings":";;;;;;;;;;;;AASA,IAAa,2BAAb,MAAsC;CACpC,AAAmB,MAAM,SAAS;CAClC,AAAmB,MAAM,QAAQ,YAAY;CAE7C,AAAU,uBAAwD;EAChE,MAAM,KAAK,QAAQ,IAAI,yBAAyB;AAChD,MAAI,GAAG,WAAW,OAAO,CAAE,QAAO;AAClC,MAAI,GAAG,WAAW,OAAO,CAAE,QAAO;AAClC,MAAI,GAAG,WAAW,MAAM,CAAE,QAAO;AACjC,SAAO;;;;;CAMT,MAAa,sBAAsB,WAAkC;EAEnE,MAAM,WAAW,MAAM,MADX,4DACsB,EAChC,SAAS,EACP,cAAc,cACf,EACF,CAAC;AAEF,MAAI,CAAC,SAAS,GACZ,OAAM,IAAI,YAAY,uBAAuB,SAAS,aAAa;AAIrE,QAAM,SADY,SAAS,QAAQ,SAAS,KAAY,EAGtD,IAAI,QAAQ;GACV,KAAK;GACL,OAAO;GACP,SAAS,SAAS;IAChB,MAAM,QAAQ,KAAK,MAAM,IAAI;AAC7B,WACE,MAAM,UAAU,KAAK,MAAM,OAAO,UAAU,MAAM,OAAO;;GAG9D,CAAC,CACH;;;;;CAMH,AAAgB,OAAO,SAAS;EAC9B,MAAM;EACN,aAAa;EACb,MAAM,EAAE,SACN,EAAE,KAAK,EACL,OAAO,QACR,CAAC,CACH;EACD,SAAS;EACT,SAAS,OAAO,EAAE,YAAK,MAAM,WAAW;GACtC,MAAM,OAAO,QAAQ;GACrB,MAAM,OAAO,KAAK,MAAM,KAAK;AAE7B,OAAI;AACF,UAAM,OAAO,KAAK;AAClB,SAAK,IAAI,MACP,cAAc,KAAK,2DACpB;AACD;WACM;GAIR,MAAM,KAAK,KAAK,sBAAsB;AAEtC,SAAM,MAAM,MAAM,EAAE,WAAW,MAAM,CAAC,CAAC,YAAY,KAAK;AAExD,SAAMA,MAAI,oCACR,KAAK,sBAAsB,KAAK,CACjC;AAED,SAAMA,MAAI,MAAM,KAAK,MAAM,GAAG,WAAW,EACvC,OAAO,2BACR,CAAC;AAEF,SAAMA,MAAI,MAAM,KAAK,MAAM,GAAG,YAAY,EACxC,OAAO,gBACR,CAAC;AAEF,SAAMA,MAAI,MAAM,KAAK,MAAM,GAAG,iBAAiB,EAC7C,OAAO,iBACR,CAAC;AAEF,SAAMA,MAAI,MAAM,KAAK,MAAM,GAAG,YAAY,EACxC,OAAO,iBACR,CAAC;AAEF,SAAMA,MAAI,MAAM,KAAK,MAAM,GAAG,aAAa,EACzC,OAAO,oBACR,CAAC;;EAEL,CAAC;;;;;ACxGJ,MAAM,cAAc,KAAK,MACvB,aAAa,IAAI,IAAI,mBAAmB,OAAO,KAAK,IAAI,EAAE,QAAQ,CACnE;AAED,MAAa,UAAU,YAAY;;;;ACDnC,MAAM,SAAS,OAAO,OAAO,EAC3B,KAAK;CACH,WAAW;CACX,YAAY;CACZ,UAAU;CACV,iBAAiB,kBAAkB,QAAQ;CAC5C,EACF,CAAC;AAEF,OAAO,KAAK,yBAAyB;AAErC,IAAI,OAAO"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "create-alepha",
|
|
3
3
|
"description": "Create a new Alepha project with a single command.",
|
|
4
4
|
"author": "Nicolas Foures",
|
|
5
|
-
"version": "0.13.
|
|
5
|
+
"version": "0.13.7",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"engines": {
|
|
8
8
|
"node": ">=22.0.0"
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
"src"
|
|
15
15
|
],
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"alepha": "0.13.
|
|
17
|
+
"alepha": "0.13.7",
|
|
18
18
|
"tar": "^7.5.2"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"tsdown": "^0.17.
|
|
21
|
+
"tsdown": "^0.17.2",
|
|
22
22
|
"vitest": "^4.0.15"
|
|
23
23
|
},
|
|
24
24
|
"scripts": {
|
|
@@ -80,28 +80,28 @@ export class CreateAlephaCoreCommands {
|
|
|
80
80
|
|
|
81
81
|
await mkdir(dest, { recursive: true }).catch(() => null);
|
|
82
82
|
|
|
83
|
-
await run("
|
|
83
|
+
await run("downloading sample project", () =>
|
|
84
84
|
this.downloadSampleProject(dest),
|
|
85
85
|
);
|
|
86
86
|
|
|
87
87
|
await run(`cd ${name} && ${pm} install`, {
|
|
88
|
-
alias: "
|
|
88
|
+
alias: "installing dependencies",
|
|
89
89
|
});
|
|
90
90
|
|
|
91
91
|
await run(`cd ${name} && ${pm} run lint`, {
|
|
92
|
-
alias: "
|
|
92
|
+
alias: "linting code",
|
|
93
93
|
});
|
|
94
94
|
|
|
95
95
|
await run(`cd ${name} && ${pm} run typecheck`, {
|
|
96
|
-
alias: "
|
|
96
|
+
alias: "type checking",
|
|
97
97
|
});
|
|
98
98
|
|
|
99
99
|
await run(`cd ${name} && ${pm} run test`, {
|
|
100
|
-
alias: "
|
|
100
|
+
alias: "running tests",
|
|
101
101
|
});
|
|
102
102
|
|
|
103
103
|
await run(`cd ${name} && ${pm} run build`, {
|
|
104
|
-
alias: "
|
|
104
|
+
alias: "building project",
|
|
105
105
|
});
|
|
106
106
|
},
|
|
107
107
|
});
|
|
File without changes
|