create-alepha 0.13.0 → 0.13.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/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.0",
5
+ "version": "0.13.2",
6
6
  "type": "module",
7
7
  "engines": {
8
8
  "node": ">=22.0.0"
@@ -14,7 +14,7 @@
14
14
  "src"
15
15
  ],
16
16
  "dependencies": {
17
- "alepha": "0.13.0",
17
+ "alepha": "0.13.2",
18
18
  "tar": "^7.5.2"
19
19
  },
20
20
  "devDependencies": {
package/dist/index.cjs DELETED
@@ -1,114 +0,0 @@
1
- #!/usr/bin/env node
2
- //#region rolldown:runtime
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
12
- key = keys[i];
13
- if (!__hasOwnProp.call(to, key) && key !== except) {
14
- __defProp(to, key, {
15
- get: ((k) => from[k]).bind(null, key),
16
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
- });
18
- }
19
- }
20
- }
21
- return to;
22
- };
23
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
24
- value: mod,
25
- enumerable: true
26
- }) : target, mod));
27
-
28
- //#endregion
29
- let alepha = require("alepha");
30
- let node_fs_promises = require("node:fs/promises");
31
- let node_path = require("node:path");
32
- let node_stream = require("node:stream");
33
- let node_stream_promises = require("node:stream/promises");
34
- let alepha_command = require("alepha/command");
35
- let alepha_logger = require("alepha/logger");
36
- let tar = require("tar");
37
- tar = __toESM(tar);
38
- let node_fs = require("node:fs");
39
-
40
- //#region src/CreateAlephaCoreCommands.ts
41
- var CreateAlephaCoreCommands = class {
42
- log = (0, alepha_logger.$logger)();
43
- cli = (0, alepha.$inject)(alepha_command.CliProvider);
44
- detectPackageManager() {
45
- const ua = process.env.npm_config_user_agent || "";
46
- if (ua.startsWith("yarn")) return "yarn";
47
- if (ua.startsWith("pnpm")) return "pnpm";
48
- if (ua.startsWith("bun")) return "bun";
49
- return "npm";
50
- }
51
- /**
52
- * Download Alepha starter project from GitHub.
53
- */
54
- async downloadSampleProject(targetDir) {
55
- const response = await fetch("https://api.github.com/repos/feunard/alepha/tarball/main", { headers: { "User-Agent": "Alepha-CLI" } });
56
- if (!response.ok) throw new alepha.AlephaError(`Failed to download: ${response.statusText}`);
57
- await (0, node_stream_promises.pipeline)(node_stream.Readable.fromWeb(response.body), tar.extract({
58
- cwd: targetDir,
59
- strip: 3,
60
- filter: (path) => {
61
- const parts = path.split("/");
62
- return parts.length >= 3 && parts[1] === "apps" && parts[2] === "starter";
63
- }
64
- }));
65
- }
66
- /**
67
- * Called when no command is provided - shows help or creates a new project
68
- */
69
- root = (0, alepha_command.$command)({
70
- root: true,
71
- description: "Create a new Alepha project",
72
- args: alepha.t.optional(alepha.t.text({ title: "name" })),
73
- summary: false,
74
- handler: async ({ run: run$1, args, root }) => {
75
- const name = args ?? "my-app";
76
- const dest = (0, node_path.join)(root, name);
77
- try {
78
- await (0, node_fs_promises.access)(dest);
79
- this.log.error(`Directory "${name}" already exists. Please choose a different project name.`);
80
- return;
81
- } catch {}
82
- const pm = this.detectPackageManager();
83
- await (0, node_fs_promises.mkdir)(dest, { recursive: true }).catch(() => null);
84
- await run$1("Downloading sample project", () => this.downloadSampleProject(dest));
85
- await run$1(`cd ${name} && ${pm} install`, { alias: "Installing dependencies" });
86
- await run$1(`cd ${name} && ${pm} run lint`, { alias: "Linting code" });
87
- await run$1(`cd ${name} && ${pm} run typecheck`, { alias: "Type checking" });
88
- await run$1(`cd ${name} && ${pm} run test`, { alias: "Running tests" });
89
- await run$1(`cd ${name} && ${pm} run build`, { alias: "Building project" });
90
- this.log.info("");
91
- this.log.info(`$ cd ${name} && ${pm} run dev`.trim());
92
- this.log.info("");
93
- }
94
- });
95
- };
96
-
97
- //#endregion
98
- //#region src/version.ts
99
- const packageJson = JSON.parse((0, node_fs.readFileSync)(new URL("../package.json", require("url").pathToFileURL(__filename).href), "utf-8"));
100
- const version = packageJson.version;
101
-
102
- //#endregion
103
- //#region src/index.ts
104
- const alepha$1 = alepha.Alepha.create({ env: {
105
- LOG_LEVEL: "alepha.core:warn,info",
106
- LOG_FORMAT: "raw",
107
- CLI_NAME: "create-alepha",
108
- CLI_DESCRIPTION: `Create Alepha v${version} - Create a new Alepha project.`
109
- } });
110
- alepha$1.with(CreateAlephaCoreCommands);
111
- (0, alepha.run)(alepha$1);
112
-
113
- //#endregion
114
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","names":["CliProvider","AlephaError","Readable","t","run","alepha","Alepha"],"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 this.log.info(\"\");\n this.log.info(`$ cd ${name} && ${pm} run dev`.trim());\n this.log.info(\"\");\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,kCAAe;CAClC,AAAmB,0BAAcA,2BAAY;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,IAAIC,mBAAY,uBAAuB,SAAS,aAAa;AAIrE,2CADkBC,qBAAS,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,oCAAgB;EAC9B,MAAM;EACN,aAAa;EACb,MAAMC,SAAE,SACNA,SAAE,KAAK,EACL,OAAO,QACR,CAAC,CACH;EACD,SAAS;EACT,SAAS,OAAO,EAAE,YAAK,MAAM,WAAW;GACtC,MAAM,OAAO,QAAQ;GACrB,MAAM,2BAAY,MAAM,KAAK;AAE7B,OAAI;AACF,uCAAa,KAAK;AAClB,SAAK,IAAI,MACP,cAAc,KAAK,2DACpB;AACD;WACM;GAIR,MAAM,KAAK,KAAK,sBAAsB;AAEtC,qCAAY,MAAM,EAAE,WAAW,MAAM,CAAC,CAAC,YAAY,KAAK;AAExD,SAAMC,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;AAEF,QAAK,IAAI,KAAK,GAAG;AACjB,QAAK,IAAI,KAAK,QAAQ,KAAK,MAAM,GAAG,UAAU,MAAM,CAAC;AACrD,QAAK,IAAI,KAAK,GAAG;;EAEpB,CAAC;;;;;AC5GJ,MAAM,cAAc,KAAK,gCACV,IAAI,IAAI,iEAAmC,EAAE,QAAQ,CACnE;AAED,MAAa,UAAU,YAAY;;;;ACDnC,MAAMC,WAASC,cAAO,OAAO,EAC3B,KAAK;CACH,WAAW;CACX,YAAY;CACZ,UAAU;CACV,iBAAiB,kBAAkB,QAAQ;CAC5C,EACF,CAAC;AAEFD,SAAO,KAAK,yBAAyB;gBAEjCA,SAAO"}
package/dist/index.d.cts DELETED
@@ -1 +0,0 @@
1
- export { };