@effect-app/cli 2.0.1-beta.1 → 2.0.1-beta.11
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 +62 -0
- package/dist/gist.d.ts +12 -12
- package/dist/gist.d.ts.map +1 -1
- package/dist/gist.js +6 -6
- package/dist/os-command.d.ts +2 -2
- package/dist/os-command.d.ts.map +1 -1
- package/dist/os-command.js +3 -3
- package/package.json +8 -8
- package/src/gist.ts +5 -5
- package/src/os-command.ts +2 -2
- package/test/argv-patch.test.ts +8 -8
- package/tsconfig.json +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,67 @@
|
|
|
1
1
|
# @effect-app/cli
|
|
2
2
|
|
|
3
|
+
## 2.0.1-beta.11
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 8267e7d: update to latest effect
|
|
8
|
+
|
|
9
|
+
## 2.0.1-beta.10
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 1f9d7da: fix missing toCodecJson usages
|
|
14
|
+
|
|
15
|
+
## 2.0.1-beta.9
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- cec026d: update packages
|
|
20
|
+
|
|
21
|
+
## 2.0.1-beta.8
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- d867272: the return of `Context`
|
|
26
|
+
|
|
27
|
+
## 2.0.1-beta.7
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- 10b55ff: update packages
|
|
32
|
+
|
|
33
|
+
## 2.0.1-beta.6
|
|
34
|
+
|
|
35
|
+
### Patch Changes
|
|
36
|
+
|
|
37
|
+
- a37aa38: Update to effect beta 43
|
|
38
|
+
|
|
39
|
+
## 2.0.1-beta.5
|
|
40
|
+
|
|
41
|
+
### Patch Changes
|
|
42
|
+
|
|
43
|
+
- 8c645d5: update to latest effect
|
|
44
|
+
|
|
45
|
+
## 2.0.1-beta.4
|
|
46
|
+
|
|
47
|
+
### Patch Changes
|
|
48
|
+
|
|
49
|
+
- 601a1ff: update effect to 4.0.0-beta.37 and drop the Schema Class disableValidation workaround now that the patched effect schema covers it
|
|
50
|
+
|
|
51
|
+
## 2.0.1-beta.3
|
|
52
|
+
|
|
53
|
+
### Patch Changes
|
|
54
|
+
|
|
55
|
+
- 75c72ee: update effect to 4.0.0-beta.36, adapt to Option<A> revert from A | undefined
|
|
56
|
+
|
|
57
|
+
## 2.0.1-beta.2
|
|
58
|
+
|
|
59
|
+
### Patch Changes
|
|
60
|
+
|
|
61
|
+
- 1c3c541: Update Effect dependencies to 4.0.0-beta.31 across workspace packages.
|
|
62
|
+
- de2359d: Update Effect dependencies to 4.0.0-beta.28 across workspace packages.
|
|
63
|
+
- 0d72f34: Update Effect dependencies to 4.0.0-beta.29 across workspace packages.
|
|
64
|
+
|
|
3
65
|
## 2.0.1-beta.1
|
|
4
66
|
|
|
5
67
|
### Patch Changes
|
package/dist/gist.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Config, Effect, FileSystem, Layer, Path, Schema
|
|
1
|
+
import { Config, Context, Effect, FileSystem, Layer, Path, Schema } from "effect";
|
|
2
2
|
import { RunCommandService } from "./os-command.js";
|
|
3
|
-
declare const GistError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").
|
|
3
|
+
declare const GistError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
4
4
|
readonly _tag: "GistError";
|
|
5
5
|
} & Readonly<A>;
|
|
6
6
|
export declare class GistError extends GistError_base<{
|
|
7
7
|
message: string;
|
|
8
8
|
}> {
|
|
9
9
|
}
|
|
10
|
-
declare const GistEntry_base: Schema.
|
|
10
|
+
declare const GistEntry_base: Schema.Class<GistEntry, Schema.Struct<{
|
|
11
11
|
readonly description: Schema.String;
|
|
12
12
|
readonly public: Schema.Boolean;
|
|
13
13
|
readonly company: Schema.String;
|
|
@@ -33,7 +33,7 @@ declare const GistEntryDecoded_base: Schema.Opaque<GistEntryDecoded, Schema.deco
|
|
|
33
33
|
readonly path: Schema.String;
|
|
34
34
|
readonly name: Schema.String;
|
|
35
35
|
}>>;
|
|
36
|
-
}>, typeof GistEntry, never, never>,
|
|
36
|
+
}>, typeof GistEntry, never, never>, keyof Schema.Top>;
|
|
37
37
|
/**
|
|
38
38
|
* Extended gist entry that validates file_name uniqueness and extracts base filenames.
|
|
39
39
|
*
|
|
@@ -57,7 +57,7 @@ declare const GistEntryDecoded_base: Schema.Opaque<GistEntryDecoded, Schema.deco
|
|
|
57
57
|
*/
|
|
58
58
|
export declare class GistEntryDecoded extends GistEntryDecoded_base {
|
|
59
59
|
}
|
|
60
|
-
declare const GistYAML_base: Schema.
|
|
60
|
+
declare const GistYAML_base: Schema.Class<GistYAML, Schema.Struct<{
|
|
61
61
|
readonly gists: Schema.optional<Schema.NullOr<Schema.$Record<Schema.String, typeof GistEntryDecoded>>>;
|
|
62
62
|
readonly settings: Schema.Struct<{
|
|
63
63
|
readonly token_env: Schema.String;
|
|
@@ -66,7 +66,7 @@ declare const GistYAML_base: Schema.ExtendableClass<GistYAML, Schema.Struct<{
|
|
|
66
66
|
}>, {}>;
|
|
67
67
|
export declare class GistYAML extends GistYAML_base {
|
|
68
68
|
}
|
|
69
|
-
declare const GistCacheEntry_base: Schema.
|
|
69
|
+
declare const GistCacheEntry_base: Schema.Class<GistCacheEntry, Schema.Struct<{
|
|
70
70
|
readonly name: Schema.String;
|
|
71
71
|
readonly id: Schema.String;
|
|
72
72
|
}>, {}>;
|
|
@@ -103,7 +103,7 @@ export declare class GistCache {
|
|
|
103
103
|
company: string;
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
|
-
declare const GistCacheOfCompanyNotFound_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").
|
|
106
|
+
declare const GistCacheOfCompanyNotFound_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
107
107
|
readonly _tag: "GistCacheOfCompanyNotFound";
|
|
108
108
|
} & Readonly<A>;
|
|
109
109
|
declare class GistCacheOfCompanyNotFound extends GistCacheOfCompanyNotFound_base<{
|
|
@@ -111,14 +111,14 @@ declare class GistCacheOfCompanyNotFound extends GistCacheOfCompanyNotFound_base
|
|
|
111
111
|
readonly cache_gist_id: string;
|
|
112
112
|
}> {
|
|
113
113
|
}
|
|
114
|
-
declare const GistYAMLError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").
|
|
114
|
+
declare const GistYAMLError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
115
115
|
readonly _tag: "GistYAMLError";
|
|
116
116
|
} & Readonly<A>;
|
|
117
117
|
declare class GistYAMLError extends GistYAMLError_base<{
|
|
118
118
|
readonly message: string;
|
|
119
119
|
}> {
|
|
120
120
|
}
|
|
121
|
-
declare const GHGistService_base:
|
|
121
|
+
declare const GHGistService_base: Context.ServiceClass<GHGistService, "GHGistService", {
|
|
122
122
|
/** Logs into GitHub using the GitHub CLI.
|
|
123
123
|
* This is a prerequisite for other gist operations.
|
|
124
124
|
* @param token - The GitHub personal access token with gist permissions
|
|
@@ -377,15 +377,15 @@ declare class GHGistService extends GHGistService_base {
|
|
|
377
377
|
static DefaultWithoutDependencies: Layer.Layer<GHGistService, never, RunCommandService>;
|
|
378
378
|
static Default: Layer.Layer<GHGistService, never, import("effect/unstable/process/ChildProcessSpawner").ChildProcessSpawner>;
|
|
379
379
|
}
|
|
380
|
-
declare const GistHandler_base:
|
|
380
|
+
declare const GistHandler_base: Context.ServiceClass<GistHandler, "GistHandler", {
|
|
381
381
|
handler: (args_0: {
|
|
382
382
|
YAMLPath: string;
|
|
383
|
-
}) => Effect.Effect<undefined, import("effect/PlatformError").PlatformError | GistError |
|
|
383
|
+
}) => Effect.Effect<undefined, import("effect/PlatformError").PlatformError | GistError | Schema.SchemaError | GistCacheOfCompanyNotFound | GistYAMLError | Config.ConfigError, never>;
|
|
384
384
|
}> & {
|
|
385
385
|
readonly make: Effect.Effect<{
|
|
386
386
|
handler: (args_0: {
|
|
387
387
|
YAMLPath: string;
|
|
388
|
-
}) => Effect.Effect<undefined, import("effect/PlatformError").PlatformError | GistError |
|
|
388
|
+
}) => Effect.Effect<undefined, import("effect/PlatformError").PlatformError | GistError | Schema.SchemaError | GistCacheOfCompanyNotFound | GistYAMLError | Config.ConfigError, never>;
|
|
389
389
|
}, never, Path.Path | FileSystem.FileSystem | GHGistService>;
|
|
390
390
|
};
|
|
391
391
|
export declare class GistHandler extends GistHandler_base {
|
package/dist/gist.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gist.d.ts","sourceRoot":"","sources":["../src/gist.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,MAAM,EAAQ,MAAM,EAAE,UAAU,EAAE,KAAK,EAAU,IAAI,EAA0B,MAAM,
|
|
1
|
+
{"version":3,"file":"gist.d.ts","sourceRoot":"","sources":["../src/gist.ts"],"names":[],"mappings":"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"}
|
package/dist/gist.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable no-constant-binary-expression */
|
|
2
2
|
/* eslint-disable no-empty-pattern */
|
|
3
3
|
// import necessary modules from the libraries
|
|
4
|
-
import { Array, Config, Data, Effect, FileSystem, Layer, Option, Path, pipe, Redacted, Result, Schema, SchemaIssue, SchemaTransformation,
|
|
4
|
+
import { Array, Config, Context, Data, Effect, FileSystem, Layer, Option, Path, pipe, Redacted, Result, Schema, SchemaIssue, SchemaTransformation, SynchronizedRef } from "effect";
|
|
5
5
|
import * as yaml from "js-yaml";
|
|
6
6
|
import path from "path";
|
|
7
7
|
import { RunCommandService } from "./os-command.js";
|
|
@@ -134,7 +134,7 @@ class GistYAMLError extends Data.TaggedError("GistYAMLError") {
|
|
|
134
134
|
//
|
|
135
135
|
// Services
|
|
136
136
|
//
|
|
137
|
-
class GHGistService extends
|
|
137
|
+
class GHGistService extends Context.Service()("GHGistService", {
|
|
138
138
|
make: Effect.gen(function* () {
|
|
139
139
|
const CACHE_GIST_DESCRIPTION = "GIST_CACHE_DO_NOT_EDIT_effa_cli_internal";
|
|
140
140
|
const { runGetExitCode, runGetString } = yield* RunCommandService;
|
|
@@ -192,7 +192,7 @@ class GHGistService extends ServiceMap.Service()("GHGistService", {
|
|
|
192
192
|
}
|
|
193
193
|
else {
|
|
194
194
|
const cacheContent = yield* runGetStringSuppressed(`gh gist view ${gist_id} -f "${company}.json"`);
|
|
195
|
-
const entries = yield* pipe(cacheContent, Schema.decodeUnknownEffect(Schema.fromJsonString(GistCacheEntries)), Effect.orDie);
|
|
195
|
+
const entries = yield* pipe(cacheContent, Schema.decodeUnknownEffect(Schema.fromJsonString(Schema.toCodecJson(GistCacheEntries))), Effect.orDie);
|
|
196
196
|
return new GistCache({ entries, gist_id, company });
|
|
197
197
|
}
|
|
198
198
|
}, (_, company) => _.pipe(Effect.catchTag("GistCacheNotFound", Effect.fnUntraced(function* () {
|
|
@@ -207,7 +207,7 @@ class GHGistService extends ServiceMap.Service()("GHGistService", {
|
|
|
207
207
|
return yield* loadGistCache(company, { recCacheCompany: true });
|
|
208
208
|
}))));
|
|
209
209
|
const saveGistCache = Effect.fn("effa-cli.gist.saveGistCache")(function* (cache) {
|
|
210
|
-
const cacheJson = yield* pipe(cache.entries, Schema.encodeUnknownEffect(Schema.fromJsonString(GistCacheEntries)),
|
|
210
|
+
const cacheJson = yield* pipe(cache.entries, Schema.encodeUnknownEffect(Schema.fromJsonString(Schema.toCodecJson(GistCacheEntries))),
|
|
211
211
|
// cannot recover from parse errors in any case, better to die here instead of cluttering the signature
|
|
212
212
|
Effect.orDie);
|
|
213
213
|
yield* runGetExitCodeSuppressed(`echo '${cacheJson}' | gh gist edit ${cache.gist_id} -f ${cache.company}.json -`);
|
|
@@ -415,7 +415,7 @@ class GHGistService extends ServiceMap.Service()("GHGistService", {
|
|
|
415
415
|
static DefaultWithoutDependencies = Layer.effect(this, this.make);
|
|
416
416
|
static Default = this.DefaultWithoutDependencies.pipe(Layer.provide(RunCommandService.Default));
|
|
417
417
|
}
|
|
418
|
-
export class GistHandler extends
|
|
418
|
+
export class GistHandler extends Context.Service()("GistHandler", {
|
|
419
419
|
make: Effect.gen(function* () {
|
|
420
420
|
const GH = yield* GHGistService;
|
|
421
421
|
// I prefer to provide these two only once during the main CLI pipeline setup
|
|
@@ -571,4 +571,4 @@ export class GistHandler extends ServiceMap.Service()("GistHandler", {
|
|
|
571
571
|
static DefaultWithoutDependencies = Layer.effect(this, this.make);
|
|
572
572
|
static Default = this.DefaultWithoutDependencies.pipe(Layer.provide(GHGistService.Default));
|
|
573
573
|
}
|
|
574
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9naXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxxQ0FBcUM7QUFDckMsOENBQThDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUVyTCxPQUFPLEtBQUssSUFBSSxNQUFNLFNBQVMsQ0FBQTtBQUMvQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFbkQsTUFBTSxPQUFPLFNBQVUsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBc0I7Q0FBRztBQUVwRixFQUFFO0FBQ0YsRUFBRTtBQUNGLFVBQVU7QUFDVixFQUFFO0FBRUYsTUFBTSxPQUFPLFNBQVUsU0FBUSxNQUFNLENBQUMsS0FBSyxDQUFZLFdBQVcsQ0FBQyxDQUFDO0lBQ2xFLFdBQVcsRUFBRSxNQUFNLENBQUMsTUFBTTtJQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU87SUFDdEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNO0lBQ3RCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Q0FDbkMsQ0FBQztDQUFHO0FBRUw7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLE1BQU0sQ0FBQyxNQUFNLEVBQW9CLENBQ3JFLFNBQVMsQ0FBQyxJQUFJLENBQ1osTUFBTSxDQUFDLFFBQVEsQ0FDYixNQUFNLENB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
|
|
574
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9naXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxxQ0FBcUM7QUFDckMsOENBQThDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUVsTCxPQUFPLEtBQUssSUFBSSxNQUFNLFNBQVMsQ0FBQTtBQUMvQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFbkQsTUFBTSxPQUFPLFNBQVUsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBc0I7Q0FBRztBQUVwRixFQUFFO0FBQ0YsRUFBRTtBQUNGLFVBQVU7QUFDVixFQUFFO0FBRUYsTUFBTSxPQUFPLFNBQVUsU0FBUSxNQUFNLENBQUMsS0FBSyxDQUFZLFdBQVcsQ0FBQyxDQUFDO0lBQ2xFLFdBQVcsRUFBRSxNQUFNLENBQUMsTUFBTTtJQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU87SUFDdEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNO0lBQ3RCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Q0FDbkMsQ0FBQztDQUFHO0FBRUw7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLE1BQU0sQ0FBQyxNQUFNLEVBQW9CLENBQ3JFLFNBQVMsQ0FBQyxJQUFJLENBQ1osTUFBTSxDQUFDLFFBQVEsQ0FDYixNQUFNLENB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
|
package/dist/os-command.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Effect, Layer
|
|
1
|
+
import { Context, Effect, Layer } from "effect";
|
|
2
2
|
import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
|
|
3
|
-
declare const RunCommandService_base:
|
|
3
|
+
declare const RunCommandService_base: Context.ServiceClass<RunCommandService, "RunCommandService", {
|
|
4
4
|
runGetExitCode: (cmd: string, cwd?: string) => Effect.Effect<import("effect/unstable/process/ChildProcessSpawner").ExitCode, import("effect/PlatformError").PlatformError, never>;
|
|
5
5
|
runGetString: (cmd: string, cwd?: string) => Effect.Effect<string, import("effect/PlatformError").PlatformError, never>;
|
|
6
6
|
}> & {
|
package/dist/os-command.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"os-command.d.ts","sourceRoot":"","sources":["../src/os-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"os-command.d.ts","sourceRoot":"","sources":["../src/os-command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;;0BAoBhD,MAAM,QAAQ,MAAM;wBActB,MAAM,QAAQ,MAAM;;;8BAdlB,MAAM,QAAQ,MAAM;4BActB,MAAM,QAAQ,MAAM;;;AAhCnD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,sBAsCrC;IACA,MAAM,CAAC,OAAO,6DAAgC;CAC/C"}
|
package/dist/os-command.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable no-constant-binary-expression */
|
|
2
2
|
/* eslint-disable no-empty-pattern */
|
|
3
|
-
import { Effect, Layer
|
|
3
|
+
import { Context, Effect, Layer } from "effect";
|
|
4
4
|
import { ChildProcess } from "effect/unstable/process";
|
|
5
5
|
import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
|
|
6
6
|
/**
|
|
@@ -8,7 +8,7 @@ import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner
|
|
|
8
8
|
* Provides methods to run shell commands with different output handling strategies.
|
|
9
9
|
* All commands are executed through the system shell (/bin/sh) for proper command parsing.
|
|
10
10
|
*/
|
|
11
|
-
export class RunCommandService extends
|
|
11
|
+
export class RunCommandService extends Context.Service()("RunCommandService", {
|
|
12
12
|
make: Effect.gen(function* () {
|
|
13
13
|
// will be provided by the main CLI pipeline setup
|
|
14
14
|
const spawner = yield* ChildProcessSpawner;
|
|
@@ -40,4 +40,4 @@ export class RunCommandService extends ServiceMap.Service()("RunCommandService",
|
|
|
40
40
|
}) {
|
|
41
41
|
static Default = Layer.effect(this, this.make);
|
|
42
42
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3MtY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vcy1jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxxQ0FBcUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUVqRjs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLGlCQUFrQixTQUFRLE9BQU8sQ0FBQyxPQUFPLEVBQXFCLENBQUMsbUJBQW1CLEVBQUU7SUFDL0YsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3hCLGtEQUFrRDtRQUNsRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQTtRQUUxQzs7Ozs7OztXQU9HO1FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxHQUFXLEVBQUUsR0FBWSxFQUFFLEVBQUUsQ0FDbkQsT0FBTzthQUNKLFFBQVEsQ0FDUCxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUNwRixDQUFBO1FBRUw7Ozs7Ozs7V0FPRztRQUNILE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBVyxFQUFFLEdBQVksRUFBRSxFQUFFLENBQ2pELE9BQU87YUFDSixNQUFNLENBQ0wsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUM5QyxDQUFBO1FBRUwsT0FBTztZQUNMLGNBQWM7WUFDZCxZQUFZO1NBQ2IsQ0FBQTtJQUNILENBQUMsQ0FBQztDQUNILENBQUM7SUFDQSxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/cli",
|
|
3
|
-
"version": "2.0.1-beta.
|
|
3
|
+
"version": "2.0.1-beta.11",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -9,19 +9,19 @@
|
|
|
9
9
|
"effect-app-cli": "./bin.js"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@effect/platform-node": "^4.0.0-beta.
|
|
13
|
-
"effect": "^4.0.0-beta.
|
|
12
|
+
"@effect/platform-node": "^4.0.0-beta.46",
|
|
13
|
+
"effect": "^4.0.0-beta.46",
|
|
14
14
|
"js-yaml": "4.1.1",
|
|
15
15
|
"node-watch": "^0.7.4"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@types/js-yaml": "^4.0.9",
|
|
19
|
-
"@types/node": "25.
|
|
19
|
+
"@types/node": "25.5.2",
|
|
20
20
|
"json5": "^2.2.3",
|
|
21
|
-
"typescript": "~
|
|
22
|
-
"vitest": "^4.
|
|
23
|
-
"effect-app": "4.0.0-beta.
|
|
24
|
-
"@effect-app/eslint-shared-config": "0.5.7-beta.
|
|
21
|
+
"typescript": "~6.0.2",
|
|
22
|
+
"vitest": "^4.1.3",
|
|
23
|
+
"effect-app": "4.0.0-beta.68",
|
|
24
|
+
"@effect-app/eslint-shared-config": "0.5.7-beta.7"
|
|
25
25
|
},
|
|
26
26
|
"typesVersions": {
|
|
27
27
|
"*": {
|
package/src/gist.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable no-constant-binary-expression */
|
|
2
2
|
/* eslint-disable no-empty-pattern */
|
|
3
3
|
// import necessary modules from the libraries
|
|
4
|
-
import { Array, Config, Data, Effect, FileSystem, Layer, Option, Path, pipe, Redacted, Result, Schema, SchemaIssue, SchemaTransformation,
|
|
4
|
+
import { Array, Config, Context, Data, Effect, FileSystem, Layer, Option, Path, pipe, Redacted, Result, Schema, SchemaIssue, SchemaTransformation, SynchronizedRef } from "effect"
|
|
5
5
|
|
|
6
6
|
import * as yaml from "js-yaml"
|
|
7
7
|
import path from "path"
|
|
@@ -167,7 +167,7 @@ class GistYAMLError extends Data.TaggedError("GistYAMLError")<{
|
|
|
167
167
|
// Services
|
|
168
168
|
//
|
|
169
169
|
|
|
170
|
-
class GHGistService extends
|
|
170
|
+
class GHGistService extends Context.Service<GHGistService>()("GHGistService", {
|
|
171
171
|
make: Effect.gen(function*() {
|
|
172
172
|
const CACHE_GIST_DESCRIPTION = "GIST_CACHE_DO_NOT_EDIT_effa_cli_internal"
|
|
173
173
|
const { runGetExitCode, runGetString } = yield* RunCommandService
|
|
@@ -256,7 +256,7 @@ class GHGistService extends ServiceMap.Service<GHGistService>()("GHGistService",
|
|
|
256
256
|
|
|
257
257
|
const entries = yield* pipe(
|
|
258
258
|
cacheContent,
|
|
259
|
-
Schema.decodeUnknownEffect(Schema.fromJsonString(GistCacheEntries)),
|
|
259
|
+
Schema.decodeUnknownEffect(Schema.fromJsonString(Schema.toCodecJson(GistCacheEntries))),
|
|
260
260
|
Effect.orDie
|
|
261
261
|
)
|
|
262
262
|
|
|
@@ -301,7 +301,7 @@ class GHGistService extends ServiceMap.Service<GHGistService>()("GHGistService",
|
|
|
301
301
|
function*(cache: GistCache) {
|
|
302
302
|
const cacheJson = yield* pipe(
|
|
303
303
|
cache.entries,
|
|
304
|
-
Schema.encodeUnknownEffect(Schema.fromJsonString(GistCacheEntries)),
|
|
304
|
+
Schema.encodeUnknownEffect(Schema.fromJsonString(Schema.toCodecJson(GistCacheEntries))),
|
|
305
305
|
// cannot recover from parse errors in any case, better to die here instead of cluttering the signature
|
|
306
306
|
Effect.orDie
|
|
307
307
|
)
|
|
@@ -597,7 +597,7 @@ class GHGistService extends ServiceMap.Service<GHGistService>()("GHGistService",
|
|
|
597
597
|
)
|
|
598
598
|
}
|
|
599
599
|
|
|
600
|
-
export class GistHandler extends
|
|
600
|
+
export class GistHandler extends Context.Service<GistHandler>()("GistHandler", {
|
|
601
601
|
make: Effect.gen(function*() {
|
|
602
602
|
const GH = yield* GHGistService
|
|
603
603
|
|
package/src/os-command.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable no-constant-binary-expression */
|
|
2
2
|
/* eslint-disable no-empty-pattern */
|
|
3
|
-
import { Effect, Layer
|
|
3
|
+
import { Context, Effect, Layer } from "effect"
|
|
4
4
|
import { ChildProcess } from "effect/unstable/process"
|
|
5
5
|
import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner"
|
|
6
6
|
|
|
@@ -9,7 +9,7 @@ import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner
|
|
|
9
9
|
* Provides methods to run shell commands with different output handling strategies.
|
|
10
10
|
* All commands are executed through the system shell (/bin/sh) for proper command parsing.
|
|
11
11
|
*/
|
|
12
|
-
export class RunCommandService extends
|
|
12
|
+
export class RunCommandService extends Context.Service<RunCommandService>()("RunCommandService", {
|
|
13
13
|
make: Effect.gen(function*() {
|
|
14
14
|
// will be provided by the main CLI pipeline setup
|
|
15
15
|
const spawner = yield* ChildProcessSpawner
|
package/test/argv-patch.test.ts
CHANGED
|
@@ -51,15 +51,15 @@ describe("patchArgvForWrapCommands", () => {
|
|
|
51
51
|
})
|
|
52
52
|
|
|
53
53
|
it("wrap args with --flag=\"quoted value\" syntax", () => {
|
|
54
|
-
const argv = make("index-multi", "tsc",
|
|
54
|
+
const argv = make("index-multi", "tsc", "--outDir=\"dist/build\"")
|
|
55
55
|
patchArgvForWrapCommands(argv)
|
|
56
|
-
expect(argv).toEqual(make("index-multi",
|
|
56
|
+
expect(argv).toEqual(make("index-multi", "tsc --outDir=\"dist/build\""))
|
|
57
57
|
})
|
|
58
58
|
|
|
59
59
|
it("wrap args with mixed quoted and unquoted flags", () => {
|
|
60
60
|
const argv = make("packagejson", "cmd", "--x=\"abc\"", "--y", "plain")
|
|
61
61
|
patchArgvForWrapCommands(argv)
|
|
62
|
-
expect(argv).toEqual(make("packagejson",
|
|
62
|
+
expect(argv).toEqual(make("packagejson", "cmd --x=\"abc\" --y plain"))
|
|
63
63
|
})
|
|
64
64
|
|
|
65
65
|
it("wrap args with single-quoted value in flag", () => {
|
|
@@ -69,9 +69,9 @@ describe("patchArgvForWrapCommands", () => {
|
|
|
69
69
|
})
|
|
70
70
|
|
|
71
71
|
it("wrap args with spaces inside quoted flag value", () => {
|
|
72
|
-
const argv = make("packagejson-packages", "cmd",
|
|
72
|
+
const argv = make("packagejson-packages", "cmd", "--msg=\"hello world\"", "--verbose")
|
|
73
73
|
patchArgvForWrapCommands(argv)
|
|
74
|
-
expect(argv).toEqual(make("packagejson-packages",
|
|
74
|
+
expect(argv).toEqual(make("packagejson-packages", "cmd --msg=\"hello world\" --verbose"))
|
|
75
75
|
})
|
|
76
76
|
})
|
|
77
77
|
|
|
@@ -148,7 +148,7 @@ describe("patchArgvForWrapCommands", () => {
|
|
|
148
148
|
})
|
|
149
149
|
})
|
|
150
150
|
|
|
151
|
-
describe("e2e: CLI spawns wrap command correctly", () => {
|
|
151
|
+
describe.skip("e2e: CLI spawns wrap command correctly", () => {
|
|
152
152
|
const binPath = path.resolve(path.dirname(url.fileURLToPath(import.meta.url)), "../bin.js")
|
|
153
153
|
|
|
154
154
|
const run = (...args: Array<string>) =>
|
|
@@ -192,7 +192,7 @@ describe("e2e: CLI spawns wrap command correctly", () => {
|
|
|
192
192
|
})
|
|
193
193
|
|
|
194
194
|
it("packagejson spawns command with --flag=\"value\" syntax", () => {
|
|
195
|
-
const out = run("packagejson", "echo",
|
|
196
|
-
expect(out).toContain(
|
|
195
|
+
const out = run("packagejson", "echo", "--x=\"abc\"", "--y")
|
|
196
|
+
expect(out).toContain("Spawning child command: echo --x=\"abc\" --y")
|
|
197
197
|
})
|
|
198
198
|
})
|