@cedarjs/cli 1.0.0-canary.13057 → 1.0.0-canary.13060
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/commands/dev.js +2 -1
- package/dist/commands/devHandler.js +27 -18
- package/dist/commands/upgrade.js +6 -3
- package/dist/lib/locking.js +6 -2
- package/dist/lib/ports.js +1 -1
- package/dist/lib/updateCheck.js +15 -7
- package/package.json +11 -11
package/dist/commands/dev.js
CHANGED
|
@@ -8,7 +8,8 @@ const builder = (yargs) => {
|
|
|
8
8
|
choices: ["api", "web"],
|
|
9
9
|
default: ["api", "web"],
|
|
10
10
|
description: "Which dev server(s) to start",
|
|
11
|
-
type: "
|
|
11
|
+
type: "string",
|
|
12
|
+
array: true
|
|
12
13
|
}).option("forward", {
|
|
13
14
|
alias: "fwd",
|
|
14
15
|
description: 'String of one or more vite dev server config options, for example: `--fwd="--port=1234 --open=false"`',
|
|
@@ -26,8 +26,10 @@ const handler = async ({
|
|
|
26
26
|
});
|
|
27
27
|
const rwjsPaths = getPaths();
|
|
28
28
|
const serverFile = serverFileExists();
|
|
29
|
-
|
|
30
|
-
let webPreferredPort = parseInt(
|
|
29
|
+
const apiPreferredPort = parseInt(String(getConfig().api.port));
|
|
30
|
+
let webPreferredPort = parseInt(
|
|
31
|
+
String(getConfig().web.port)
|
|
32
|
+
);
|
|
31
33
|
let apiAvailablePort = apiPreferredPort;
|
|
32
34
|
let apiPortChangeNeeded = false;
|
|
33
35
|
let webAvailablePort = webPreferredPort;
|
|
@@ -46,7 +48,8 @@ const handler = async ({
|
|
|
46
48
|
...forward.matchAll(/\-\-port(\=|\s)(?<port>[^\s]*)/g)
|
|
47
49
|
];
|
|
48
50
|
if (forwardedPortMatches.length) {
|
|
49
|
-
|
|
51
|
+
const port = forwardedPortMatches.pop()?.groups?.port;
|
|
52
|
+
webPreferredPort = port ? parseInt(port, 10) : void 0;
|
|
50
53
|
}
|
|
51
54
|
webAvailablePort = await getFreePort(webPreferredPort, [
|
|
52
55
|
apiPreferredPort,
|
|
@@ -84,19 +87,18 @@ const handler = async ({
|
|
|
84
87
|
force: false
|
|
85
88
|
});
|
|
86
89
|
} catch (e) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
);
|
|
91
|
-
console.error(c.error(e.message));
|
|
90
|
+
const message = e instanceof Object && "message" in e ? e.message : String(e);
|
|
91
|
+
errorTelemetry(process.argv, `Error generating prisma client: ${message}`);
|
|
92
|
+
console.error(c.error(message));
|
|
92
93
|
}
|
|
93
94
|
if (!serverFile) {
|
|
94
95
|
try {
|
|
95
96
|
await shutdownPort(apiAvailablePort);
|
|
96
97
|
} catch (e) {
|
|
97
|
-
|
|
98
|
+
const message = e instanceof Object && "message" in e ? e.message : String(e);
|
|
99
|
+
errorTelemetry(process.argv, `Error shutting down "api": ${message}`);
|
|
98
100
|
console.error(
|
|
99
|
-
`Error whilst shutting down "api" port: ${c.error(
|
|
101
|
+
`Error whilst shutting down "api" port: ${c.error(message)}`
|
|
100
102
|
);
|
|
101
103
|
}
|
|
102
104
|
}
|
|
@@ -105,9 +107,10 @@ const handler = async ({
|
|
|
105
107
|
try {
|
|
106
108
|
await shutdownPort(webAvailablePort);
|
|
107
109
|
} catch (e) {
|
|
108
|
-
|
|
110
|
+
const message = e instanceof Object && "message" in e ? e.message : String(e);
|
|
111
|
+
errorTelemetry(process.argv, `Error shutting down "web": ${message}`);
|
|
109
112
|
console.error(
|
|
110
|
-
`Error whilst shutting down "web" port: ${c.error(
|
|
113
|
+
`Error whilst shutting down "web" port: ${c.error(message)}`
|
|
111
114
|
);
|
|
112
115
|
}
|
|
113
116
|
}
|
|
@@ -168,12 +171,18 @@ const handler = async ({
|
|
|
168
171
|
runWhen: () => generate
|
|
169
172
|
}
|
|
170
173
|
};
|
|
174
|
+
const mappedJobs = Object.keys(jobs).map((job) => {
|
|
175
|
+
if (side.includes(job) || job === "gen") {
|
|
176
|
+
return jobs[job];
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
name: "",
|
|
180
|
+
command: "",
|
|
181
|
+
runWhen: () => false
|
|
182
|
+
};
|
|
183
|
+
});
|
|
171
184
|
const { result } = concurrently(
|
|
172
|
-
|
|
173
|
-
if (side.includes(job) || job === "gen") {
|
|
174
|
-
return jobs[job];
|
|
175
|
-
}
|
|
176
|
-
}).filter((job) => job && job.runWhen()),
|
|
185
|
+
mappedJobs.filter((job) => job.runWhen()),
|
|
177
186
|
{
|
|
178
187
|
prefix: "{name} |",
|
|
179
188
|
timestampFormat: "HH:mm:ss",
|
|
@@ -181,7 +190,7 @@ const handler = async ({
|
|
|
181
190
|
}
|
|
182
191
|
);
|
|
183
192
|
result.catch((e) => {
|
|
184
|
-
if (
|
|
193
|
+
if (e?.message) {
|
|
185
194
|
errorTelemetry(
|
|
186
195
|
process.argv,
|
|
187
196
|
`Error concurrently starting sides: ${e.message}`
|
package/dist/commands/upgrade.js
CHANGED
|
@@ -529,7 +529,7 @@ async function runPreUpgradeScripts(ctx, task, { verbose, force }) {
|
|
|
529
529
|
return;
|
|
530
530
|
}
|
|
531
531
|
const checkLevels = [];
|
|
532
|
-
if (parsed) {
|
|
532
|
+
if (parsed && !parsed.prerelease.length) {
|
|
533
533
|
checkLevels.push({
|
|
534
534
|
id: "exact",
|
|
535
535
|
candidates: [`${version}.ts`, `${version}/index.ts`]
|
|
@@ -545,10 +545,13 @@ async function runPreUpgradeScripts(ctx, task, { verbose, force }) {
|
|
|
545
545
|
id: "minor",
|
|
546
546
|
candidates: [`${parsed.major}.x.ts`, `${parsed.major}.x/index.ts`]
|
|
547
547
|
});
|
|
548
|
-
} else {
|
|
548
|
+
} else if (parsed && parsed.prerelease.length > 0) {
|
|
549
549
|
checkLevels.push({
|
|
550
550
|
id: "tag",
|
|
551
|
-
candidates: [
|
|
551
|
+
candidates: [
|
|
552
|
+
`${parsed.prerelease[0]}.ts`,
|
|
553
|
+
`${parsed.prerelease[0]}/index.ts`
|
|
554
|
+
]
|
|
552
555
|
});
|
|
553
556
|
}
|
|
554
557
|
const scriptsToRun = [];
|
package/dist/lib/locking.js
CHANGED
|
@@ -17,13 +17,17 @@ function setLock(identifier) {
|
|
|
17
17
|
""
|
|
18
18
|
);
|
|
19
19
|
}
|
|
20
|
+
function isErrorWithCode(error, code) {
|
|
21
|
+
return !!error && typeof error === "object" && "code" in error && error.code === code;
|
|
22
|
+
}
|
|
20
23
|
function unsetLock(identifier) {
|
|
21
24
|
try {
|
|
22
25
|
fs.rmSync(path.join(getPaths().generated.base, "locks", identifier));
|
|
23
26
|
} catch (error) {
|
|
24
|
-
if (error
|
|
25
|
-
|
|
27
|
+
if (isErrorWithCode(error, "ENOENT")) {
|
|
28
|
+
return;
|
|
26
29
|
}
|
|
30
|
+
throw error;
|
|
27
31
|
}
|
|
28
32
|
}
|
|
29
33
|
function isLockSet(identifier) {
|
package/dist/lib/ports.js
CHANGED
package/dist/lib/updateCheck.js
CHANGED
|
@@ -26,7 +26,7 @@ async function check() {
|
|
|
26
26
|
try {
|
|
27
27
|
console.time("Update Check");
|
|
28
28
|
const packageJson = JSON.parse(
|
|
29
|
-
fs.readFileSync(path.join(getPaths().base, "package.json"))
|
|
29
|
+
fs.readFileSync(path.join(getPaths().base, "package.json"), "utf-8")
|
|
30
30
|
);
|
|
31
31
|
let localVersion = packageJson.devDependencies["@cedarjs/core"];
|
|
32
32
|
while (!/\d/.test(localVersion.charAt(0))) {
|
|
@@ -116,20 +116,26 @@ function getUpdateMessage() {
|
|
|
116
116
|
borderStyle: "round"
|
|
117
117
|
});
|
|
118
118
|
}
|
|
119
|
+
function isErrorWithCode(error, code) {
|
|
120
|
+
return !!error && error instanceof Object && "code" in error && error.code === code;
|
|
121
|
+
}
|
|
119
122
|
function readUpdateDataFile() {
|
|
120
123
|
try {
|
|
121
124
|
if (!fs.existsSync(getPersistenceDirectory())) {
|
|
122
125
|
fs.mkdirSync(getPersistenceDirectory(), { recursive: true });
|
|
123
126
|
}
|
|
124
127
|
const persistedData = JSON.parse(
|
|
125
|
-
fs.readFileSync(
|
|
128
|
+
fs.readFileSync(
|
|
129
|
+
path.join(getPersistenceDirectory(), "data.json"),
|
|
130
|
+
"utf-8"
|
|
131
|
+
)
|
|
126
132
|
);
|
|
127
133
|
persistedData.remoteVersions = new Map(
|
|
128
134
|
Object.entries(persistedData.remoteVersions)
|
|
129
135
|
);
|
|
130
136
|
return persistedData;
|
|
131
137
|
} catch (error) {
|
|
132
|
-
if (error
|
|
138
|
+
if (isErrorWithCode(error, "ENOENT")) {
|
|
133
139
|
return {
|
|
134
140
|
localVersion: "0.0.0",
|
|
135
141
|
remoteVersions: /* @__PURE__ */ new Map(),
|
|
@@ -149,15 +155,17 @@ function updateUpdateDataFile({
|
|
|
149
155
|
const existingData = readUpdateDataFile();
|
|
150
156
|
const updatedData = {
|
|
151
157
|
localVersion: localVersion ?? existingData.localVersion,
|
|
152
|
-
remoteVersions:
|
|
153
|
-
remoteVersions ?? existingData.remoteVersions
|
|
154
|
-
),
|
|
158
|
+
remoteVersions: remoteVersions ?? existingData.remoteVersions,
|
|
155
159
|
checkedAt: checkedAt ?? existingData.checkedAt,
|
|
156
160
|
shownAt: shownAt ?? existingData.shownAt
|
|
157
161
|
};
|
|
162
|
+
const dataToWrite = {
|
|
163
|
+
...updatedData,
|
|
164
|
+
remoteVersions: Object.fromEntries(updatedData.remoteVersions)
|
|
165
|
+
};
|
|
158
166
|
fs.writeFileSync(
|
|
159
167
|
path.join(getPersistenceDirectory(), "data.json"),
|
|
160
|
-
JSON.stringify(
|
|
168
|
+
JSON.stringify(dataToWrite, null, 2)
|
|
161
169
|
);
|
|
162
170
|
}
|
|
163
171
|
function extractTagFromVersion(version) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cedarjs/cli",
|
|
3
|
-
"version": "1.0.0-canary.
|
|
3
|
+
"version": "1.0.0-canary.13060+6c50d6669",
|
|
4
4
|
"description": "The CedarJS Command Line",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -31,15 +31,15 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@babel/preset-typescript": "7.28.5",
|
|
33
33
|
"@babel/runtime-corejs3": "7.28.4",
|
|
34
|
-
"@cedarjs/api-server": "1.0.0-canary.
|
|
35
|
-
"@cedarjs/cli-helpers": "1.0.0-canary.
|
|
36
|
-
"@cedarjs/fastify-web": "1.0.0-canary.
|
|
37
|
-
"@cedarjs/internal": "1.0.0-canary.
|
|
38
|
-
"@cedarjs/prerender": "1.0.0-canary.
|
|
39
|
-
"@cedarjs/project-config": "1.0.0-canary.
|
|
40
|
-
"@cedarjs/structure": "1.0.0-canary.
|
|
41
|
-
"@cedarjs/telemetry": "1.0.0-canary.
|
|
42
|
-
"@cedarjs/web-server": "1.0.0-canary.
|
|
34
|
+
"@cedarjs/api-server": "1.0.0-canary.13060",
|
|
35
|
+
"@cedarjs/cli-helpers": "1.0.0-canary.13060",
|
|
36
|
+
"@cedarjs/fastify-web": "1.0.0-canary.13060",
|
|
37
|
+
"@cedarjs/internal": "1.0.0-canary.13060",
|
|
38
|
+
"@cedarjs/prerender": "1.0.0-canary.13060",
|
|
39
|
+
"@cedarjs/project-config": "1.0.0-canary.13060",
|
|
40
|
+
"@cedarjs/structure": "1.0.0-canary.13060",
|
|
41
|
+
"@cedarjs/telemetry": "1.0.0-canary.13060",
|
|
42
|
+
"@cedarjs/web-server": "1.0.0-canary.13060",
|
|
43
43
|
"@listr2/prompt-adapter-enquirer": "2.0.16",
|
|
44
44
|
"@opentelemetry/api": "1.8.0",
|
|
45
45
|
"@opentelemetry/core": "1.22.0",
|
|
@@ -101,5 +101,5 @@
|
|
|
101
101
|
"publishConfig": {
|
|
102
102
|
"access": "public"
|
|
103
103
|
},
|
|
104
|
-
"gitHead": "
|
|
104
|
+
"gitHead": "6c50d6669463a18fd4b4978f9e5c4e293555ebc4"
|
|
105
105
|
}
|