create-lithia 1.0.0-canary.13 → 1.0.0-canary.15
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/dist/index.mjs +112 -176
- package/dist/index.mjs.map +1 -1
- package/package.json +32 -18
- package/CHANGELOG.md +0 -65
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
#! /usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Scaffolding CLI for Lithia.js.
|
|
4
|
+
* Handles interactive project creation, template cloning,
|
|
5
|
+
* dependency management, and Git initialization.
|
|
6
|
+
*/
|
|
2
7
|
import { execSync } from "node:child_process";
|
|
3
8
|
import fs from "node:fs/promises";
|
|
4
9
|
import os from "node:os";
|
|
@@ -6,16 +11,17 @@ import path from "node:path";
|
|
|
6
11
|
import { defineCommand, runMain } from "citty";
|
|
7
12
|
import prompts from "prompts";
|
|
8
13
|
import { version } from "./meta.mjs";
|
|
9
|
-
import { green } from "./picocolors.mjs";
|
|
10
|
-
//
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
import { blue, green, red, yellow } from "./picocolors.mjs";
|
|
15
|
+
// --- UI Helpers ---
|
|
16
|
+
const ui = {
|
|
17
|
+
success: (msg) => console.log(green(`✔ ${msg}`)),
|
|
18
|
+
info: (msg) => console.log(blue(`ℹ ${msg}`)),
|
|
19
|
+
warn: (msg) => console.log(yellow(`⚠ ${msg}`)),
|
|
20
|
+
error: (msg) => console.error(red(`✖ ${msg}`)),
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Checks if a system command (like git or pnpm) is available in the PATH.
|
|
24
|
+
*/
|
|
19
25
|
function isCommandAvailable(cmd) {
|
|
20
26
|
try {
|
|
21
27
|
execSync(`${cmd} --version`, { stdio: "ignore" });
|
|
@@ -25,6 +31,10 @@ function isCommandAvailable(cmd) {
|
|
|
25
31
|
return false;
|
|
26
32
|
}
|
|
27
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Safely executes operations within a temporary directory.
|
|
36
|
+
* Automatically cleans up the directory after completion.
|
|
37
|
+
*/
|
|
28
38
|
async function withTmpDir(fn) {
|
|
29
39
|
const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), "lithia-"));
|
|
30
40
|
try {
|
|
@@ -34,69 +44,56 @@ async function withTmpDir(fn) {
|
|
|
34
44
|
await fs.rm(tmpDir, { recursive: true, force: true });
|
|
35
45
|
}
|
|
36
46
|
}
|
|
47
|
+
// --- CLI Command Definition ---
|
|
37
48
|
const main = defineCommand({
|
|
38
49
|
meta: {
|
|
39
50
|
name: "create-lithia",
|
|
40
|
-
description: "
|
|
51
|
+
description: "Initialize a new Lithia.js project",
|
|
41
52
|
version,
|
|
42
53
|
},
|
|
43
54
|
async run(ctx) {
|
|
44
|
-
const
|
|
45
|
-
const
|
|
55
|
+
const REPO_URL = "https://github.com/lithia-framework/lithia.git";
|
|
56
|
+
const TEMPLATES = [
|
|
46
57
|
"starter",
|
|
47
58
|
"with-docker",
|
|
48
59
|
"with-drizzle",
|
|
49
60
|
"with-better-auth",
|
|
50
61
|
];
|
|
51
|
-
let projectName = ctx.rawArgs[0];
|
|
52
|
-
let template;
|
|
53
|
-
let installDependencies;
|
|
54
|
-
let packageManager;
|
|
55
|
-
let initializeGit;
|
|
56
62
|
if (!isCommandAvailable("git")) {
|
|
57
|
-
|
|
63
|
+
ui.error("Git is required to use this CLI. Please install Git and try again.");
|
|
58
64
|
process.exit(1);
|
|
59
65
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
66
|
+
// 1. Interactive Prompts
|
|
67
|
+
const response = await prompts([
|
|
68
|
+
{
|
|
69
|
+
type: ctx.rawArgs[0] ? null : "text",
|
|
63
70
|
name: "projectName",
|
|
64
|
-
message: `
|
|
71
|
+
message: `Project ${green("name")}:`,
|
|
65
72
|
initial: "my-lithia-app",
|
|
66
|
-
},
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
const templateResponse = await prompts({
|
|
70
|
-
type: "select",
|
|
71
|
-
name: "template",
|
|
72
|
-
message: `Select a ${green("template")}:`,
|
|
73
|
-
choices: templates.map((t) => ({ title: t, value: t })),
|
|
74
|
-
initial: 0,
|
|
75
|
-
}, { onCancel: () => process.exit(1) });
|
|
76
|
-
template = templateResponse.template;
|
|
77
|
-
const installResponse = await prompts({
|
|
78
|
-
type: "confirm",
|
|
79
|
-
name: "installDependencies",
|
|
80
|
-
message: `Do you want to ${green("install dependencies")}?`,
|
|
81
|
-
initial: true,
|
|
82
|
-
}, { onCancel: () => process.exit(1) });
|
|
83
|
-
installDependencies = installResponse.installDependencies;
|
|
84
|
-
if (installDependencies) {
|
|
85
|
-
const pmResponse = await prompts({
|
|
73
|
+
},
|
|
74
|
+
{
|
|
86
75
|
type: "select",
|
|
87
|
-
name: "
|
|
88
|
-
message:
|
|
76
|
+
name: "template",
|
|
77
|
+
message: "Select a template:",
|
|
78
|
+
choices: TEMPLATES.map((t) => ({ title: t, value: t })),
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: "confirm",
|
|
82
|
+
name: "install",
|
|
83
|
+
message: "Install dependencies?",
|
|
84
|
+
initial: true,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
type: (prev) => (prev ? "select" : null),
|
|
88
|
+
name: "pm",
|
|
89
|
+
message: "Package manager:",
|
|
89
90
|
choices: [
|
|
90
91
|
{
|
|
91
92
|
title: "pnpm",
|
|
92
93
|
value: "pnpm",
|
|
93
94
|
disabled: !isCommandAvailable("pnpm"),
|
|
94
95
|
},
|
|
95
|
-
{
|
|
96
|
-
title: "npm",
|
|
97
|
-
value: "npm",
|
|
98
|
-
disabled: !isCommandAvailable("npm"),
|
|
99
|
-
},
|
|
96
|
+
{ title: "npm", value: "npm" },
|
|
100
97
|
{
|
|
101
98
|
title: "bun",
|
|
102
99
|
value: "bun",
|
|
@@ -108,155 +105,94 @@ const main = defineCommand({
|
|
|
108
105
|
disabled: !isCommandAvailable("yarn"),
|
|
109
106
|
},
|
|
110
107
|
],
|
|
111
|
-
},
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
initializeGit = gitResponse.initializeGit;
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: "confirm",
|
|
111
|
+
name: "git",
|
|
112
|
+
message: "Initialize Git repository?",
|
|
113
|
+
initial: true,
|
|
114
|
+
},
|
|
115
|
+
], { onCancel: () => process.exit(1) });
|
|
116
|
+
const projectName = ctx.rawArgs[0] || response.projectName;
|
|
121
117
|
const targetDir = path.join(process.cwd(), projectName);
|
|
122
|
-
|
|
123
|
-
|
|
118
|
+
ui.info(`Scaffolding project in ${green(targetDir)}...`);
|
|
119
|
+
// 2. Project Generation Logic
|
|
124
120
|
await withTmpDir(async (tmpDir) => {
|
|
125
|
-
if (!isCommandAvailable("git")) {
|
|
126
|
-
errorLog("git is required to clone the template repository. Please install git and try again.");
|
|
127
|
-
process.exit(1);
|
|
128
|
-
}
|
|
129
121
|
const repoDir = path.join(tmpDir, "repo");
|
|
130
|
-
|
|
122
|
+
// Clone template
|
|
123
|
+
ui.info("Fetching templates from GitHub...");
|
|
131
124
|
try {
|
|
132
|
-
execSync(`git clone --depth 1 --branch canary ${
|
|
133
|
-
stdio: "ignore",
|
|
134
|
-
});
|
|
135
|
-
success("Template repository cloned.");
|
|
125
|
+
execSync(`git clone --depth 1 --branch canary ${REPO_URL} "${repoDir}"`, { stdio: "ignore" });
|
|
136
126
|
}
|
|
137
127
|
catch (err) {
|
|
138
|
-
|
|
139
|
-
process.exit(1);
|
|
140
|
-
}
|
|
141
|
-
const templateSrc = path.join(repoDir, "templates", template);
|
|
142
|
-
// ensure template exists
|
|
143
|
-
try {
|
|
144
|
-
await fs.access(templateSrc);
|
|
145
|
-
}
|
|
146
|
-
catch (_) {
|
|
147
|
-
errorLog(`Template ${template} not found in repository.`);
|
|
128
|
+
ui.error(`Failed to clone repository: ${err}`);
|
|
148
129
|
process.exit(1);
|
|
149
130
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
await
|
|
154
|
-
targetExists = true;
|
|
155
|
-
}
|
|
156
|
-
catch (_) {
|
|
157
|
-
// does not exist
|
|
158
|
-
}
|
|
159
|
-
if (targetExists) {
|
|
160
|
-
const confirmResponse = await prompts({
|
|
131
|
+
const templateSrc = path.join(repoDir, "templates", response.template);
|
|
132
|
+
// Directory safety check
|
|
133
|
+
if (await fs.stat(targetDir).catch(() => null)) {
|
|
134
|
+
const { overwrite } = await prompts({
|
|
161
135
|
type: "confirm",
|
|
162
136
|
name: "overwrite",
|
|
163
|
-
message: `
|
|
137
|
+
message: `Directory ${projectName} already exists. ${red("Overwrite?")}`,
|
|
164
138
|
initial: false,
|
|
165
|
-
}
|
|
166
|
-
if (!
|
|
167
|
-
|
|
168
|
-
}
|
|
139
|
+
});
|
|
140
|
+
if (!overwrite)
|
|
141
|
+
process.exit(1);
|
|
142
|
+
await fs.rm(targetDir, { recursive: true, force: true });
|
|
169
143
|
}
|
|
170
|
-
// ensure target exists
|
|
171
144
|
await fs.mkdir(targetDir, { recursive: true });
|
|
172
|
-
//
|
|
173
|
-
info("Copying
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
success("Template files copied.");
|
|
181
|
-
// Update package.json: set name and pin internal lithia packages to current meta version
|
|
182
|
-
const pkgJsonPath = path.join(targetDir, "package.json");
|
|
183
|
-
try {
|
|
184
|
-
const raw = await fs.readFile(pkgJsonPath, "utf-8");
|
|
185
|
-
const pkg = JSON.parse(raw);
|
|
145
|
+
// Copy template files
|
|
146
|
+
ui.info("Copying files...");
|
|
147
|
+
await fs.cp(templateSrc, targetDir, { recursive: true, force: true });
|
|
148
|
+
// 3. Post-processing (package.json)
|
|
149
|
+
const pkgPath = path.join(targetDir, "package.json");
|
|
150
|
+
const hasPkg = await fs.stat(pkgPath).catch(() => null);
|
|
151
|
+
if (hasPkg) {
|
|
152
|
+
const pkg = JSON.parse(await fs.readFile(pkgPath, "utf-8"));
|
|
186
153
|
pkg.name = projectName;
|
|
187
|
-
|
|
154
|
+
// Pin internal packages (@lithia-js/*) to current framework version
|
|
155
|
+
const pin = (deps) => {
|
|
188
156
|
if (!deps)
|
|
189
157
|
return;
|
|
190
|
-
|
|
191
|
-
if (dep.startsWith("@lithia-js/"))
|
|
158
|
+
for (const dep in deps) {
|
|
159
|
+
if (dep.startsWith("@lithia-js/"))
|
|
192
160
|
deps[dep] = `^${version}`;
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
};
|
|
196
|
-
pinDeps(pkg.dependencies);
|
|
197
|
-
pinDeps(pkg.devDependencies);
|
|
198
|
-
await fs.writeFile(pkgJsonPath, JSON.stringify(pkg, null, 2), "utf-8");
|
|
199
|
-
success(`package.json updated (name set + internal packages pinned to v${version}).`);
|
|
200
|
-
// initialize git if requested (git availability was validated earlier)
|
|
201
|
-
if (initializeGit) {
|
|
202
|
-
info("Initializing Git repository...");
|
|
203
|
-
try {
|
|
204
|
-
execSync("git init", { cwd: targetDir, stdio: "ignore" });
|
|
205
|
-
execSync("git add -A", { cwd: targetDir, stdio: "ignore" });
|
|
206
|
-
execSync('git commit -m "chore: initial commit"', {
|
|
207
|
-
cwd: targetDir,
|
|
208
|
-
stdio: "ignore",
|
|
209
|
-
});
|
|
210
|
-
success("Git repository initialized.");
|
|
211
|
-
}
|
|
212
|
-
catch (err) {
|
|
213
|
-
warnLog(`Failed to initialize git repository: ${err}`);
|
|
214
161
|
}
|
|
162
|
+
};
|
|
163
|
+
pin(pkg.dependencies);
|
|
164
|
+
pin(pkg.devDependencies);
|
|
165
|
+
await fs.writeFile(pkgPath, JSON.stringify(pkg, null, 2));
|
|
166
|
+
}
|
|
167
|
+
// 4. Git & Install
|
|
168
|
+
if (response.git) {
|
|
169
|
+
try {
|
|
170
|
+
execSync("git init", { cwd: targetDir, stdio: "ignore" });
|
|
171
|
+
ui.success("Git initialized.");
|
|
215
172
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
let cmd;
|
|
219
|
-
switch (pmToUse) {
|
|
220
|
-
case "pnpm":
|
|
221
|
-
cmd = "pnpm install";
|
|
222
|
-
break;
|
|
223
|
-
case "yarn":
|
|
224
|
-
cmd = "yarn install";
|
|
225
|
-
break;
|
|
226
|
-
case "bun":
|
|
227
|
-
cmd = "bun install";
|
|
228
|
-
break;
|
|
229
|
-
default:
|
|
230
|
-
cmd = "npm install";
|
|
231
|
-
}
|
|
232
|
-
info(`Installing dependencies with ${pmToUse}...`);
|
|
233
|
-
try {
|
|
234
|
-
execSync(cmd, { cwd: targetDir, stdio: "ignore" });
|
|
235
|
-
success("Dependencies installed.");
|
|
236
|
-
}
|
|
237
|
-
catch (err) {
|
|
238
|
-
warnLog(`Failed to install dependencies: ${err}`);
|
|
239
|
-
}
|
|
173
|
+
catch {
|
|
174
|
+
ui.warn("Could not initialize Git.");
|
|
240
175
|
}
|
|
241
176
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
console.log(` ${pmToUse} install`);
|
|
255
|
-
console.log(` ${pmToUse} run dev`);
|
|
177
|
+
if (response.install) {
|
|
178
|
+
ui.info(`Installing dependencies with ${response.pm}...`);
|
|
179
|
+
try {
|
|
180
|
+
execSync(`${response.pm} install`, {
|
|
181
|
+
cwd: targetDir,
|
|
182
|
+
stdio: "ignore",
|
|
183
|
+
});
|
|
184
|
+
ui.success("Dependencies installed.");
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
ui.warn("Dependency installation failed. Please run it manually.");
|
|
188
|
+
}
|
|
256
189
|
}
|
|
257
|
-
|
|
190
|
+
// 5. Final output
|
|
191
|
+
ui.success(`Lithia project "${projectName}" is ready!`);
|
|
192
|
+
console.log(`\nNext steps:\n ${blue(`cd ${projectName}`)}\n ${blue(`${response.pm || "npm"} run dev`)}\n`);
|
|
193
|
+
console.log(green("Happy coding! 🚀"));
|
|
258
194
|
});
|
|
259
195
|
},
|
|
260
196
|
});
|
|
261
|
-
runMain(main)
|
|
197
|
+
runMain(main);
|
|
262
198
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.mts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,36 +1,50 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-lithia",
|
|
3
|
-
"version": "1.0.0-canary.
|
|
4
|
-
"
|
|
3
|
+
"version": "1.0.0-canary.15",
|
|
4
|
+
"description": "Scaffold a new Lithia.js project in seconds. The fastest way to start building native-powered backends.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"create",
|
|
7
|
+
"lithia",
|
|
8
|
+
"lithia-js",
|
|
9
|
+
"scaffold",
|
|
10
|
+
"template",
|
|
11
|
+
"generator",
|
|
12
|
+
"backend"
|
|
13
|
+
],
|
|
14
|
+
"author": "Lucas Arch <luketsx@icloud.com>",
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"homepage": "https://lithiajs.com",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/lithia-framework/lithia.git",
|
|
20
|
+
"directory": "packages/create-lithia"
|
|
21
|
+
},
|
|
22
|
+
"bugs": {
|
|
23
|
+
"url": "https://github.com/lithia-framework/lithia/issues"
|
|
24
|
+
},
|
|
5
25
|
"type": "module",
|
|
6
26
|
"bin": {
|
|
7
|
-
"create-lithia": "dist/index.mjs"
|
|
27
|
+
"create-lithia": "./dist/index.mjs"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"dist",
|
|
31
|
+
"templates"
|
|
32
|
+
],
|
|
33
|
+
"engines": {
|
|
34
|
+
"node": ">=20"
|
|
8
35
|
},
|
|
9
|
-
"author": "Lucas Arch <luketsx@icloud.com>",
|
|
10
|
-
"homepage": "https://lithiajs.com",
|
|
11
|
-
"license": "MIT",
|
|
12
36
|
"dependencies": {
|
|
13
37
|
"citty": "^0.2.0",
|
|
14
38
|
"prompts": "^2.4.2"
|
|
15
39
|
},
|
|
16
|
-
"
|
|
17
|
-
"
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@types/prompts": "^2.4.9"
|
|
18
42
|
},
|
|
19
43
|
"publishConfig": {
|
|
20
44
|
"registry": "https://registry.npmjs.org/",
|
|
21
45
|
"access": "public",
|
|
22
46
|
"provenance": true
|
|
23
47
|
},
|
|
24
|
-
"devDependencies": {
|
|
25
|
-
"@types/prompts": "^2.4.9"
|
|
26
|
-
},
|
|
27
|
-
"repository": {
|
|
28
|
-
"type": "git",
|
|
29
|
-
"url": "git+https://github.com/lithia-framework/lithia.git"
|
|
30
|
-
},
|
|
31
|
-
"bugs": {
|
|
32
|
-
"url": "https://github.com/lithia-framework/lithia/issues"
|
|
33
|
-
},
|
|
34
48
|
"scripts": {
|
|
35
49
|
"build": "tsc -p tsconfig.build.json"
|
|
36
50
|
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# create-lithia
|
|
2
|
-
|
|
3
|
-
## 1.0.0-canary.13
|
|
4
|
-
|
|
5
|
-
### Patch Changes
|
|
6
|
-
|
|
7
|
-
- 2a65f2a: Fixed missing await from authenticated middleware
|
|
8
|
-
|
|
9
|
-
## 1.0.0-canary.12
|
|
10
|
-
|
|
11
|
-
### Patch Changes
|
|
12
|
-
|
|
13
|
-
- 059a95a: Fixed middleware `next` function call
|
|
14
|
-
|
|
15
|
-
## 1.0.0-canary.11
|
|
16
|
-
|
|
17
|
-
### Patch Changes
|
|
18
|
-
|
|
19
|
-
- 01467e0: Fixed index from `create-lithia` CLI
|
|
20
|
-
|
|
21
|
-
## 1.0.0-canary.10
|
|
22
|
-
|
|
23
|
-
### Patch Changes
|
|
24
|
-
|
|
25
|
-
- 9eed826: Added better-auth support
|
|
26
|
-
|
|
27
|
-
## 1.0.0-canary.9
|
|
28
|
-
|
|
29
|
-
### Patch Changes
|
|
30
|
-
|
|
31
|
-
- a0f6630: New templates and build fixes
|
|
32
|
-
|
|
33
|
-
## 1.0.0-canary.8
|
|
34
|
-
|
|
35
|
-
### Patch Changes
|
|
36
|
-
|
|
37
|
-
- 15de957: Changed the entire framework to use ESM modules
|
|
38
|
-
|
|
39
|
-
## 1.0.0-canary.7
|
|
40
|
-
|
|
41
|
-
### Patch Changes
|
|
42
|
-
|
|
43
|
-
- c5e06fb: Fixed exception when trying to build a JS file that haves an import wildcard
|
|
44
|
-
|
|
45
|
-
## 1.0.0-canary.6
|
|
46
|
-
|
|
47
|
-
### Patch Changes
|
|
48
|
-
|
|
49
|
-
- bb4cb1d: Added new template
|
|
50
|
-
|
|
51
|
-
## 1.0.0-canary.5
|
|
52
|
-
|
|
53
|
-
### Patch Changes
|
|
54
|
-
|
|
55
|
-
- e64696c: Remove unused imports from @lithia-js/utils and fixed `create-lithia` CLI
|
|
56
|
-
|
|
57
|
-
## 1.0.0-canary.4
|
|
58
|
-
|
|
59
|
-
### Patch Changes
|
|
60
|
-
|
|
61
|
-
- fb9cee1: Enhanced production build support, fixed import module bug on production environment, fixed stdio inherit bug on `create-lithia`
|
|
62
|
-
- 00d8f11: fixed available events after connection
|
|
63
|
-
- Updated dependencies [fb9cee1]
|
|
64
|
-
- Updated dependencies [00d8f11]
|
|
65
|
-
- @lithia-js/utils@1.0.0-canary.4
|