@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.
@@ -1,5 +1,5 @@
1
1
 
2
- > @zenstackhq/cli@3.0.0-beta.32 build /home/runner/work/zenstack-v3/zenstack-v3/packages/cli
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
  CLI Building entry: {"index":"src/index.ts"}
@@ -10,13 +10,13 @@
10
10
  CLI Cleaning output folder
11
11
  ESM Build start
12
12
  CJS Build start
13
- CJS dist/index.cjs 42.17 KB
14
- CJS dist/index.cjs.map 80.63 KB
15
- CJS ⚡️ Build success in 144ms
16
- ESM dist/index.js 38.10 KB
17
- ESM dist/index.js.map 80.04 KB
18
- ESM ⚡️ Build success in 144ms
13
+ ESM dist/index.js 39.83 KB
14
+ ESM dist/index.js.map 83.71 KB
15
+ ESM ⚡️ Build success in 134ms
16
+ CJS dist/index.cjs 44.12 KB
17
+ CJS dist/index.cjs.map 84.34 KB
18
+ CJS ⚡️ Build success in 134ms
19
19
  DTS Build start
20
- DTS ⚡️ Build success in 2530ms
20
+ DTS ⚡️ Build success in 2541ms
21
21
  DTS dist/index.d.ts 13.00 B
22
22
  DTS dist/index.d.cts 13.00 B
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
- let moduleSpec = provider;
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.push({
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 import_node_fs6 = __toESM(require("fs"), 1);
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, "install", [
672
+ const resolved = (0, import_package_manager_detector.resolveCommand)(pm.agent, "add", [
618
673
  pkg.name,
619
674
  ...pkg.dev ? [
620
- pm.agent === "yarn" ? "--dev" : "--save-dev"
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 (!import_node_fs6.default.existsSync(import_node_path6.default.join(projectPath, generationFolder))) {
639
- import_node_fs6.default.mkdirSync(import_node_path6.default.join(projectPath, generationFolder));
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 (!import_node_fs6.default.existsSync(import_node_path6.default.join(projectPath, generationFolder, "schema.zmodel"))) {
642
- import_node_fs6.default.writeFileSync(import_node_path6.default.join(projectPath, generationFolder, "schema.zmodel"), STARTER_ZMODEL);
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 import_node_fs7 = __toESM(require("fs"), 1);
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 (import_node_fs7.default.existsSync(prismaSchemaFile)) {
709
- import_node_fs7.default.unlinkSync(prismaSchemaFile);
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 import_node_fs12 = __toESM(require("fs"), 1);
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 import_node_fs9 = __toESM(require("fs"), 1);
866
+ var import_node_fs10 = __toESM(require("fs"), 1);
812
867
 
813
868
  // src/utils/is-docker.ts
814
- var import_node_fs8 = __toESM(require("fs"), 1);
869
+ var import_node_fs9 = __toESM(require("fs"), 1);
815
870
  var isDockerCached;
816
871
  function hasDockerEnv() {
817
872
  try {
818
- import_node_fs8.default.statSync("/.dockerenv");
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 import_node_fs8.default.readFileSync("/proc/self/cgroup", "utf8").includes("docker");
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
- import_node_fs9.default.statSync("/run/.containerenv");
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 import_node_fs10 = __toESM(require("fs"), 1);
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 import_node_fs10.default.readFileSync("/proc/version", "utf8").toLowerCase().includes("microsoft");
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 import_node_fs11 = __toESM(require("fs"), 1);
991
+ var import_node_fs12 = __toESM(require("fs"), 1);
937
992
  var import_node_path8 = __toESM(require("path"), 1);
938
- var import_node_url = require("url");
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, import_node_url.fileURLToPath)(import_meta2.url));
946
- return JSON.parse(import_node_fs11.default.readFileSync(import_node_path8.default.join(_dirname, "../package.json"), "utf8")).version;
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(import_node_fs12.default.readFileSync(packageJsonUrl, "utf8"));
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;