@effect-app/cli 1.25.0 → 1.26.1

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.
Files changed (37) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/gist.d.ts +231 -0
  3. package/dist/gist.d.ts.map +1 -0
  4. package/dist/gist.js +447 -0
  5. package/dist/index.js +38 -65
  6. package/dist/os-command.d.ts +18 -0
  7. package/dist/os-command.d.ts.map +1 -0
  8. package/dist/os-command.js +47 -0
  9. package/package.json +11 -17
  10. package/src/gist.ts +615 -0
  11. package/src/index.ts +56 -73
  12. package/src/os-command.ts +63 -0
  13. package/test.gists.yaml +20 -0
  14. package/dist/link.d.ts +0 -2
  15. package/dist/link.d.ts.map +0 -1
  16. package/dist/link.js +0 -17
  17. package/dist/old.d.ts +0 -2
  18. package/dist/old.d.ts.map +0 -1
  19. package/dist/old.js +0 -246
  20. package/dist/sync.d.ts +0 -2
  21. package/dist/sync.d.ts.map +0 -1
  22. package/dist/sync.js +0 -16
  23. package/dist/unlink.d.ts +0 -2
  24. package/dist/unlink.d.ts.map +0 -1
  25. package/dist/unlink.js +0 -13
  26. package/src/link.ts +0 -20
  27. package/src/old.ts +0 -283
  28. package/src/sync.ts +0 -17
  29. package/src/unlink.ts +0 -14
  30. package/vitest.config.ts.timestamp-1709838404819-f2fb28517168c.mjs +0 -33
  31. package/vitest.config.ts.timestamp-1709838418683-9c399c96f9d78.mjs +0 -33
  32. package/vitest.config.ts.timestamp-1709838649058-0e8f9431c893d.mjs +0 -33
  33. package/vitest.config.ts.timestamp-1711724061889-4985ba59def8.mjs +0 -37
  34. package/vitest.config.ts.timestamp-1711743471019-3c5e0c6ca2188.mjs +0 -37
  35. package/vitest.config.ts.timestamp-1711743489536-5ca18d3f67759.mjs +0 -37
  36. package/vitest.config.ts.timestamp-1711743593444-e40a8dcd4fc31.mjs +0 -37
  37. package/vitest.config.ts.timestamp-1711744615239-6a156fd39b9c9.mjs +0 -37
package/src/index.ts CHANGED
@@ -2,13 +2,15 @@
2
2
  /* eslint-disable no-empty-pattern */
3
3
  // import necessary modules from the libraries
4
4
  import { Args, Command, Options, Prompt } from "@effect/cli"
5
- import { Command as NodeCommand, FileSystem, Path } from "@effect/platform"
5
+ import { FileSystem, Path } from "@effect/platform"
6
6
  import { NodeContext, NodeRuntime } from "@effect/platform-node"
7
7
 
8
8
  import { type CommandExecutor } from "@effect/platform/CommandExecutor"
9
9
  import { type PlatformError } from "@effect/platform/Error"
10
- import { Effect, identity, Option, Stream, type Types } from "effect"
10
+ import { Effect, Layer, Option, Stream, type Types } from "effect"
11
11
  import { ExtractExportMappingsService } from "./extract.js"
12
+ import { GistHandler } from "./gist.js"
13
+ import { RunCommandService } from "./os-command.js"
12
14
  import { packages } from "./shared.js"
13
15
 
14
16
  Effect
@@ -16,61 +18,10 @@ Effect
16
18
  const fs = yield* FileSystem.FileSystem
17
19
  const path = yield* Path.Path
18
20
  const extractExportMappings = yield* ExtractExportMappingsService
21
+ const { runGetExitCode } = yield* RunCommandService
19
22
 
20
23
  yield* Effect.addFinalizer(() => Effect.logInfo(`CLI has finished executing`))
21
24
 
22
- /**
23
- * Executes a shell command using Node.js Command API with inherited stdio streams.
24
- * The command is run through the system shell (/bin/sh) for proper command parsing.
25
- *
26
- * @param cmd - The shell command to execute
27
- * @param cwd - Optional working directory to execute the command in
28
- * @returns An Effect that succeeds with the exit code or fails with a PlatformError
29
- */
30
- const runNodeCommandEC = (cmd: string, cwd?: string) =>
31
- NodeCommand
32
- .make("sh", "-c", cmd)
33
- .pipe(
34
- NodeCommand.stdout("inherit"),
35
- NodeCommand.stderr("inherit"),
36
- cwd ? NodeCommand.workingDirectory(cwd) : identity,
37
- NodeCommand.exitCode
38
- )
39
-
40
- // /**
41
- // * Executes a shell command using Node.js Command API and captures output as string.
42
- // * The command is run through the system shell (/bin/sh) for proper command parsing.
43
- // *
44
- // * @param cmd - The shell command to execute
45
- // * @param cwd - Optional working directory to execute the command in
46
- // * @returns An Effect that succeeds with the command output or fails with a PlatformError
47
- // */
48
- // const runNodeCommand = (cmd: string, cwd?: string) =>
49
- // NodeCommand
50
- // .make("sh", "-c", cmd)
51
- // .pipe(
52
- // cwd ? NodeCommand.workingDirectory(cwd) : identity,
53
- // NodeCommand.string
54
- // )
55
-
56
- /**
57
- * Executes a bash script file using Node.js Command API with inherited stdio streams.
58
- * The script file is executed directly through the shell (/bin/sh).
59
- *
60
- * @param file - The path to the bash script file to execute
61
- * @param cwd - Optional working directory to execute the script in
62
- * @returns An Effect that succeeds with the output or fails with a PlatformError
63
- */
64
- // const runBashFile = (file: string, cwd?: string) =>
65
- // NodeCommand
66
- // .make("sh", file)
67
- // .pipe(
68
- // NodeCommand.stdout("inherit"),
69
- // NodeCommand.stderr("inherit"),
70
- // cwd ? NodeCommand.workingDirectory(cwd) : identity,
71
- // NodeCommand.string
72
- // )
73
-
74
25
  /**
75
26
  * Updates effect-app packages to their latest versions using npm-check-updates.
76
27
  * Runs both at workspace root and recursively in all workspace packages.
@@ -78,8 +29,8 @@ Effect
78
29
  const updateEffectAppPackages = Effect.fn("effa-cli.ue.updateEffectAppPackages")(function*() {
79
30
  const filters = ["effect-app", "@effect-app/*"]
80
31
  for (const filter of filters) {
81
- yield* runNodeCommandEC(`pnpm exec ncu -u --filter "${filter}"`)
82
- yield* runNodeCommandEC(`pnpm -r exec ncu -u --filter "${filter}"`)
32
+ yield* runGetExitCode(`pnpm exec ncu -u --filter "${filter}"`)
33
+ yield* runGetExitCode(`pnpm -r exec ncu -u --filter "${filter}"`)
83
34
  }
84
35
  })()
85
36
 
@@ -91,8 +42,8 @@ Effect
91
42
  const updateEffectPackages = Effect.fn("effa-cli.ue.updateEffectPackages")(function*() {
92
43
  const effectFilters = ["effect", "@effect/*", "@effect-atom/*"]
93
44
  for (const filter of effectFilters) {
94
- yield* runNodeCommandEC(`pnpm exec ncu -u --filter "${filter}"`)
95
- yield* runNodeCommandEC(`pnpm -r exec ncu -u --filter "${filter}"`)
45
+ yield* runGetExitCode(`pnpm exec ncu -u --filter "${filter}"`)
46
+ yield* runGetExitCode(`pnpm -r exec ncu -u --filter "${filter}"`)
96
47
  }
97
48
  })()
98
49
 
@@ -121,8 +72,8 @@ Effect
121
72
  yield* Effect.logInfo(`Excluding packages from update: ${allRejects.join(", ")}`)
122
73
  const rejectArgs = allRejects.map((filter) => `--reject "${filter}"`).join(" ")
123
74
 
124
- yield* runNodeCommandEC(`pnpm exec ncu -u ${rejectArgs}`)
125
- yield* runNodeCommandEC(`pnpm -r exec ncu -u ${rejectArgs}`)
75
+ yield* runGetExitCode(`pnpm exec ncu -u ${rejectArgs}`)
76
+ yield* runGetExitCode(`pnpm -r exec ncu -u ${rejectArgs}`)
126
77
  })()
127
78
 
128
79
  /**
@@ -156,7 +107,7 @@ Effect
156
107
  yield* fs.writeFileString(packageJsonPath, JSON.stringify(pj, null, 2))
157
108
  yield* Effect.logInfo("Updated package.json with local file resolutions")
158
109
 
159
- yield* runNodeCommandEC("pnpm i")
110
+ yield* runGetExitCode("pnpm i")
160
111
 
161
112
  yield* Effect.logInfo("Successfully linked local packages")
162
113
  })
@@ -189,7 +140,7 @@ Effect
189
140
  yield* fs.writeFileString(packageJsonPath, JSON.stringify(pj, null, 2))
190
141
  yield* Effect.logInfo("Removed effect-app file resolutions from package.json")
191
142
 
192
- yield* runNodeCommandEC("pnpm i")
143
+ yield* runGetExitCode("pnpm i")
193
144
  yield* Effect.logInfo("Successfully unlinked local packages")
194
145
  })()
195
146
 
@@ -236,7 +187,7 @@ Effect
236
187
  )
237
188
 
238
189
  const eslintArgs = existingFiles.map((f) => `"../${f}"`).join(" ")
239
- yield* runNodeCommandEC(`cd api && pnpm eslint --fix ${eslintArgs}`)
190
+ yield* runGetExitCode(`cd api && pnpm eslint --fix ${eslintArgs}`)
240
191
  break
241
192
  }
242
193
  i++
@@ -276,7 +227,7 @@ Effect
276
227
 
277
228
  yield* Effect.logInfo(`Root change detected: ${event.path}, fixing: ${indexFile}`)
278
229
 
279
- yield* runNodeCommandEC(`pnpm eslint --fix "${indexFile}"`)
230
+ yield* runGetExitCode(`pnpm eslint --fix "${indexFile}"`)
280
231
  })
281
232
  )
282
233
  )
@@ -499,7 +450,7 @@ Effect
499
450
  : wrapOption.value
500
451
 
501
452
  yield* Effect.logInfo(`Spawning child command: ${val}`)
502
- yield* runNodeCommandEC(val)
453
+ yield* runGetExitCode(val)
503
454
  }
504
455
 
505
456
  return
@@ -567,17 +518,17 @@ Effect
567
518
  switch (prompted) {
568
519
  case "effect-app":
569
520
  return yield* updateEffectAppPackages.pipe(
570
- Effect.andThen(runNodeCommandEC("pnpm i"))
521
+ Effect.andThen(runGetExitCode("pnpm i"))
571
522
  )
572
523
 
573
524
  case "effect":
574
525
  return yield* updateEffectPackages.pipe(
575
- Effect.andThen(runNodeCommandEC("pnpm i"))
526
+ Effect.andThen(runGetExitCode("pnpm i"))
576
527
  )
577
528
  case "both":
578
529
  return yield* updateEffectPackages.pipe(
579
530
  Effect.andThen(updateEffectAppPackages),
580
- Effect.andThen(runNodeCommandEC("pnpm i"))
531
+ Effect.andThen(runGetExitCode("pnpm i"))
581
532
  )
582
533
  }
583
534
  })
@@ -592,7 +543,7 @@ Effect
592
543
  yield* Effect.logInfo("Updating all packages except Effect/Effect-App ecosystem packages...")
593
544
 
594
545
  return yield* updatePackages.pipe(
595
- Effect.andThen(runNodeCommandEC("pnpm i"))
546
+ Effect.andThen(runGetExitCode("pnpm i"))
596
547
  )
597
548
  })
598
549
  )
@@ -698,6 +649,29 @@ Effect
698
649
  Command.withDescription("Generate and update package.json exports mappings for all packages in monorepo")
699
650
  )
700
651
 
652
+ const gist = Command
653
+ .make(
654
+ "gist",
655
+ {
656
+ config: Options.file("config").pipe(
657
+ Options.withDefault("gists.yaml"),
658
+ Options.withDescription("Path to YAML configuration file")
659
+ )
660
+ },
661
+ Effect.fn("effa-cli.gist")(function*({ config }) {
662
+ if ((yield* runGetExitCode("gh --version")) !== 0) {
663
+ return yield* Effect.logError(
664
+ "GitHub CLI (gh) is not installed or not found in PATH. Please install it to use the gist command."
665
+ )
666
+ }
667
+
668
+ return yield* GistHandler.handler({
669
+ YAMLPath: config
670
+ })
671
+ })
672
+ )
673
+ .pipe(Command.withDescription("Create GitHub gists from files specified in YAML configuration"))
674
+
701
675
  const nuke = Command
702
676
  .make(
703
677
  "nuke",
@@ -713,16 +687,16 @@ Effect
713
687
  yield* Effect.logInfo(dryRun ? "Performing dry run cleanup..." : "Performing nuclear cleanup...")
714
688
 
715
689
  if (dryRun) {
716
- yield* runNodeCommandEC(
690
+ yield* runGetExitCode(
717
691
  "find . -depth \\( -type d \\( -name 'node_modules' -o -name '.nuxt' -o -name 'dist' -o -name '.output' -o -name '.nitro' -o -name '.cache' -o -name 'test-results' -o -name 'test-out' -o -name 'coverage' \\) -print \\) -o \\( -type f \\( -name '*.log' -o -name '*.tsbuildinfo' \\) -print \\)"
718
692
  )
719
693
  } else {
720
- yield* runNodeCommandEC(
694
+ yield* runGetExitCode(
721
695
  "find . -depth \\( -type d \\( -name 'node_modules' -o -name '.nuxt' -o -name 'dist' -o -name '.output' -o -name '.nitro' -o -name '.cache' -o -name 'test-results' -o -name 'test-out' -o -name 'coverage' \\) -exec rm -rf -- {} + \\) -o \\( -type f \\( -name '*.log' -o -name '*.tsbuildinfo' \\) -delete \\)"
722
696
  )
723
697
 
724
698
  if (storePrune) {
725
- yield* runNodeCommandEC(
699
+ yield* runGetExitCode(
726
700
  "pnpm store prune"
727
701
  )
728
702
  }
@@ -745,6 +719,7 @@ Effect
745
719
  indexMulti,
746
720
  packagejson,
747
721
  packagejsonPackages,
722
+ gist,
748
723
  nuke
749
724
  ])),
750
725
  {
@@ -757,6 +732,14 @@ Effect
757
732
  })()
758
733
  .pipe(
759
734
  Effect.scoped,
760
- Effect.provide(NodeContext.layer),
735
+ Effect.provide(
736
+ Layer.provideMerge(
737
+ Layer.merge(
738
+ GistHandler.Default,
739
+ RunCommandService.Default
740
+ ),
741
+ NodeContext.layer
742
+ )
743
+ ),
761
744
  NodeRuntime.runMain
762
745
  )
@@ -0,0 +1,63 @@
1
+ /* eslint-disable no-constant-binary-expression */
2
+ /* eslint-disable no-empty-pattern */
3
+ // import necessary modules from the libraries
4
+ import { Command } from "@effect/platform"
5
+
6
+ import { CommandExecutor } from "@effect/platform/CommandExecutor"
7
+ import { Effect, identity } from "effect"
8
+
9
+ /**
10
+ * Service for executing shell commands using the Effect platform's Command API.
11
+ * Provides methods to run shell commands with different output handling strategies.
12
+ * All commands are executed through the system shell (/bin/sh) for proper command parsing.
13
+ */
14
+ // @effect-diagnostics-next-line missingEffectServiceDependency:off
15
+ export class RunCommandService extends Effect.Service<RunCommandService>()("RunCommandService", {
16
+ dependencies: [],
17
+ effect: Effect.gen(function*() {
18
+ // will be provided by the main CLI pipeline setup
19
+ const commandExecutor = yield* CommandExecutor
20
+
21
+ /**
22
+ * Executes a shell command using Command API with inherited stdio streams.
23
+ * The command is rn through the system shell (/bin/sh) for proper command parsing.
24
+ *
25
+ * @param cmd - The shell command to execute
26
+ * @param cwd - Optional working directory to execute the command in
27
+ * @returns An Effect that succeeds with the exit code or fails with a PlatformError
28
+ */
29
+ const runGetExitCode = (cmd: string, cwd?: string) =>
30
+ Command
31
+ .make("sh", "-c", cmd)
32
+ .pipe(
33
+ Command.stdout("inherit"),
34
+ Command.stderr("inherit"),
35
+ cwd ? Command.workingDirectory(cwd) : identity,
36
+ Command.exitCode,
37
+ Effect.provideService(CommandExecutor, commandExecutor)
38
+ )
39
+
40
+ /**
41
+ * Executes a shell command using Command API and returns the output as a string.
42
+ * The command is run through the system shell (/bin/sh) for proper command parsing.
43
+ *
44
+ * @param cmd - The shell command to execute
45
+ * @param cwd - Optional working directory to execute the command in
46
+ * @returns An Effect that succeeds with the command's stdout output as string or fails with a PlatformError
47
+ */
48
+ const runGetString = (cmd: string, cwd?: string) =>
49
+ Command
50
+ .make("sh", "-c", cmd)
51
+ .pipe(
52
+ cwd ? Command.workingDirectory(cwd) : identity,
53
+ Command.string,
54
+ Effect.provideService(CommandExecutor, commandExecutor)
55
+ )
56
+
57
+ return {
58
+ runGetExitCode,
59
+ runGetString
60
+ }
61
+ })
62
+ }) {
63
+ }
@@ -0,0 +1,20 @@
1
+ gists:
2
+ "cli-config":
3
+ description: "Package configuration and main source for Effect-App CLI"
4
+ public: false
5
+ files:
6
+ - "package.json"
7
+ - "packages/cli/src/index.ts"
8
+
9
+ "test-files":
10
+ description: "Test YAML files for gist functionality"
11
+ public: false
12
+ files:
13
+ - "gists.yaml"
14
+
15
+ settings:
16
+ # GitHub token environment variable name
17
+ token_env: "GIST_GITHUB_TOKEN"
18
+
19
+ # Base directory for files (relative to where the CLI is run)
20
+ base_directory: "."
package/dist/link.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=link.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../src/link.ts"],"names":[],"mappings":""}
package/dist/link.js DELETED
@@ -1,17 +0,0 @@
1
- import cp from "child_process";
2
- import fs from "fs";
3
- import { EFFECT_APP_LIBS, packages } from "./shared.js";
4
- const pj = (await import(process.cwd() + "/package.json", { with: { type: "json" } })).default;
5
- pj.resolutions = {
6
- ...pj.resolutions,
7
- "@effect-app/eslint-codegen-model": "file:" + EFFECT_APP_LIBS + "/packages/eslint-codegen-model",
8
- "effect-app": "file:" + EFFECT_APP_LIBS + "/packages/effect-app",
9
- "@effect-app/infra": "file:" + EFFECT_APP_LIBS + "/packages/infra",
10
- "@effect-app/vue": "file:" + EFFECT_APP_LIBS + "/packages/vue",
11
- "@effect-app/vue-components": "file:" + EFFECT_APP_LIBS + "/packages/vue-components",
12
- // TODO: with hard links why would this be needed?
13
- ...packages.reduce((acc, p) => ({ ...acc, [p]: `file:${EFFECT_APP_LIBS}/node_modules/${p}` }), {})
14
- };
15
- fs.writeFileSync("./package.json", JSON.stringify(pj, null, 2));
16
- cp.execSync("pnpm i", { stdio: "inherit" });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM5QixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFDbkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFdkQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQTtBQUU5RixFQUFFLENBQUMsV0FBVyxHQUFHO0lBQ2YsR0FBRyxFQUFFLENBQUMsV0FBVztJQUNqQixrQ0FBa0MsRUFBRSxPQUFPLEdBQUcsZUFBZSxHQUFHLGdDQUFnQztJQUNoRyxZQUFZLEVBQUUsT0FBTyxHQUFHLGVBQWUsR0FBRyxzQkFBc0I7SUFDaEUsbUJBQW1CLEVBQUUsT0FBTyxHQUFHLGVBQWUsR0FBRyxpQkFBaUI7SUFDbEUsaUJBQWlCLEVBQUUsT0FBTyxHQUFHLGVBQWUsR0FBRyxlQUFlO0lBQzlELDRCQUE0QixFQUFFLE9BQU8sR0FBRyxlQUFlLEdBQUcsMEJBQTBCO0lBQ3BGLGtEQUFrRDtJQUNsRCxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLGVBQWUsaUJBQWlCLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Q0FDbkcsQ0FBQTtBQUVELEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFL0QsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQSJ9
package/dist/old.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=old.d.ts.map
package/dist/old.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"old.d.ts","sourceRoot":"","sources":["../src/old.ts"],"names":[],"mappings":""}
package/dist/old.js DELETED
@@ -1,246 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /* eslint-disable @typescript-eslint/no-unsafe-argument */
3
- import cp from "child_process";
4
- import fs from "fs";
5
- import w from "node-watch";
6
- import path from "path";
7
- import readline from "readline/promises";
8
- import { sync } from "./sync.js";
9
- function askQuestion(query) {
10
- const rl = readline.createInterface({
11
- input: process.stdin,
12
- output: process.stdout
13
- });
14
- return rl.question(query);
15
- }
16
- const _cmd = process.argv[2];
17
- const supportedCommands = [
18
- "watch",
19
- "index",
20
- "index-multi",
21
- "packagejson",
22
- "packagejson-target",
23
- "packagejson-packages",
24
- "link",
25
- "unlink",
26
- "sync",
27
- "ncu:effect",
28
- "ncu:effect-app"
29
- ];
30
- if (!supportedCommands.includes(_cmd)) {
31
- console.log("unknown command: ", _cmd, "supported commands: ", supportedCommands.join(", "));
32
- process.exit(1);
33
- }
34
- const cmd = _cmd;
35
- const debug = process.argv.includes("--debug");
36
- function touch(path) {
37
- const time = new Date();
38
- try {
39
- fs.utimesSync(path, time, time);
40
- }
41
- catch (err) {
42
- fs.closeSync(fs.openSync(path, "w"));
43
- }
44
- }
45
- function* monitorIndexes_(path) {
46
- yield monitorChildIndexes(path);
47
- const indexFile = path + "/index.ts";
48
- if (fs.existsSync(indexFile)) {
49
- yield monitorRootIndexes(path, indexFile);
50
- }
51
- }
52
- function monitorIndexes(path) {
53
- return [...monitorIndexes_(path)];
54
- }
55
- function monitorChildIndexes(path) {
56
- return w.default(path, { recursive: true }, (evt, path) => {
57
- const pathParts = path.split("/");
58
- const isController = pathParts[pathParts.length - 1]?.toLowerCase().includes(".controllers.");
59
- if (!isController)
60
- return;
61
- let i = 1;
62
- const r = pathParts.toReversed();
63
- while (i < r.length) {
64
- const files = ["controllers.ts", "routes.ts"]
65
- .map((f) => [...pathParts.slice(0, pathParts.length - i), f].join("/"))
66
- .filter((f) => fs.existsSync(f));
67
- if (files.length) {
68
- if (debug) {
69
- console.log("change!", evt, path, files);
70
- }
71
- cp.execSync(`cd api && pnpm eslint --fix ${files.map((_) => `"../${_}"`).join(" ")}`);
72
- break;
73
- }
74
- i++;
75
- }
76
- });
77
- }
78
- function monitorRootIndexes(path, indexFile) {
79
- return w.default(path, (_, path) => {
80
- if (path.endsWith(indexFile))
81
- return;
82
- // const dirName = pathParts[pathParts.length - 2]!
83
- // console.log("change!", evt, path, dirName, indexFile)
84
- cp.execSync(`pnpm eslint --fix "${indexFile}"`);
85
- });
86
- }
87
- // TODO: cache, don't do things when it already existed before, so only file is updated, not created.
88
- const startDir = process.cwd();
89
- function packagejson(p, levels = 0) {
90
- const curDir = process.cwd();
91
- let r = "";
92
- // TODO: no chdir!
93
- try {
94
- process.chdir(path.resolve(startDir, p));
95
- r = cp.execSync(`sh ${p === "." ? "../.." : startDir}/scripts/extract.sh`, { encoding: "utf-8" });
96
- }
97
- finally {
98
- process.chdir(curDir);
99
- }
100
- const s = r.split("\n").sort((a, b) => a < b ? -1 : 1).join("\n");
101
- const items = JSON.parse(`{${s.substring(0, s.length - 1)} }`);
102
- const pkg = JSON.parse(fs.readFileSync(p + "/package.json", "utf-8"));
103
- const t = levels
104
- ? Object
105
- .keys(items)
106
- .filter((_) => _.split("/").length <= (levels + 1 /* `./` */))
107
- .reduce((prev, cur) => {
108
- prev[cur] = items[cur];
109
- return prev;
110
- }, {})
111
- : items;
112
- const exps = {
113
- ...(fs.existsSync(p + "/src/index.ts")
114
- ? {
115
- ".": {
116
- "types": "./dist/index.d.ts",
117
- "default": "./dist/index.js"
118
- }
119
- }
120
- : undefined),
121
- ...Object
122
- .keys(t)
123
- .reduce((prev, cur) => {
124
- if (cur !== "./index" && !cur.includes("/internal/"))
125
- prev[cur] = t[cur];
126
- return prev;
127
- }, {})
128
- // ...pkg.name === "effect-app" ? {
129
- // "./types/awesome": { "types": "./types/awesome.d.ts" }
130
- // } : {},
131
- };
132
- pkg.exports = exps;
133
- fs.writeFileSync(p + "/package.json", JSON.stringify(pkg, null, 2));
134
- }
135
- function monitorPackagejson(path, levels = 0) {
136
- packagejson(path, levels);
137
- w.default(path + "/src", { recursive: true }, (_, __) => {
138
- packagejson(path, levels);
139
- });
140
- }
141
- function updateEffectAppPackages() {
142
- const filters = ["effect-app", "@effect-app/*"];
143
- for (const filter of filters) {
144
- cp.execSync(`pnpm exec ncu -u --filter "${filter}"`, { stdio: "inherit" });
145
- cp.execSync(`pnpm -r exec ncu -u --filter "${filter}"`, { stdio: "inherit" });
146
- }
147
- }
148
- function updateEffectPackages() {
149
- const effectFilters = ["effect", "@effect/*", "@effect-atom/*"];
150
- for (const filter of effectFilters) {
151
- cp.execSync(`pnpm exec ncu -u --filter "${filter}"`, { stdio: "inherit" });
152
- cp.execSync(`pnpm -r exec ncu -u --filter "${filter}"`, { stdio: "inherit" });
153
- }
154
- updateEffectAppPackages();
155
- }
156
- ;
157
- (async () => {
158
- let cmds = process.argv.slice(3).filter((_) => _ !== "--debug");
159
- switch (cmd) {
160
- case "link":
161
- await import("./link.js");
162
- break;
163
- case "unlink":
164
- await import("./unlink.js");
165
- break;
166
- case "watch": {
167
- const dirs = ["../api/src/resources", "../api/src/models"];
168
- const viteConfigFile = "./vite.config.ts";
169
- const viteConfigExists = fs.existsSync(viteConfigFile);
170
- dirs.forEach((d) => {
171
- if (fs.existsSync(d)) {
172
- const files = [];
173
- w.default(d, { recursive: true }, (t, f) => {
174
- // console.log("change!", d)
175
- touch("./tsconfig.json");
176
- if (viteConfigExists && t === "update" && !files.includes(f)) {
177
- // TODO: only on new files
178
- touch(viteConfigFile);
179
- files.push(f);
180
- }
181
- });
182
- }
183
- });
184
- break;
185
- }
186
- case "index-multi": {
187
- ;
188
- [
189
- "./api/src"
190
- ]
191
- .filter((_) => fs.existsSync(_))
192
- .forEach(monitorIndexes);
193
- break;
194
- }
195
- case "index": {
196
- monitorIndexes("./src");
197
- break;
198
- }
199
- case "packagejson": {
200
- monitorPackagejson(".");
201
- break;
202
- }
203
- case "packagejson-target": {
204
- const target = process.argv[3];
205
- target.split(",").forEach((_) => monitorPackagejson(_, 1));
206
- cmds = process.argv.slice(4);
207
- break;
208
- }
209
- case "packagejson-packages": {
210
- fs
211
- .readdirSync(startDir + "/packages")
212
- .map((_) => startDir + "/packages/" + _)
213
- .filter((_) => fs.existsSync(_ + "/package.json")
214
- && fs.existsSync(_ + "/src")
215
- && !_.endsWith("eslint-codegen-model")
216
- && !_.endsWith("vue-components"))
217
- .forEach((_) => monitorPackagejson(_));
218
- break;
219
- }
220
- case "sync": {
221
- console.log("Sync all snippets?");
222
- await askQuestion("Are you sure you want to sync snippets");
223
- await sync();
224
- return process.exit(0);
225
- }
226
- case "ncu:effect": {
227
- console.log("Updating effect & effect-app dependencies...");
228
- updateEffectPackages();
229
- cp.execSync("pnpm i", { stdio: "inherit" });
230
- break;
231
- }
232
- case "ncu:effect-app": {
233
- console.log("Updating effect-app dependencies...");
234
- updateEffectAppPackages();
235
- cp.execSync("pnpm i", { stdio: "inherit" });
236
- break;
237
- }
238
- }
239
- if (cmds.length) {
240
- const p = cp.spawn(cmds[0], cmds.slice(1), { stdio: "inherit" });
241
- p.on("close", (code) => process.exit(code ?? 0));
242
- p.on("exit", (code) => process.exit(code ?? 0));
243
- p.on("disconnect", () => process.exit(1));
244
- }
245
- })();
246
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2xkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL29sZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsMERBQTBEO0FBQzFELE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM5QixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFDbkIsT0FBTyxDQUFDLE1BQU0sWUFBWSxDQUFBO0FBQzFCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUN2QixPQUFPLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRWhDLFNBQVMsV0FBVyxDQUFDLEtBQWE7SUFDaEMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUNsQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDcEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO0tBQ3ZCLENBQUMsQ0FBQTtJQUVGLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUMzQixDQUFDO0FBRUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUM1QixNQUFNLGlCQUFpQixHQUFHO0lBQ3hCLE9BQU87SUFDUCxPQUFPO0lBQ1AsYUFBYTtJQUNiLGFBQWE7SUFDYixvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLE1BQU07SUFDTixRQUFRO0lBQ1IsTUFBTTtJQUNOLFlBQVk7SUFDWixnQkFBZ0I7Q0FDUixDQUFBO0FBQ1YsSUFDRSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFXLENBQUMsRUFDeEMsQ0FBQztJQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQzVGLE9BQU8sQ0FB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
package/dist/sync.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function sync(): Promise<void>;
2
- //# sourceMappingURL=sync.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AASA,wBAAsB,IAAI,kBAOzB"}