@effect-app/cli 1.24.0 → 1.26.0
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/CHANGELOG.md +12 -0
- package/dist/gist.d.ts +231 -0
- package/dist/gist.d.ts.map +1 -0
- package/dist/gist.js +447 -0
- package/dist/index.js +35 -65
- package/dist/os-command.d.ts +18 -0
- package/dist/os-command.d.ts.map +1 -0
- package/dist/os-command.js +47 -0
- package/package.json +12 -18
- package/src/gist.ts +615 -0
- package/src/index.ts +50 -73
- package/src/os-command.ts +63 -0
- package/test.gists.yaml +20 -0
- package/dist/link.d.ts +0 -2
- package/dist/link.d.ts.map +0 -1
- package/dist/link.js +0 -17
- package/dist/old.d.ts +0 -2
- package/dist/old.d.ts.map +0 -1
- package/dist/old.js +0 -246
- package/dist/sync.d.ts +0 -2
- package/dist/sync.d.ts.map +0 -1
- package/dist/sync.js +0 -16
- package/dist/unlink.d.ts +0 -2
- package/dist/unlink.d.ts.map +0 -1
- package/dist/unlink.js +0 -13
- package/src/link.ts +0 -20
- package/src/old.ts +0 -283
- package/src/sync.ts +0 -17
- package/src/unlink.ts +0 -14
- package/vitest.config.ts.timestamp-1709838404819-f2fb28517168c.mjs +0 -33
- package/vitest.config.ts.timestamp-1709838418683-9c399c96f9d78.mjs +0 -33
- package/vitest.config.ts.timestamp-1709838649058-0e8f9431c893d.mjs +0 -33
- package/vitest.config.ts.timestamp-1711724061889-4985ba59def8.mjs +0 -37
- package/vitest.config.ts.timestamp-1711743471019-3c5e0c6ca2188.mjs +0 -37
- package/vitest.config.ts.timestamp-1711743489536-5ca18d3f67759.mjs +0 -37
- package/vitest.config.ts.timestamp-1711743593444-e40a8dcd4fc31.mjs +0 -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 {
|
|
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,
|
|
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*
|
|
82
|
-
yield*
|
|
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*
|
|
95
|
-
yield*
|
|
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*
|
|
125
|
-
yield*
|
|
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*
|
|
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*
|
|
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*
|
|
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*
|
|
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*
|
|
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(
|
|
521
|
+
Effect.andThen(runGetExitCode("pnpm i"))
|
|
571
522
|
)
|
|
572
523
|
|
|
573
524
|
case "effect":
|
|
574
525
|
return yield* updateEffectPackages.pipe(
|
|
575
|
-
Effect.andThen(
|
|
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(
|
|
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(
|
|
546
|
+
Effect.andThen(runGetExitCode("pnpm i"))
|
|
596
547
|
)
|
|
597
548
|
})
|
|
598
549
|
)
|
|
@@ -698,6 +649,23 @@ 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
|
+
return yield* GistHandler.handler({
|
|
663
|
+
YAMLPath: config
|
|
664
|
+
})
|
|
665
|
+
})
|
|
666
|
+
)
|
|
667
|
+
.pipe(Command.withDescription("Create GitHub gists from files specified in YAML configuration"))
|
|
668
|
+
|
|
701
669
|
const nuke = Command
|
|
702
670
|
.make(
|
|
703
671
|
"nuke",
|
|
@@ -713,16 +681,16 @@ Effect
|
|
|
713
681
|
yield* Effect.logInfo(dryRun ? "Performing dry run cleanup..." : "Performing nuclear cleanup...")
|
|
714
682
|
|
|
715
683
|
if (dryRun) {
|
|
716
|
-
yield*
|
|
684
|
+
yield* runGetExitCode(
|
|
717
685
|
"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
686
|
)
|
|
719
687
|
} else {
|
|
720
|
-
yield*
|
|
688
|
+
yield* runGetExitCode(
|
|
721
689
|
"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
690
|
)
|
|
723
691
|
|
|
724
692
|
if (storePrune) {
|
|
725
|
-
yield*
|
|
693
|
+
yield* runGetExitCode(
|
|
726
694
|
"pnpm store prune"
|
|
727
695
|
)
|
|
728
696
|
}
|
|
@@ -745,6 +713,7 @@ Effect
|
|
|
745
713
|
indexMulti,
|
|
746
714
|
packagejson,
|
|
747
715
|
packagejsonPackages,
|
|
716
|
+
gist,
|
|
748
717
|
nuke
|
|
749
718
|
])),
|
|
750
719
|
{
|
|
@@ -757,6 +726,14 @@ Effect
|
|
|
757
726
|
})()
|
|
758
727
|
.pipe(
|
|
759
728
|
Effect.scoped,
|
|
760
|
-
Effect.provide(
|
|
729
|
+
Effect.provide(
|
|
730
|
+
Layer.provideMerge(
|
|
731
|
+
Layer.merge(
|
|
732
|
+
GistHandler.Default,
|
|
733
|
+
RunCommandService.Default
|
|
734
|
+
),
|
|
735
|
+
NodeContext.layer
|
|
736
|
+
)
|
|
737
|
+
),
|
|
761
738
|
NodeRuntime.runMain
|
|
762
739
|
)
|
|
@@ -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
|
+
}
|
package/test.gists.yaml
ADDED
|
@@ -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
package/dist/link.d.ts.map
DELETED
|
@@ -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
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
package/dist/sync.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AASA,wBAAsB,IAAI,kBAOzB"}
|
package/dist/sync.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import fs from "fs/promises";
|
|
2
|
-
const baseUrl = `https://raw.githubusercontent.com/effect-app/boilerplate/refs/heads/main`;
|
|
3
|
-
const vscode = `${baseUrl}/.vscode`;
|
|
4
|
-
const snippets = [
|
|
5
|
-
"model.code-snippets",
|
|
6
|
-
"service.code-snippets"
|
|
7
|
-
];
|
|
8
|
-
export async function sync() {
|
|
9
|
-
await Promise.all(snippets.map(async (snippet) => {
|
|
10
|
-
const url = `${vscode}/${snippet}`;
|
|
11
|
-
const res = await fetch(url);
|
|
12
|
-
const content = await res.text();
|
|
13
|
-
await fs.writeFile(`.vscode/${snippet}`, content, "utf-8");
|
|
14
|
-
}));
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zeW5jLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUU1QixNQUFNLE9BQU8sR0FBRywwRUFBMEUsQ0FBQTtBQUMxRixNQUFNLE1BQU0sR0FBRyxHQUFHLE9BQU8sVUFBVSxDQUFBO0FBQ25DLE1BQU0sUUFBUSxHQUFHO0lBQ2YscUJBQXFCO0lBQ3JCLHVCQUF1QjtDQUN4QixDQUFBO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxJQUFJO0lBQ3hCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUMvQyxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQTtRQUNsQyxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM1QixNQUFNLE9BQU8sR0FBRyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNoQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDNUQsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNMLENBQUMifQ==
|
package/dist/unlink.d.ts
DELETED