@effect-app/cli 1.26.2 → 1.26.4

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @effect-app/cli
2
2
 
3
+ ## 1.26.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 36aba87: move gh presence check when logging in because of freakin' services initializations
8
+
9
+ ## 1.26.3
10
+
11
+ ### Patch Changes
12
+
13
+ - 25d353c: proper login
14
+
3
15
  ## 1.26.2
4
16
 
5
17
  ### Patch Changes
package/dist/gist.d.ts CHANGED
@@ -129,6 +129,13 @@ export declare class GistCache {
129
129
  declare const GHGistService_base: Effect.Service.Class<GHGistService, "GHGistService", {
130
130
  readonly dependencies: readonly [import("effect/Layer").Layer<RunCommandService, never, import("@effect/platform/CommandExecutor").CommandExecutor>];
131
131
  readonly effect: Effect.Effect<{
132
+ /** Logs into GitHub using the GitHub CLI.
133
+ * This is a prerequisite for other gist operations.
134
+ * @param token - The GitHub personal access token with gist permissions
135
+ *
136
+ * @returns An Effect that succeeds when login is successful
137
+ */
138
+ login: (token: string) => Effect.Effect<undefined, Error, never>;
132
139
  /**
133
140
  * Loads the gist cache from GitHub, containing mappings of YAML configuration names to gist IDs.
134
141
  * If no cache exists, creates a new empty cache gist.
@@ -1 +1 @@
1
- {"version":3,"file":"gist.d.ts","sourceRoot":"","sources":["../src/gist.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,EAAuB,MAAM,EAAU,WAAW,EAAQ,MAAM,EAAmB,MAAM,QAAQ,CAAA;AAGxG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;;;;;;;;;;;;;;;;AAOnD,qBAAa,SAAU,SAAQ,cAI7B;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,gBAAiB,SAAQ,qBAoDpC;CAAG;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,QAAS,SAAQ,aAS5B;CAAG;;;;;;;;;;;;AAEL,qBAAa,cAAe,SAAQ,mBAGlC;CAAG;AAEL,eAAO,MAAM,gBAAgB,sCAA+B,CAAA;AAC5D,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC;CAAG;AAExF;;;;;;;;;;;GAWG;AACH,qBAAa,SAAS;IACpB,OAAO,EAAE,gBAAgB,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;gBAEH,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,gBAAgB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAIjF;;;;QA0PK;;;;;WAKG;;QAGH;;;;;;WAMG;;QAGH;;;;;;;;;;WAUG;;uBA3IU,MAAM;yBACJ,MAAM;mBACZ,MAAM,EAAE;uBACJ,OAAO;mBACX,SAAS;;QA0IlB;;;;;;;WAOG;;qBAzGQ,MAAM;uBACJ,MAAM;;QA2GnB;;;;;;WAMG;;qBApGQ,MAAM;uBACJ,MAAM;uBACN,MAAM;;QAqGnB;;;;;;;WAOG;;qBAnGQ,MAAM;uBACJ,MAAM;uBACN,MAAM;uBACN,MAAM;;QAmGnB;;;;;;WAMG;;qBArFQ,MAAM;uBACJ,MAAM;uBACN,MAAM;;;;AArNzB,cAAM,aAAc,SAAQ,kBA4S1B;CAAG;;;;;;sBAcqF,MAAM;;;;AAXhG,qBAAa,WAAY,SAAQ,gBAmK/B;CAAG"}
1
+ {"version":3,"file":"gist.d.ts","sourceRoot":"","sources":["../src/gist.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,EAAuB,MAAM,EAAU,WAAW,EAAkB,MAAM,EAAmB,MAAM,QAAQ,CAAA;AAIlH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;;;;;;;;;;;;;;;;AAOnD,qBAAa,SAAU,SAAQ,cAI7B;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,gBAAiB,SAAQ,qBAoDpC;CAAG;;;;;;;;;;;;;;;;;;;;;;;AAEL,qBAAa,QAAS,SAAQ,aAS5B;CAAG;;;;;;;;;;;;AAEL,qBAAa,cAAe,SAAQ,mBAGlC;CAAG;AAEL,eAAO,MAAM,gBAAgB,sCAA+B,CAAA;AAC5D,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC;CAAG;AAExF;;;;;;;;;;;GAWG;AACH,qBAAa,SAAS;IACpB,OAAO,EAAE,gBAAgB,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;gBAEH,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,gBAAgB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAIjF;;;;QAmQK;;;;;WAKG;;QAGH;;;;;WAKG;;QAGH;;;;;;WAMG;;QAGH;;;;;;;;;;WAUG;;uBAlKU,MAAM;yBACJ,MAAM;mBACZ,MAAM,EAAE;uBACJ,OAAO;mBACX,SAAS;;QAiKlB;;;;;;;WAOG;;qBAhIQ,MAAM;uBACJ,MAAM;;QAkInB;;;;;;WAMG;;qBA3HQ,MAAM;uBACJ,MAAM;uBACN,MAAM;;QA4HnB;;;;;;;WAOG;;qBA1HQ,MAAM;uBACJ,MAAM;uBACN,MAAM;uBACN,MAAM;;QA0HnB;;;;;;WAMG;;qBA5GQ,MAAM;uBACJ,MAAM;uBACN,MAAM;;;;AA/MzB,cAAM,aAAc,SAAQ,kBA6T1B;CAAG;;;;;;sBAcqF,MAAM;;;;AAXhG,qBAAa,WAAY,SAAQ,gBAqK/B;CAAG"}
package/dist/gist.js CHANGED
@@ -2,7 +2,7 @@
2
2
  /* eslint-disable no-empty-pattern */
3
3
  // import necessary modules from the libraries
4
4
  import { FileSystem, Path } from "@effect/platform";
5
- import { Array, Config, Data, Effect, Option, ParseResult, pipe, Schema, SynchronizedRef } from "effect";
5
+ import { Array, Config, Data, Effect, Option, ParseResult, pipe, Redacted, Schema, SynchronizedRef } from "effect";
6
6
  import * as yaml from "js-yaml";
7
7
  import path from "path";
8
8
  import { RunCommandService } from "./os-command.js";
@@ -129,9 +129,6 @@ class GHGistService extends Effect.Service()("GHGistService", {
129
129
  effect: Effect.gen(function* () {
130
130
  const CACHE_GIST_DESCRIPTION = "GIST_CACHE_DO_NOT_EDIT_effa_cli_internal";
131
131
  const { runGetExitCode, runGetString } = yield* RunCommandService;
132
- if ((yield* runGetExitCode("gh --version").pipe(Effect.orDie)) !== 0) {
133
- return yield* Effect.dieMessage("GitHub CLI (gh) is not installed or not found in PATH. Please install it to use the gist command.");
134
- }
135
132
  // the client cannot recover from PlatformErrors, so we convert failures into defects to clean up the signatures
136
133
  const runGetExitCodeSuppressed = (...args) => {
137
134
  return runGetExitCode(...args).pipe(Effect.catchAll((e) => Effect.dieMessage(`Command failed: ${args.join(" ")}\nError: ${e.message}`)), Effect.asVoid);
@@ -256,7 +253,26 @@ class GHGistService extends Effect.Service()("GHGistService", {
256
253
  .join(" ");
257
254
  return yield* runGetExitCodeSuppressed(editCommand);
258
255
  });
256
+ const login = Effect.fn("GHGistService.login")(function* (token) {
257
+ if ((yield* runGetExitCode("gh --version").pipe(Effect.orDie)) !== 0) {
258
+ return yield* Effect.dieMessage("GitHub CLI (gh) is not installed or not found in PATH. Please install it to use the gist command.");
259
+ }
260
+ const isLogged = yield* runGetExitCode(`echo ${token} | gh auth login --with-token`).pipe(Effect.orDie);
261
+ if (isLogged !== 0) {
262
+ return yield* Effect.fail(new Error("Failed to log in to GitHub CLI with provided token"));
263
+ }
264
+ else {
265
+ yield* Effect.logInfo("Successfully logged in to GitHub CLI");
266
+ }
267
+ });
259
268
  return {
269
+ /** Logs into GitHub using the GitHub CLI.
270
+ * This is a prerequisite for other gist operations.
271
+ * @param token - The GitHub personal access token with gist permissions
272
+ *
273
+ * @returns An Effect that succeeds when login is successful
274
+ */
275
+ login,
260
276
  /**
261
277
  * Loads the gist cache from GitHub, containing mappings of YAML configuration names to gist IDs.
262
278
  * If no cache exists, creates a new empty cache gist.
@@ -348,6 +364,7 @@ export class GistHandler extends Effect.Service()("GistHandler", {
348
364
  const redactedToken = yield* Config.redacted(config.settings.token_env);
349
365
  yield* Effect.logInfo(`Using GitHub token from environment variable: ${config.settings.token_env}`);
350
366
  yield* Effect.logInfo(`Token loaded: ${redactedToken}`); // this will show <redacted> in logs
367
+ yield* GH.login(Redacted.value(redactedToken));
351
368
  const cache = yield* SynchronizedRef.make(yield* GH.loadGistCache());
352
369
  // handle each gist entry in the configuration
353
370
  for (const [name, gistConfig] of Object.entries(config.gists)) {
@@ -447,4 +464,4 @@ export class GistHandler extends Effect.Service()("GistHandler", {
447
464
  })
448
465
  }) {
449
466
  }
450
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9naXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxxQ0FBcUM7QUFDckMsOENBQThDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQ3hHLE9BQU8sS0FBSyxJQUFJLE1BQU0sU0FBUyxDQUFBO0FBQy9CLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUVuRCxFQUFFO0FBQ0YsRUFBRTtBQUNGLFVBQVU7QUFDVixFQUFFO0FBRUYsTUFBTSxPQUFPLFNBQVUsU0FBUSxNQUFNLENBQUMsS0FBSyxDQUFZLFdBQVcsQ0FBQyxDQUFDO0lBQ2xFLFdBQVcsRUFBRSxNQUFNLENBQUMsTUFBTTtJQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU87SUFDdEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztDQUNuQyxDQUFDO0NBQUc7QUFFTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsU0FBUyxDQUFDLGVBQWUsQ0FBbUIsa0JBQWtCLENBQUMsQ0FBQztJQUNwRyxlQUFlLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzFDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTTtRQUNuQixJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU07S0FDcEIsQ0FBQyxDQUFDO0NBQ0osRUFBRTtJQUNE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
467
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9naXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxxQ0FBcUM7QUFDckMsOENBQThDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFFbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUVsSCxPQUFPLEtBQUssSUFBSSxNQUFNLFNBQVMsQ0FBQTtBQUMvQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFbkQsRUFBRTtBQUNGLEVBQUU7QUFDRixVQUFVO0FBQ1YsRUFBRTtBQUVGLE1BQU0sT0FBTyxTQUFVLFNBQVEsTUFBTSxDQUFDLEtBQUssQ0FBWSxXQUFXLENBQUMsQ0FBQztJQUNsRSxXQUFXLEVBQUUsTUFBTSxDQUFDLE1BQU07SUFDMUIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPO0lBQ3RCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Q0FDbkMsQ0FBQztDQUFHO0FBRUw7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFNBQVMsQ0FBQyxlQUFlLENBQW1CLGtCQUFrQixDQUFDLENBQUM7SUFDcEcsZUFBZSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUMxQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU07UUFDbkIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNO0tBQ3BCLENBQUMsQ0FBQztDQUNK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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-app/cli",
3
- "version": "1.26.2",
3
+ "version": "1.26.4",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "bin": {
@@ -20,8 +20,8 @@
20
20
  "json5": "^2.2.3",
21
21
  "typescript": "~5.9.2",
22
22
  "vitest": "^3.2.4",
23
- "effect-app": "3.8.0",
24
- "@effect-app/eslint-shared-config": "0.2.1"
23
+ "@effect-app/eslint-shared-config": "0.2.1",
24
+ "effect-app": "3.8.0"
25
25
  },
26
26
  "typesVersions": {
27
27
  "*": {
package/src/gist.ts CHANGED
@@ -3,7 +3,8 @@
3
3
  // import necessary modules from the libraries
4
4
  import { FileSystem, Path } from "@effect/platform"
5
5
 
6
- import { Array, Config, Data, Effect, Option, ParseResult, pipe, Schema, SynchronizedRef } from "effect"
6
+ import { Array, Config, Data, Effect, Option, ParseResult, pipe, Redacted, Schema, SynchronizedRef } from "effect"
7
+
7
8
  import * as yaml from "js-yaml"
8
9
  import path from "path"
9
10
  import { RunCommandService } from "./os-command.js"
@@ -158,12 +159,6 @@ class GHGistService extends Effect.Service<GHGistService>()("GHGistService", {
158
159
  const CACHE_GIST_DESCRIPTION = "GIST_CACHE_DO_NOT_EDIT_effa_cli_internal"
159
160
  const { runGetExitCode, runGetString } = yield* RunCommandService
160
161
 
161
- if ((yield* runGetExitCode("gh --version").pipe(Effect.orDie)) !== 0) {
162
- return yield* Effect.dieMessage(
163
- "GitHub CLI (gh) is not installed or not found in PATH. Please install it to use the gist command."
164
- )
165
- }
166
-
167
162
  // the client cannot recover from PlatformErrors, so we convert failures into defects to clean up the signatures
168
163
  const runGetExitCodeSuppressed = (...args: Parameters<typeof runGetExitCode>) => {
169
164
  return runGetExitCode(...args).pipe(
@@ -382,7 +377,30 @@ class GHGistService extends Effect.Service<GHGistService>()("GHGistService", {
382
377
  }
383
378
  )
384
379
 
380
+ const login = Effect.fn("GHGistService.login")(function*(token: string) {
381
+ if ((yield* runGetExitCode("gh --version").pipe(Effect.orDie)) !== 0) {
382
+ return yield* Effect.dieMessage(
383
+ "GitHub CLI (gh) is not installed or not found in PATH. Please install it to use the gist command."
384
+ )
385
+ }
386
+
387
+ const isLogged = yield* runGetExitCode(`echo ${token} | gh auth login --with-token`).pipe(Effect.orDie)
388
+ if (isLogged !== 0) {
389
+ return yield* Effect.fail(new Error("Failed to log in to GitHub CLI with provided token"))
390
+ } else {
391
+ yield* Effect.logInfo("Successfully logged in to GitHub CLI")
392
+ }
393
+ })
394
+
385
395
  return {
396
+ /** Logs into GitHub using the GitHub CLI.
397
+ * This is a prerequisite for other gist operations.
398
+ * @param token - The GitHub personal access token with gist permissions
399
+ *
400
+ * @returns An Effect that succeeds when login is successful
401
+ */
402
+ login,
403
+
386
404
  /**
387
405
  * Loads the gist cache from GitHub, containing mappings of YAML configuration names to gist IDs.
388
406
  * If no cache exists, creates a new empty cache gist.
@@ -494,6 +512,8 @@ export class GistHandler extends Effect.Service<GistHandler>()("GistHandler", {
494
512
  yield* Effect.logInfo(`Using GitHub token from environment variable: ${config.settings.token_env}`)
495
513
  yield* Effect.logInfo(`Token loaded: ${redactedToken}`) // this will show <redacted> in logs
496
514
 
515
+ yield* GH.login(Redacted.value(redactedToken))
516
+
497
517
  const cache = yield* SynchronizedRef.make<GistCache>(yield* GH.loadGistCache())
498
518
 
499
519
  // handle each gist entry in the configuration