@zenstackhq/cli 3.0.0-beta.32 → 3.0.0-beta.34
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/.turbo/turbo-build.log +8 -8
- package/dist/index.cjs +87 -32
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +85 -30
- package/dist/index.js.map +1 -1
- package/package.json +11 -10
- package/src/actions/generate.ts +72 -11
- package/src/actions/init.ts +2 -2
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @zenstackhq/cli@3.0.0-beta.
|
|
2
|
+
> @zenstackhq/cli@3.0.0-beta.34 build /home/runner/work/zenstack-v3/zenstack-v3/packages/cli
|
|
3
3
|
> tsc --noEmit && tsup-node
|
|
4
4
|
|
|
5
5
|
[34mCLI[39m Building entry: {"index":"src/index.ts"}
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
[34mCLI[39m Cleaning output folder
|
|
11
11
|
[34mESM[39m Build start
|
|
12
12
|
[34mCJS[39m Build start
|
|
13
|
-
[
|
|
14
|
-
[
|
|
15
|
-
[
|
|
16
|
-
[
|
|
17
|
-
[
|
|
18
|
-
[
|
|
13
|
+
[32mESM[39m [1mdist/index.js [22m[32m39.83 KB[39m
|
|
14
|
+
[32mESM[39m [1mdist/index.js.map [22m[32m83.71 KB[39m
|
|
15
|
+
[32mESM[39m ⚡️ Build success in 134ms
|
|
16
|
+
[32mCJS[39m [1mdist/index.cjs [22m[32m44.12 KB[39m
|
|
17
|
+
[32mCJS[39m [1mdist/index.cjs.map [22m[32m84.34 KB[39m
|
|
18
|
+
[32mCJS[39m ⚡️ Build success in 134ms
|
|
19
19
|
[34mDTS[39m Build start
|
|
20
|
-
[32mDTS[39m ⚡️ Build success in
|
|
20
|
+
[32mDTS[39m ⚡️ Build success in 2541ms
|
|
21
21
|
[32mDTS[39m [1mdist/index.d.ts [22m[32m13.00 B[39m
|
|
22
22
|
[32mDTS[39m [1mdist/index.d.cts [22m[32m13.00 B[39m
|
package/dist/index.cjs
CHANGED
|
@@ -292,7 +292,10 @@ var import_common_helpers = require("@zenstackhq/common-helpers");
|
|
|
292
292
|
var import_ast2 = require("@zenstackhq/language/ast");
|
|
293
293
|
var import_utils = require("@zenstackhq/language/utils");
|
|
294
294
|
var import_colors4 = __toESM(require("colors"), 1);
|
|
295
|
+
var import_jiti = require("jiti");
|
|
296
|
+
var import_node_fs6 = __toESM(require("fs"), 1);
|
|
295
297
|
var import_node_path4 = __toESM(require("path"), 1);
|
|
298
|
+
var import_node_url = require("url");
|
|
296
299
|
var import_ora = __toESM(require("ora"), 1);
|
|
297
300
|
|
|
298
301
|
// src/plugins/index.ts
|
|
@@ -407,14 +410,7 @@ async function runPlugins(schemaFile, model, outputPath, options) {
|
|
|
407
410
|
throw new CliError(`Unknown core plugin: ${provider}`);
|
|
408
411
|
}
|
|
409
412
|
} else {
|
|
410
|
-
|
|
411
|
-
if (moduleSpec.startsWith(".")) {
|
|
412
|
-
moduleSpec = import_node_path4.default.resolve(import_node_path4.default.dirname(schemaFile), moduleSpec);
|
|
413
|
-
}
|
|
414
|
-
try {
|
|
415
|
-
cliPlugin = (await import(moduleSpec)).default;
|
|
416
|
-
} catch {
|
|
417
|
-
}
|
|
413
|
+
cliPlugin = await loadPluginModule(provider, import_node_path4.default.dirname(schemaFile));
|
|
418
414
|
}
|
|
419
415
|
if (cliPlugin) {
|
|
420
416
|
const pluginOptions = getPluginOptions(plugin3);
|
|
@@ -443,7 +439,7 @@ async function runPlugins(schemaFile, model, outputPath, options) {
|
|
|
443
439
|
];
|
|
444
440
|
defaultPlugins.forEach(({ plugin: plugin3, options: options2 }) => {
|
|
445
441
|
if (!processedPlugins.some((p) => p.cliPlugin === plugin3)) {
|
|
446
|
-
processedPlugins.
|
|
442
|
+
processedPlugins.unshift({
|
|
447
443
|
cliPlugin: plugin3,
|
|
448
444
|
pluginOptions: options2
|
|
449
445
|
});
|
|
@@ -493,6 +489,65 @@ function getPluginOptions(plugin3) {
|
|
|
493
489
|
return result;
|
|
494
490
|
}
|
|
495
491
|
__name(getPluginOptions, "getPluginOptions");
|
|
492
|
+
async function loadPluginModule(provider, basePath) {
|
|
493
|
+
let moduleSpec = provider;
|
|
494
|
+
if (moduleSpec.startsWith(".")) {
|
|
495
|
+
moduleSpec = import_node_path4.default.resolve(basePath, moduleSpec);
|
|
496
|
+
}
|
|
497
|
+
const importAsEsm = /* @__PURE__ */ __name(async (spec) => {
|
|
498
|
+
try {
|
|
499
|
+
const result = (await import(spec)).default;
|
|
500
|
+
return result;
|
|
501
|
+
} catch (err) {
|
|
502
|
+
throw new CliError(`Failed to load plugin module from ${spec}: ${err.message}`);
|
|
503
|
+
}
|
|
504
|
+
}, "importAsEsm");
|
|
505
|
+
const jiti = (0, import_jiti.createJiti)((0, import_node_url.pathToFileURL)(basePath).toString());
|
|
506
|
+
const importAsTs = /* @__PURE__ */ __name(async (spec) => {
|
|
507
|
+
try {
|
|
508
|
+
const result = await jiti.import(spec, {
|
|
509
|
+
default: true
|
|
510
|
+
});
|
|
511
|
+
return result;
|
|
512
|
+
} catch (err) {
|
|
513
|
+
throw new CliError(`Failed to load plugin module from ${spec}: ${err.message}`);
|
|
514
|
+
}
|
|
515
|
+
}, "importAsTs");
|
|
516
|
+
const esmSuffixes = [
|
|
517
|
+
".js",
|
|
518
|
+
".mjs"
|
|
519
|
+
];
|
|
520
|
+
const tsSuffixes = [
|
|
521
|
+
".ts",
|
|
522
|
+
".mts"
|
|
523
|
+
];
|
|
524
|
+
if (import_node_fs6.default.existsSync(moduleSpec) && import_node_fs6.default.statSync(moduleSpec).isFile()) {
|
|
525
|
+
if (esmSuffixes.some((suffix) => moduleSpec.endsWith(suffix))) {
|
|
526
|
+
return await importAsEsm((0, import_node_url.pathToFileURL)(moduleSpec).toString());
|
|
527
|
+
}
|
|
528
|
+
if (tsSuffixes.some((suffix) => moduleSpec.endsWith(suffix))) {
|
|
529
|
+
return await importAsTs(moduleSpec);
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
for (const suffix of esmSuffixes) {
|
|
533
|
+
const indexPath = import_node_path4.default.join(moduleSpec, `index${suffix}`);
|
|
534
|
+
if (import_node_fs6.default.existsSync(indexPath)) {
|
|
535
|
+
return await importAsEsm((0, import_node_url.pathToFileURL)(indexPath).toString());
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
for (const suffix of tsSuffixes) {
|
|
539
|
+
const indexPath = import_node_path4.default.join(moduleSpec, `index${suffix}`);
|
|
540
|
+
if (import_node_fs6.default.existsSync(indexPath)) {
|
|
541
|
+
return await importAsTs(indexPath);
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
try {
|
|
545
|
+
return (await import(moduleSpec)).default;
|
|
546
|
+
} catch {
|
|
547
|
+
return void 0;
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
__name(loadPluginModule, "loadPluginModule");
|
|
496
551
|
|
|
497
552
|
// src/actions/info.ts
|
|
498
553
|
var import_colors5 = __toESM(require("colors"), 1);
|
|
@@ -559,7 +614,7 @@ __name(getZenStackPackages, "getZenStackPackages");
|
|
|
559
614
|
|
|
560
615
|
// src/actions/init.ts
|
|
561
616
|
var import_colors6 = __toESM(require("colors"), 1);
|
|
562
|
-
var
|
|
617
|
+
var import_node_fs7 = __toESM(require("fs"), 1);
|
|
563
618
|
var import_node_path6 = __toESM(require("path"), 1);
|
|
564
619
|
var import_ora2 = __toESM(require("ora"), 1);
|
|
565
620
|
var import_package_manager_detector = require("package-manager-detector");
|
|
@@ -614,10 +669,10 @@ async function run6(projectPath) {
|
|
|
614
669
|
}
|
|
615
670
|
console.log(import_colors6.default.gray(`Using package manager: ${pm.agent}`));
|
|
616
671
|
for (const pkg of packages) {
|
|
617
|
-
const resolved = (0, import_package_manager_detector.resolveCommand)(pm.agent, "
|
|
672
|
+
const resolved = (0, import_package_manager_detector.resolveCommand)(pm.agent, "add", [
|
|
618
673
|
pkg.name,
|
|
619
674
|
...pkg.dev ? [
|
|
620
|
-
pm.agent === "
|
|
675
|
+
pm.agent.startsWith("yarn") || pm.agent === "bun" ? "--dev" : "--save-dev"
|
|
621
676
|
] : []
|
|
622
677
|
]);
|
|
623
678
|
if (!resolved) {
|
|
@@ -635,11 +690,11 @@ async function run6(projectPath) {
|
|
|
635
690
|
}
|
|
636
691
|
}
|
|
637
692
|
const generationFolder = "zenstack";
|
|
638
|
-
if (!
|
|
639
|
-
|
|
693
|
+
if (!import_node_fs7.default.existsSync(import_node_path6.default.join(projectPath, generationFolder))) {
|
|
694
|
+
import_node_fs7.default.mkdirSync(import_node_path6.default.join(projectPath, generationFolder));
|
|
640
695
|
}
|
|
641
|
-
if (!
|
|
642
|
-
|
|
696
|
+
if (!import_node_fs7.default.existsSync(import_node_path6.default.join(projectPath, generationFolder, "schema.zmodel"))) {
|
|
697
|
+
import_node_fs7.default.writeFileSync(import_node_path6.default.join(projectPath, generationFolder, "schema.zmodel"), STARTER_ZMODEL);
|
|
643
698
|
} else {
|
|
644
699
|
console.log(import_colors6.default.yellow("Schema file already exists. Skipping generation of sample."));
|
|
645
700
|
}
|
|
@@ -650,7 +705,7 @@ async function run6(projectPath) {
|
|
|
650
705
|
__name(run6, "run");
|
|
651
706
|
|
|
652
707
|
// src/actions/migrate.ts
|
|
653
|
-
var
|
|
708
|
+
var import_node_fs8 = __toESM(require("fs"), 1);
|
|
654
709
|
var import_node_path7 = __toESM(require("path"), 1);
|
|
655
710
|
|
|
656
711
|
// src/actions/seed.ts
|
|
@@ -705,8 +760,8 @@ async function run8(command, options) {
|
|
|
705
760
|
break;
|
|
706
761
|
}
|
|
707
762
|
} finally {
|
|
708
|
-
if (
|
|
709
|
-
|
|
763
|
+
if (import_node_fs8.default.existsSync(prismaSchemaFile)) {
|
|
764
|
+
import_node_fs8.default.unlinkSync(prismaSchemaFile);
|
|
710
765
|
}
|
|
711
766
|
}
|
|
712
767
|
}
|
|
@@ -797,7 +852,7 @@ __name(handleSubProcessError2, "handleSubProcessError");
|
|
|
797
852
|
// src/telemetry.ts
|
|
798
853
|
var import_mixpanel = require("mixpanel");
|
|
799
854
|
var import_node_crypto2 = require("crypto");
|
|
800
|
-
var
|
|
855
|
+
var import_node_fs13 = __toESM(require("fs"), 1);
|
|
801
856
|
var os2 = __toESM(require("os"), 1);
|
|
802
857
|
|
|
803
858
|
// src/constants.ts
|
|
@@ -808,14 +863,14 @@ var import_node_process = require("process");
|
|
|
808
863
|
var isInCi = import_node_process.env["CI"] !== "0" && import_node_process.env["CI"] !== "false" && ("CI" in import_node_process.env || "CONTINUOUS_INTEGRATION" in import_node_process.env || Object.keys(import_node_process.env).some((key) => key.startsWith("CI_")));
|
|
809
864
|
|
|
810
865
|
// src/utils/is-container.ts
|
|
811
|
-
var
|
|
866
|
+
var import_node_fs10 = __toESM(require("fs"), 1);
|
|
812
867
|
|
|
813
868
|
// src/utils/is-docker.ts
|
|
814
|
-
var
|
|
869
|
+
var import_node_fs9 = __toESM(require("fs"), 1);
|
|
815
870
|
var isDockerCached;
|
|
816
871
|
function hasDockerEnv() {
|
|
817
872
|
try {
|
|
818
|
-
|
|
873
|
+
import_node_fs9.default.statSync("/.dockerenv");
|
|
819
874
|
return true;
|
|
820
875
|
} catch {
|
|
821
876
|
return false;
|
|
@@ -824,7 +879,7 @@ function hasDockerEnv() {
|
|
|
824
879
|
__name(hasDockerEnv, "hasDockerEnv");
|
|
825
880
|
function hasDockerCGroup() {
|
|
826
881
|
try {
|
|
827
|
-
return
|
|
882
|
+
return import_node_fs9.default.readFileSync("/proc/self/cgroup", "utf8").includes("docker");
|
|
828
883
|
} catch {
|
|
829
884
|
return false;
|
|
830
885
|
}
|
|
@@ -842,7 +897,7 @@ __name(isDocker, "isDocker");
|
|
|
842
897
|
var cachedResult;
|
|
843
898
|
var hasContainerEnv = /* @__PURE__ */ __name(() => {
|
|
844
899
|
try {
|
|
845
|
-
|
|
900
|
+
import_node_fs10.default.statSync("/run/.containerenv");
|
|
846
901
|
return true;
|
|
847
902
|
} catch {
|
|
848
903
|
return false;
|
|
@@ -859,7 +914,7 @@ __name(isInContainer, "isInContainer");
|
|
|
859
914
|
// src/utils/is-wsl.ts
|
|
860
915
|
var import_node_process2 = __toESM(require("process"), 1);
|
|
861
916
|
var import_node_os = __toESM(require("os"), 1);
|
|
862
|
-
var
|
|
917
|
+
var import_node_fs11 = __toESM(require("fs"), 1);
|
|
863
918
|
var isWsl = /* @__PURE__ */ __name(() => {
|
|
864
919
|
if (import_node_process2.default.platform !== "linux") {
|
|
865
920
|
return false;
|
|
@@ -868,7 +923,7 @@ var isWsl = /* @__PURE__ */ __name(() => {
|
|
|
868
923
|
return true;
|
|
869
924
|
}
|
|
870
925
|
try {
|
|
871
|
-
return
|
|
926
|
+
return import_node_fs11.default.readFileSync("/proc/version", "utf8").toLowerCase().includes("microsoft");
|
|
872
927
|
} catch {
|
|
873
928
|
return false;
|
|
874
929
|
}
|
|
@@ -933,17 +988,17 @@ __name(getMachineId, "getMachineId");
|
|
|
933
988
|
|
|
934
989
|
// src/utils/version-utils.ts
|
|
935
990
|
var import_colors8 = __toESM(require("colors"), 1);
|
|
936
|
-
var
|
|
991
|
+
var import_node_fs12 = __toESM(require("fs"), 1);
|
|
937
992
|
var import_node_path8 = __toESM(require("path"), 1);
|
|
938
|
-
var
|
|
993
|
+
var import_node_url2 = require("url");
|
|
939
994
|
var import_semver = __toESM(require("semver"), 1);
|
|
940
995
|
var import_meta2 = {};
|
|
941
996
|
var CHECK_VERSION_TIMEOUT = 2e3;
|
|
942
997
|
var VERSION_CHECK_TAG = "next";
|
|
943
998
|
function getVersion() {
|
|
944
999
|
try {
|
|
945
|
-
const _dirname = typeof __dirname !== "undefined" ? __dirname : import_node_path8.default.dirname((0,
|
|
946
|
-
return JSON.parse(
|
|
1000
|
+
const _dirname = typeof __dirname !== "undefined" ? __dirname : import_node_path8.default.dirname((0, import_node_url2.fileURLToPath)(import_meta2.url));
|
|
1001
|
+
return JSON.parse(import_node_fs12.default.readFileSync(import_node_path8.default.join(_dirname, "../package.json"), "utf8")).version;
|
|
947
1002
|
} catch {
|
|
948
1003
|
return void 0;
|
|
949
1004
|
}
|
|
@@ -1074,7 +1129,7 @@ var Telemetry = class {
|
|
|
1074
1129
|
try {
|
|
1075
1130
|
const packageJsonPath = import_meta3.resolve("prisma/package.json");
|
|
1076
1131
|
const packageJsonUrl = new URL(packageJsonPath);
|
|
1077
|
-
const packageJson = JSON.parse(
|
|
1132
|
+
const packageJson = JSON.parse(import_node_fs13.default.readFileSync(packageJsonUrl, "utf8"));
|
|
1078
1133
|
return packageJson.version;
|
|
1079
1134
|
} catch {
|
|
1080
1135
|
return void 0;
|