@cimplify/cli 0.13.1 → 0.13.3
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/{agent-UTARR75F.mjs → agent-CEYZNYXA.mjs} +1 -1
- package/dist/{chunk-2VK4UABO.mjs → chunk-72VM62IN.mjs} +1 -1
- package/dist/{chunk-ZX5ZEOEU.mjs → chunk-KNTFZ6LD.mjs} +73 -16
- package/dist/{chunk-AMREB4KE.mjs → chunk-QKDCMUWP.mjs} +8 -8
- package/dist/{dev-WSX75ELC.mjs → dev-SYFBDJSY.mjs} +1 -1
- package/dist/dispatcher.mjs +8 -8
- package/dist/{doctor-QFCEYEEZ.mjs → doctor-QPCWLW4L.mjs} +2 -2
- package/dist/{explain-BZPONVN3.mjs → explain-XB67PYQQ.mjs} +1 -1
- package/dist/{introspect-HGX4I3XQ.mjs → introspect-D4473WPV.mjs} +2 -2
- package/dist/{update-2FSGAVDH.mjs → update-B5HANRBK.mjs} +1 -1
- package/package.json +9 -9
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { gitDetectRoot, gitCurrentBranch, gitCurrentSha, gitStatusPorcelain } from './chunk-OVHZV57L.mjs';
|
|
3
3
|
import { parseEnvFile } from './chunk-5U5OXOPN.mjs';
|
|
4
|
-
import { package_default } from './chunk-
|
|
4
|
+
import { package_default } from './chunk-QKDCMUWP.mjs';
|
|
5
5
|
import { parseArgs } from './chunk-C4M3DXKC.mjs';
|
|
6
6
|
import { readAuthOrNull, readProjectLinkOrNull, readProjectState } from './chunk-QA36VSLX.mjs';
|
|
7
7
|
import { bold, dim, yellow, green, info, result, red } from './chunk-ZPVN6UXL.mjs';
|
|
@@ -4,6 +4,7 @@ import { promises, watch } from 'fs';
|
|
|
4
4
|
import path2 from 'path';
|
|
5
5
|
import http from 'http';
|
|
6
6
|
import { spawn } from 'child_process';
|
|
7
|
+
import { createHash } from 'crypto';
|
|
7
8
|
|
|
8
9
|
var TUNNEL_URL_ENV = "CIMPLIFY_TUNNEL_URL";
|
|
9
10
|
var TUNNEL_TOKEN_ENV = "CIMPLIFY_TUNNEL_TOKEN";
|
|
@@ -617,10 +618,16 @@ var ControlSession = class {
|
|
|
617
618
|
const paths = Array.isArray(request.paths) ? request.paths : [WORKSPACE_ROOT];
|
|
618
619
|
this.watch = this.deps.watcher.start(
|
|
619
620
|
paths,
|
|
620
|
-
(type, changed) => {
|
|
621
|
+
(type, changed, hashes) => {
|
|
621
622
|
if (this.epoch !== epoch) return;
|
|
622
623
|
this.seq += 1;
|
|
623
|
-
this.send({
|
|
624
|
+
this.send({
|
|
625
|
+
event: type,
|
|
626
|
+
paths: changed,
|
|
627
|
+
...hashes ? { hashes } : {},
|
|
628
|
+
seq: this.seq,
|
|
629
|
+
epoch
|
|
630
|
+
});
|
|
624
631
|
},
|
|
625
632
|
() => {
|
|
626
633
|
if (this.epoch !== epoch) return;
|
|
@@ -726,6 +733,10 @@ var NodeControlFs = class {
|
|
|
726
733
|
}
|
|
727
734
|
};
|
|
728
735
|
var WATCH_DEBOUNCE_MS = 60;
|
|
736
|
+
var MAX_WATCH_PENDING_PATHS = 4096;
|
|
737
|
+
var MAX_WATCH_TRACKED_PATHS = 1e5;
|
|
738
|
+
var CONTENT_HASH_ALGORITHM = "sha256";
|
|
739
|
+
var CONTENT_HASH_ENCODING = "hex";
|
|
729
740
|
var NodeControlWatcher = class {
|
|
730
741
|
constructor(root) {
|
|
731
742
|
this.root = root;
|
|
@@ -734,38 +745,83 @@ var NodeControlWatcher = class {
|
|
|
734
745
|
start(_relPaths, onEvent, onResync) {
|
|
735
746
|
let watcher;
|
|
736
747
|
const pending = /* @__PURE__ */ new Map();
|
|
737
|
-
const
|
|
748
|
+
const versions = /* @__PURE__ */ new Map();
|
|
749
|
+
const observed = /* @__PURE__ */ new Map();
|
|
750
|
+
let stopped = false;
|
|
751
|
+
const clearTracking = () => {
|
|
752
|
+
for (const timer of pending.values()) clearTimeout(timer);
|
|
753
|
+
pending.clear();
|
|
754
|
+
versions.clear();
|
|
755
|
+
observed.clear();
|
|
756
|
+
};
|
|
757
|
+
const requestResync = () => {
|
|
758
|
+
clearTracking();
|
|
759
|
+
if (!stopped) onResync();
|
|
760
|
+
};
|
|
761
|
+
const flush = async (rel, version) => {
|
|
738
762
|
pending.delete(rel);
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
763
|
+
try {
|
|
764
|
+
const absolute = path2.join(this.root, rel);
|
|
765
|
+
const stat = await promises.stat(absolute);
|
|
766
|
+
if (stat.isDirectory()) return;
|
|
767
|
+
const bytes = await promises.readFile(absolute);
|
|
768
|
+
if (stopped || versions.get(rel) !== version) return;
|
|
769
|
+
const hash = createHash(CONTENT_HASH_ALGORITHM).update(bytes).digest(CONTENT_HASH_ENCODING);
|
|
770
|
+
if (observed.get(rel) === hash) return;
|
|
771
|
+
observed.set(rel, hash);
|
|
772
|
+
onEvent(WATCH_EVENT.CHANGE, [rel], { [rel]: hash });
|
|
773
|
+
} catch (error) {
|
|
774
|
+
if (stopped || versions.get(rel) !== version) return;
|
|
775
|
+
if (error.code === "ENOENT") {
|
|
776
|
+
if (observed.get(rel) === null) return;
|
|
777
|
+
observed.set(rel, null);
|
|
778
|
+
onEvent(WATCH_EVENT.REMOVE, [rel]);
|
|
779
|
+
} else {
|
|
780
|
+
requestResync();
|
|
781
|
+
}
|
|
782
|
+
}
|
|
783
|
+
if (observed.size > MAX_WATCH_TRACKED_PATHS) {
|
|
784
|
+
requestResync();
|
|
785
|
+
}
|
|
743
786
|
};
|
|
744
787
|
try {
|
|
745
788
|
watcher = watch(this.root, { recursive: true }, (_type, filename) => {
|
|
746
789
|
if (filename === null) {
|
|
747
|
-
|
|
790
|
+
requestResync();
|
|
748
791
|
return;
|
|
749
792
|
}
|
|
750
793
|
const rel = filename.toString().split(path2.sep).join("/");
|
|
751
794
|
if (isIgnored(rel)) return;
|
|
752
795
|
const existing = pending.get(rel);
|
|
753
796
|
if (existing) clearTimeout(existing);
|
|
797
|
+
if (!existing && pending.size >= MAX_WATCH_PENDING_PATHS) {
|
|
798
|
+
requestResync();
|
|
799
|
+
return;
|
|
800
|
+
}
|
|
801
|
+
const version = (versions.get(rel) ?? 0) + 1;
|
|
802
|
+
versions.set(rel, version);
|
|
803
|
+
if (versions.size > MAX_WATCH_TRACKED_PATHS) {
|
|
804
|
+
requestResync();
|
|
805
|
+
return;
|
|
806
|
+
}
|
|
754
807
|
pending.set(
|
|
755
808
|
rel,
|
|
756
|
-
setTimeout(() => flush(rel), WATCH_DEBOUNCE_MS)
|
|
809
|
+
setTimeout(() => void flush(rel, version), WATCH_DEBOUNCE_MS)
|
|
757
810
|
);
|
|
758
811
|
});
|
|
759
812
|
} catch (error) {
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
813
|
+
throw new ControlFsError(
|
|
814
|
+
CONTROL_ERROR.IO,
|
|
815
|
+
`failed to start workspace watcher: ${error instanceof Error ? error.message : String(error)}`
|
|
816
|
+
);
|
|
763
817
|
}
|
|
764
|
-
watcher.on("error", () =>
|
|
818
|
+
watcher.on("error", () => {
|
|
819
|
+
requestResync();
|
|
820
|
+
});
|
|
765
821
|
return {
|
|
766
822
|
stop: () => {
|
|
767
|
-
|
|
768
|
-
|
|
823
|
+
stopped = true;
|
|
824
|
+
clearTracking();
|
|
769
825
|
watcher.close();
|
|
770
826
|
}
|
|
771
827
|
};
|
|
@@ -811,7 +867,8 @@ function tryDecodeUtf8(bytes) {
|
|
|
811
867
|
}
|
|
812
868
|
function rethrow(rel) {
|
|
813
869
|
return (error) => {
|
|
814
|
-
if (error.code === "ENOENT")
|
|
870
|
+
if (error.code === "ENOENT")
|
|
871
|
+
throw new ControlFsError(CONTROL_ERROR.NOT_FOUND, `not found: ${rel}`);
|
|
815
872
|
if (error.code === "EACCES") throw new ControlFsError(CONTROL_ERROR.PERMISSION_DENIED, rel);
|
|
816
873
|
throw new ControlFsError(CONTROL_ERROR.IO, error.message);
|
|
817
874
|
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// package.json
|
|
3
3
|
var package_default = {
|
|
4
4
|
name: "@cimplify/cli",
|
|
5
|
-
version: "0.13.
|
|
5
|
+
version: "0.13.3",
|
|
6
6
|
description: "Cimplify CLI \u2014 deploy, manage env vars, link projects, and scaffold storefronts",
|
|
7
7
|
keywords: [
|
|
8
8
|
"cimplify",
|
|
@@ -38,6 +38,13 @@ var package_default = {
|
|
|
38
38
|
test: "vitest",
|
|
39
39
|
"test:run": "vitest run"
|
|
40
40
|
},
|
|
41
|
+
dependencies: {
|
|
42
|
+
"@babel/generator": "^8.0.0",
|
|
43
|
+
"@babel/parser": "^8.0.4",
|
|
44
|
+
"@babel/traverse": "^8.0.4",
|
|
45
|
+
"@babel/types": "^8.0.4",
|
|
46
|
+
"@cimplify/sdk": "^0.99.2"
|
|
47
|
+
},
|
|
41
48
|
devDependencies: {
|
|
42
49
|
"@aws-sdk/client-s3": "^3.1070.0",
|
|
43
50
|
"@types/babel__generator": "^7.27.0",
|
|
@@ -47,13 +54,6 @@ var package_default = {
|
|
|
47
54
|
tsup: "^8.5.1",
|
|
48
55
|
typescript: "6.0.3",
|
|
49
56
|
vitest: "^4.1.9"
|
|
50
|
-
},
|
|
51
|
-
dependencies: {
|
|
52
|
-
"@babel/generator": "^8.0.0",
|
|
53
|
-
"@babel/parser": "^8.0.4",
|
|
54
|
-
"@babel/traverse": "^8.0.4",
|
|
55
|
-
"@babel/types": "^8.0.4",
|
|
56
|
-
"@cimplify/sdk": "^0.99.2"
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
59
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { startTunnelRuntime, TUNNEL_URL_ENV } from './chunk-
|
|
2
|
+
import { startTunnelRuntime, TUNNEL_URL_ENV } from './chunk-KNTFZ6LD.mjs';
|
|
3
3
|
import { parseEnvFile, formatEnvFile } from './chunk-5U5OXOPN.mjs';
|
|
4
4
|
import { ENV_SCOPE, PUBLIC_ENV_PREFIX } from './chunk-MXYUAJEW.mjs';
|
|
5
5
|
import { parseArgs, flagBool } from './chunk-C4M3DXKC.mjs';
|
package/dist/dispatcher.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { TEMPLATES } from './chunk-SVJPU4K7.mjs';
|
|
3
|
-
import { package_default } from './chunk-
|
|
3
|
+
import { package_default } from './chunk-QKDCMUWP.mjs';
|
|
4
4
|
|
|
5
5
|
// src/dispatcher.ts
|
|
6
6
|
var VERSION = package_default.version ?? "unknown";
|
|
@@ -143,19 +143,19 @@ var COMMANDS = {
|
|
|
143
143
|
domains: () => import('./domains-OS3DXSDN.mjs'),
|
|
144
144
|
logs: () => import('./logs-YNXDXAF7.mjs'),
|
|
145
145
|
status: () => import('./status-RR3GGTVU.mjs'),
|
|
146
|
-
dev: () => import('./dev-
|
|
147
|
-
agent: () => import('./agent-
|
|
146
|
+
dev: () => import('./dev-SYFBDJSY.mjs'),
|
|
147
|
+
agent: () => import('./agent-CEYZNYXA.mjs'),
|
|
148
148
|
mock: () => import('./mock-HFVAAYK2.mjs'),
|
|
149
|
-
introspect: () => import('./introspect-
|
|
149
|
+
introspect: () => import('./introspect-D4473WPV.mjs'),
|
|
150
150
|
inspect: () => import('./inspect-ULWQHT7J.mjs'),
|
|
151
|
-
doctor: () => import('./doctor-
|
|
152
|
-
explain: () => import('./explain-
|
|
151
|
+
doctor: () => import('./doctor-QPCWLW4L.mjs'),
|
|
152
|
+
explain: () => import('./explain-XB67PYQQ.mjs'),
|
|
153
153
|
assets: () => import('./assets-Y4JE6MSG.mjs'),
|
|
154
154
|
repo: () => import('./repo-OK6CVG3G.mjs'),
|
|
155
155
|
list: () => import('./list-DZTPWNU3.mjs'),
|
|
156
156
|
add: () => import('./add-F7GKDXAD.mjs'),
|
|
157
|
-
update: () => import('./update-
|
|
158
|
-
upgrade: () => import('./update-
|
|
157
|
+
update: () => import('./update-B5HANRBK.mjs'),
|
|
158
|
+
upgrade: () => import('./update-B5HANRBK.mjs'),
|
|
159
159
|
"auth-step-up": () => import('./auth-step-up-EHL5PM2L.mjs')
|
|
160
160
|
};
|
|
161
161
|
var COMMAND_PREFIXES = {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { gatherIntrospection } from './chunk-
|
|
2
|
+
import { gatherIntrospection } from './chunk-72VM62IN.mjs';
|
|
3
3
|
import './chunk-OVHZV57L.mjs';
|
|
4
4
|
import './chunk-5U5OXOPN.mjs';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-QKDCMUWP.mjs';
|
|
6
6
|
import { parseArgs, flagBool } from './chunk-C4M3DXKC.mjs';
|
|
7
7
|
import { SDK_ENV_API_URL, DEFAULT_API_BASE_URL, ApiClient, ENV_API_BASE_URL } from './chunk-JPXK5BLA.mjs';
|
|
8
8
|
import { readAuthOrNull } from './chunk-QA36VSLX.mjs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { package_default } from './chunk-
|
|
2
|
+
import { package_default } from './chunk-QKDCMUWP.mjs';
|
|
3
3
|
import { parseArgs } from './chunk-C4M3DXKC.mjs';
|
|
4
4
|
import { CliError, CLI_ERROR_CODE } from './chunk-YPC4VU65.mjs';
|
|
5
5
|
import { bold, dim, info, result } from './chunk-ZPVN6UXL.mjs';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
export { run as default, extractMockSeed, gatherIntrospection, renderIntrospection } from './chunk-
|
|
2
|
+
export { run as default, extractMockSeed, gatherIntrospection, renderIntrospection } from './chunk-72VM62IN.mjs';
|
|
3
3
|
import './chunk-OVHZV57L.mjs';
|
|
4
4
|
import './chunk-5U5OXOPN.mjs';
|
|
5
|
-
import './chunk-
|
|
5
|
+
import './chunk-QKDCMUWP.mjs';
|
|
6
6
|
import './chunk-C4M3DXKC.mjs';
|
|
7
7
|
import './chunk-QA36VSLX.mjs';
|
|
8
8
|
import './chunk-YPC4VU65.mjs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { package_default } from './chunk-
|
|
2
|
+
import { package_default } from './chunk-QKDCMUWP.mjs';
|
|
3
3
|
import { promptYesNo } from './chunk-4YIFBYBV.mjs';
|
|
4
4
|
import { parseArgs, flagBool, flagString } from './chunk-C4M3DXKC.mjs';
|
|
5
5
|
import { CliError, CLI_ERROR_CODE } from './chunk-YPC4VU65.mjs';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cimplify/cli",
|
|
3
|
-
"version": "0.13.
|
|
4
|
-
"description": "Cimplify CLI
|
|
3
|
+
"version": "0.13.3",
|
|
4
|
+
"description": "Cimplify CLI — deploy, manage env vars, link projects, and scaffold storefronts",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cimplify",
|
|
7
7
|
"cli",
|
|
@@ -36,6 +36,13 @@
|
|
|
36
36
|
"test": "vitest",
|
|
37
37
|
"test:run": "vitest run"
|
|
38
38
|
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@babel/generator": "^8.0.0",
|
|
41
|
+
"@babel/parser": "^8.0.4",
|
|
42
|
+
"@babel/traverse": "^8.0.4",
|
|
43
|
+
"@babel/types": "^8.0.4",
|
|
44
|
+
"@cimplify/sdk": "^0.99.2"
|
|
45
|
+
},
|
|
39
46
|
"devDependencies": {
|
|
40
47
|
"@aws-sdk/client-s3": "^3.1070.0",
|
|
41
48
|
"@types/babel__generator": "^7.27.0",
|
|
@@ -45,12 +52,5 @@
|
|
|
45
52
|
"tsup": "^8.5.1",
|
|
46
53
|
"typescript": "6.0.3",
|
|
47
54
|
"vitest": "^4.1.9"
|
|
48
|
-
},
|
|
49
|
-
"dependencies": {
|
|
50
|
-
"@babel/generator": "^8.0.0",
|
|
51
|
-
"@babel/parser": "^8.0.4",
|
|
52
|
-
"@babel/traverse": "^8.0.4",
|
|
53
|
-
"@babel/types": "^8.0.4",
|
|
54
|
-
"@cimplify/sdk": "^0.99.2"
|
|
55
55
|
}
|
|
56
56
|
}
|