@savvy-web/github-action-builder 2.4.23 → 2.4.25

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.
@@ -25,7 +25,7 @@ const rootCommand = Command.make("github-action-builder").pipe(Command.withSubco
25
25
  /**
26
26
  * CLI application: reads argv from the Stdio service provided by NodeServices.
27
27
  */
28
- const cli = Command.run(rootCommand, { version: "2.4.23" });
28
+ const cli = Command.run(rootCommand, { version: "2.4.25" });
29
29
  /**
30
30
  * Combined layer: AppLayer + the Node implementations of the CLI
31
31
  * environment (FileSystem, Path, Terminal, Stdio, ChildProcessSpawner).
@@ -1,6 +1,6 @@
1
1
  import { BuildFailed, ValidationFailed } from "../../errors.js";
2
- import { ConfigService } from "../../services/config.js";
3
2
  import { BuildService } from "../../services/build.js";
3
+ import { ConfigService } from "../../services/config.js";
4
4
  import { PersistLocalService } from "../../services/persist-local.js";
5
5
  import { ValidationService } from "../../services/validation.js";
6
6
  import { Console, Effect, Option } from "effect";
@@ -20,7 +20,7 @@ const forceOption = Flag.Boolean("force").pipe(Flag.withAlias("f"), Flag.withDes
20
20
  * Get current package version (replaced at build time).
21
21
  */
22
22
  const getPackageVersion = () => {
23
- return "2.4.23";
23
+ return "2.4.25";
24
24
  };
25
25
  /**
26
26
  * Generate package.json content.
package/github-action.js CHANGED
@@ -1,9 +1,9 @@
1
+ import { AppLayer } from "./layers/app.js";
1
2
  import { defineConfig } from "./schemas/config.js";
2
- import { ConfigService } from "./services/config.js";
3
3
  import { BuildResultSchema, BuildService } from "./services/build.js";
4
+ import { ConfigService } from "./services/config.js";
4
5
  import { PersistLocalResultSchema, PersistLocalService } from "./services/persist-local.js";
5
6
  import { ValidationResultSchema, ValidationService } from "./services/validation.js";
6
- import { AppLayer } from "./layers/app.js";
7
7
  import { Effect, ManagedRuntime, Schema } from "effect";
8
8
 
9
9
  // src/github-action.ts
package/index.js CHANGED
@@ -1,10 +1,10 @@
1
- import { ActionYmlMissing, ActionYmlMissingBase, ActionYmlPathError, ActionYmlPathErrorBase, ActionYmlSchemaError, ActionYmlSchemaErrorBase, ActionYmlSyntaxError, ActionYmlSyntaxErrorBase, BuildFailed, BuildFailedBase, BundleFailed, BundleFailedBase, CleanError, CleanErrorBase, ConfigInvalid, ConfigInvalidBase, ConfigLoadFailed, ConfigLoadFailedBase, ConfigNotFound, ConfigNotFoundBase, EntryFileMissing, EntryFileMissingBase, MainEntryMissing, MainEntryMissingBase, PersistLocalError, PersistLocalErrorBase, ValidationFailed, ValidationFailedBase, WorkerEntryInvalidName, WorkerEntryInvalidNameBase, WorkerEntryMissing, WorkerEntryMissingBase, WriteError, WriteErrorBase } from "./errors.js";
1
+ import { GitHubAction, GitHubActionBuildResultSchema } from "./github-action.js";
2
2
  import { BuildOptionsSchema, ConfigInputSchema, ConfigSchema, EntriesSchema, PersistLocalOptionsSchema, ValidationOptionsSchema, defineConfig } from "./schemas/config.js";
3
- import { ConfigService, DetectEntriesResultSchema, DetectedEntrySchema, LoadConfigOptionsSchema } from "./services/config.js";
3
+ import { ActionYmlMissing, ActionYmlMissingBase, ActionYmlPathError, ActionYmlPathErrorBase, ActionYmlSchemaError, ActionYmlSchemaErrorBase, ActionYmlSyntaxError, ActionYmlSyntaxErrorBase, BuildFailed, BuildFailedBase, BundleFailed, BundleFailedBase, CleanError, CleanErrorBase, ConfigInvalid, ConfigInvalidBase, ConfigLoadFailed, ConfigLoadFailedBase, ConfigNotFound, ConfigNotFoundBase, EntryFileMissing, EntryFileMissingBase, MainEntryMissing, MainEntryMissingBase, PersistLocalError, PersistLocalErrorBase, ValidationFailed, ValidationFailedBase, WorkerEntryInvalidName, WorkerEntryInvalidNameBase, WorkerEntryMissing, WorkerEntryMissingBase, WriteError, WriteErrorBase } from "./errors.js";
4
4
  import { BuildResultSchema, BuildRunnerOptionsSchema, BuildService, BundleResultSchema, BundleStatsSchema } from "./services/build.js";
5
- import { PersistLocalResultSchema, PersistLocalRunnerOptionsSchema, PersistLocalService } from "./services/persist-local.js";
5
+ import { ConfigService, DetectEntriesResultSchema, DetectedEntrySchema, LoadConfigOptionsSchema } from "./services/config.js";
6
6
  import { ActionYmlResultSchema, ValidateOptionsSchema, ValidationErrorSchema, ValidationResultSchema, ValidationService, ValidationWarningSchema } from "./services/validation.js";
7
+ import { PersistLocalResultSchema, PersistLocalRunnerOptionsSchema, PersistLocalService } from "./services/persist-local.js";
7
8
  import { AppLayer, BuildLayer, ConfigLayer, PersistLocalLayer, ValidationLayer } from "./layers/app.js";
8
- import { GitHubAction, GitHubActionBuildResultSchema } from "./github-action.js";
9
9
 
10
10
  export { ActionYmlMissing, ActionYmlMissingBase, ActionYmlPathError, ActionYmlPathErrorBase, ActionYmlResultSchema, ActionYmlSchemaError, ActionYmlSchemaErrorBase, ActionYmlSyntaxError, ActionYmlSyntaxErrorBase, AppLayer, BuildFailed, BuildFailedBase, BuildLayer, BuildOptionsSchema, BuildResultSchema, BuildRunnerOptionsSchema, BuildService, BundleFailed, BundleFailedBase, BundleResultSchema, BundleStatsSchema, CleanError, CleanErrorBase, ConfigInputSchema, ConfigInvalid, ConfigInvalidBase, ConfigLayer, ConfigLoadFailed, ConfigLoadFailedBase, ConfigNotFound, ConfigNotFoundBase, ConfigSchema, ConfigService, DetectEntriesResultSchema, DetectedEntrySchema, EntriesSchema, EntryFileMissing, EntryFileMissingBase, GitHubAction, GitHubActionBuildResultSchema, LoadConfigOptionsSchema, MainEntryMissing, MainEntryMissingBase, PersistLocalError, PersistLocalErrorBase, PersistLocalLayer, PersistLocalOptionsSchema, PersistLocalResultSchema, PersistLocalRunnerOptionsSchema, PersistLocalService, ValidateOptionsSchema, ValidationErrorSchema, ValidationFailed, ValidationFailedBase, ValidationLayer, ValidationOptionsSchema, ValidationResultSchema, ValidationService, ValidationWarningSchema, WorkerEntryInvalidName, WorkerEntryInvalidNameBase, WorkerEntryMissing, WorkerEntryMissingBase, WriteError, WriteErrorBase, defineConfig };
package/layers/app.js CHANGED
@@ -1,5 +1,5 @@
1
- import { ConfigService } from "../services/config.js";
2
1
  import { BuildService } from "../services/build.js";
2
+ import { ConfigService } from "../services/config.js";
3
3
  import { PersistLocalService } from "../services/persist-local.js";
4
4
  import { ValidationService } from "../services/validation.js";
5
5
  import { Layer } from "effect";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@savvy-web/github-action-builder",
3
- "version": "2.4.23",
3
+ "version": "2.4.25",
4
4
  "private": false,
5
5
  "description": "A zero-config build tool for creating GitHub Actions from TypeScript. Bundles with rsbuild, validates action.yml against GitHub's schema, and outputs production-ready Node.js 24 actions.",
6
6
  "keywords": [
@@ -48,13 +48,12 @@
48
48
  "github-action-builder": "bin/github-action-builder.js"
49
49
  },
50
50
  "dependencies": {
51
- "@effect/platform-node": "^4.0.7",
52
- "@effected/env": "^0.7.0",
53
- "@effected/yaml": "^0.26.0",
54
- "@rsbuild/core": "^2.2.14",
55
- "effect": "^4.0.7",
56
- "jiti": "^2.7.0",
57
- "picocolors": "^1.1.1"
51
+ "@effect/platform-node": "~4.1.2",
52
+ "@effected/env": "^0.10.0",
53
+ "@effected/yaml": "^0.28.0",
54
+ "@rsbuild/core": "^2.3.0",
55
+ "effect": "~4.1.2",
56
+ "jiti": "^2.7.0"
58
57
  },
59
58
  "peerDependencies": {
60
59
  "@types/node": "^26.6.0",
@@ -1,6 +1,6 @@
1
1
  import { ConfigInvalid, ConfigLoadFailed, ConfigNotFound, MainEntryMissing, WorkerEntryInvalidName, WorkerEntryMissing } from "../errors.js";
2
- import { OptionalPathLikeSchema } from "../schemas/path.js";
3
2
  import { ConfigSchema, defineConfig } from "../schemas/config.js";
3
+ import { OptionalPathLikeSchema } from "../schemas/path.js";
4
4
  import { Context, Effect, Layer, Schema } from "effect";
5
5
  import { existsSync } from "node:fs";
6
6
  import { resolve } from "node:path";
@@ -1,3 +1,5 @@
1
+ import { RegExp as RegExp$1 } from "effect";
2
+
1
3
  // src/services/native-dynamic-imports.ts
2
4
  /**
3
5
  * Helpers for the `build.nativeDynamicImports` option: building the rspack
@@ -18,14 +20,15 @@
18
20
  * separators.
19
21
  *
20
22
  * @remarks
21
- * Order matters: the regex-metacharacter escape runs first (it never
22
- * touches `/`, which is not a regex metacharacter), then `/` is expanded to
23
- * `[\/]` afterward — a scoped package name like `@changesets/apply-release-plan`
24
- * has a literal `/` that must become a path-separator alternation, not stay
25
- * a bare `/`.
23
+ * Effect's `RegExp.escape` escapes every metacharacter AND `/` (as `\/`);
24
+ * each escaped `\/` is then expanded to `[\/]` — a scoped package name like
25
+ * `@changesets/apply-release-plan` has a literal `/` that must become a
26
+ * path-separator alternation, not stay a bare `/`. A `/` in the escaped
27
+ * output only ever comes from an input `/`, so the expansion cannot match an
28
+ * escaped backslash.
26
29
  */
27
30
  function escapePathSegment(value) {
28
- return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&").replace(/\//g, "[\\/]");
31
+ return RegExp$1.escape(value).replaceAll("\\/", "[\\/]");
29
32
  }
30
33
  /**
31
34
  * Build a `RegExp` matching a package's resolved absolute module path under
@@ -1,7 +1,7 @@
1
1
  import { ActionYmlMissing, ActionYmlSchemaError, ActionYmlSyntaxError, MainEntryMissing, ValidationFailed } from "../errors.js";
2
+ import { ActionYml } from "../schemas/action-yml.js";
2
3
  import { OptionalPathLikeSchema } from "../schemas/path.js";
3
4
  import { ConfigService } from "./config.js";
4
- import { ActionYml } from "../schemas/action-yml.js";
5
5
  import { Context, Effect, Layer, Option, Result, Schema } from "effect";
6
6
  import { existsSync, readFileSync } from "node:fs";
7
7
  import { resolve } from "node:path";
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.60.0"
8
+ "packageVersion": "7.60.1"
9
9
  }
10
10
  ]
11
11
  }