apify-test-tools 0.10.2-beta.17 → 0.10.2-beta.19

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 (53) hide show
  1. package/.gitattributes +1 -0
  2. package/.github/cli/apify-test-tools.mjs +89 -89
  3. package/.github/scripts/run-with-apify-tokens.mjs +63 -128
  4. package/.github/workflows/_check_code.yaml +5 -5
  5. package/.husky/pre-commit +4 -4
  6. package/.prettierignore +1 -0
  7. package/CHANGELOG.md +1 -0
  8. package/bin/utils/config/load-config.ts +17 -2
  9. package/bin/utils/config/parser.ts +17 -8
  10. package/bin/utils/config/structures/grouped.ts +2 -2
  11. package/bin/utils/config/structures/legacy.ts +1 -1
  12. package/dist/bin/utils/config/load-config.d.ts +5 -0
  13. package/dist/bin/utils/config/load-config.d.ts.map +1 -1
  14. package/dist/bin/utils/config/load-config.js +12 -1
  15. package/dist/bin/utils/config/load-config.js.map +1 -1
  16. package/dist/bin/utils/config/parser.d.ts +6 -2
  17. package/dist/bin/utils/config/parser.d.ts.map +1 -1
  18. package/dist/bin/utils/config/parser.js +17 -8
  19. package/dist/bin/utils/config/parser.js.map +1 -1
  20. package/dist/bin/utils/config/structures/grouped.js +2 -2
  21. package/dist/bin/utils/config/structures/grouped.js.map +1 -1
  22. package/dist/bin/utils/config/structures/legacy.js +1 -1
  23. package/dist/bin/utils/config/structures/legacy.js.map +1 -1
  24. package/dist/test/bundle/token-wrapper.test.d.ts +2 -0
  25. package/dist/test/bundle/token-wrapper.test.d.ts.map +1 -0
  26. package/dist/test/bundle/token-wrapper.test.js +80 -0
  27. package/dist/test/bundle/token-wrapper.test.js.map +1 -0
  28. package/dist/test/unit/bin/utils/config/load-config.test.js +19 -1
  29. package/dist/test/unit/bin/utils/config/load-config.test.js.map +1 -1
  30. package/dist/test/unit/bin/utils/config/parser.test.js +21 -4
  31. package/dist/test/unit/bin/utils/config/parser.test.js.map +1 -1
  32. package/dist/test/unit/bin/utils/config/structures/grouped.test.js +6 -0
  33. package/dist/test/unit/bin/utils/config/structures/grouped.test.js.map +1 -1
  34. package/dist/test/unit/bin/utils/config/structures/legacy.test.js +1 -0
  35. package/dist/test/unit/bin/utils/config/structures/legacy.test.js.map +1 -1
  36. package/dist/test/unit/github-scripts/run-with-apify-tokens.test.js +3 -3
  37. package/dist/test/unit/github-scripts/run-with-apify-tokens.test.js.map +1 -1
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/dist/workflow-scripts-src/run-with-apify-tokens.d.ts +3 -0
  40. package/dist/workflow-scripts-src/run-with-apify-tokens.d.ts.map +1 -0
  41. package/dist/workflow-scripts-src/run-with-apify-tokens.js +100 -0
  42. package/dist/workflow-scripts-src/run-with-apify-tokens.js.map +1 -0
  43. package/docs/workflows.md +3 -0
  44. package/eslint.config.mjs +9 -0
  45. package/package.json +4 -2
  46. package/test/bundle/token-wrapper.test.ts +110 -0
  47. package/test/unit/bin/utils/config/load-config.test.ts +26 -1
  48. package/test/unit/bin/utils/config/parser.test.ts +23 -5
  49. package/test/unit/bin/utils/config/structures/grouped.test.ts +12 -0
  50. package/test/unit/bin/utils/config/structures/legacy.test.ts +1 -0
  51. package/test/unit/github-scripts/run-with-apify-tokens.test.ts +3 -3
  52. package/tsconfig.json +1 -1
  53. package/workflow-scripts-src/run-with-apify-tokens.ts +112 -0
@@ -77,10 +77,10 @@ jobs:
77
77
  - name: Build
78
78
  run: npm run build
79
79
 
80
- # The composite action runs the CLI from .github/cli/apify-test-tools.mjs, which the pre-commit
81
- # hook rebuilds. This catches commits that skipped the hook, so a stale bundle never ships.
80
+ # The composite action runs the CLI and workflow helper bundles, which the pre-commit hook rebuilds.
81
+ # This catches commits that skipped the hook, so stale bundles never ship.
82
82
  cli_bundle:
83
- name: CLI bundle
83
+ name: CLI and workflow bundles
84
84
  runs-on: ubuntu-latest
85
85
  steps:
86
86
  - name: Checkout repository
@@ -96,8 +96,8 @@ jobs:
96
96
  - name: Check the bundle is up to date
97
97
  run: |
98
98
  npm run bundle
99
- if ! git diff --quiet -- .github/cli/; then
100
- echo "::error::.github/cli/apify-test-tools.mjs is out of date. Run \`npm run bundle\` and commit the result."
99
+ if ! git diff --quiet -- .github/cli/ .github/scripts/run-with-apify-tokens.mjs; then
100
+ echo "::error::A CLI or workflow script bundle is out of date. Run \`npm run bundle\` and commit the result."
101
101
  exit 1
102
102
  fi
103
103
  node .github/cli/apify-test-tools.mjs --help > /dev/null
package/.husky/pre-commit CHANGED
@@ -1,10 +1,10 @@
1
1
  echo "pre-commit: typechecking, linting, testing, checking code formatting, checking for unused exports & validating schemas"
2
2
 
3
3
 
4
- # The workflows run the CLI from this bundle, so it ships with every commit that changes bin/ or its
5
- # dependencies. Rebuilding takes well under a second.
4
+ # The workflows run the CLI and token wrapper from these bundles, so they ship with every commit
5
+ # that changes their sources or dependencies.
6
6
  npm run -s bundle
7
- git add .github/cli/apify-test-tools.mjs
7
+ git add .github/cli/apify-test-tools.mjs .github/scripts/run-with-apify-tokens.mjs
8
8
 
9
9
  npm test
10
10
  npm run format:check
@@ -15,4 +15,4 @@ npx lint-staged
15
15
  # Activate once we resolv unused delete old builds
16
16
  # npm run check-unused
17
17
 
18
- echo "pre-commit: passed"
18
+ echo "pre-commit: passed"
package/.prettierignore CHANGED
@@ -11,3 +11,4 @@ test/fixtures
11
11
 
12
12
  # Generated by `npm run bundle`
13
13
  .github/cli/
14
+ .github/scripts/run-with-apify-tokens.mjs
package/CHANGELOG.md CHANGED
@@ -28,6 +28,7 @@ All notable changes to this project will be documented in this file.
28
28
  - **test:** Clean up compiled CLI dir when build fails ([#224](https://github.com/apify/apify-test-tools/pull/224)) ([f9f2f5c](https://github.com/apify/apify-test-tools/commit/f9f2f5c64cfe936ee0b72a0fbe7408282c68fbac)) by [@JuanGalilea](https://github.com/JuanGalilea)
29
29
  - **cli-test:** Look up actor raw IDs for tests that reference them ([#234](https://github.com/apify/apify-test-tools/pull/234)) ([315baf4](https://github.com/apify/apify-test-tools/commit/315baf495dae984cbcd7056a101935536d7b0011)) by [@metalwarrior665](https://github.com/metalwarrior665)
30
30
  - **cli-test:** Warn instead of failing on Actors the tester token can't see ([#237](https://github.com/apify/apify-test-tools/pull/237)) ([1d339ab](https://github.com/apify/apify-test-tools/commit/1d339ab04d3190191cffa3766e86a7c74c309985)) by [@metalwarrior665](https://github.com/metalwarrior665)
31
+ - **run-with-apify-token:** Support all config modes ([#219](https://github.com/apify/apify-test-tools/pull/219)) ([4b9e95b](https://github.com/apify/apify-test-tools/commit/4b9e95b8328144eb77805ddd7ae1176ee14b84dc)) by [@JuanGalilea](https://github.com/JuanGalilea)
31
32
 
32
33
  ### 🚜 Refactor
33
34
 
@@ -3,8 +3,8 @@ import type { ActorConfig } from '../../types.js';
3
3
  import { safeReadJsonObjectFile } from '../json-file.js';
4
4
  import { ExistingFile, type RelativeDir } from '../path/repo-relative.js';
5
5
  import { readActorJson } from './actor-json.js';
6
- import { parseConfigFile } from './parser.js';
7
- import type { ValidatedActorConfig } from './structures/base.js';
6
+ import { parseConfigFile, parseResolvedConfigFile } from './parser.js';
7
+ import type { ResolvedActorConfig, ValidatedActorConfig } from './structures/base.js';
8
8
 
9
9
  export const CONFIG_FILE_NAME = 'apify-test-tools.config.json';
10
10
 
@@ -111,3 +111,18 @@ export const readConfigFile = async (selection: { actors: string[]; ignore: stri
111
111
 
112
112
  return selectActors(selection, actorConfigs);
113
113
  };
114
+
115
+ type PathlessConfig = Omit<ResolvedActorConfig, 'folder' | 'overrideActorContext'>;
116
+ /** Read settings shared by all commands without initializing or validating local paths. */
117
+ export const readBaseConfigFile = async () => {
118
+ const rawFileContents = await readConfigFileContents();
119
+ return parseResolvedConfigFile(rawFileContents).map(
120
+ ({ actorFullName, tokenEnvVar }) =>
121
+ // using `satisfies` here instead of return type annotation
122
+ // so its not shown as `PathlessConfig` type on output or IDE, but the expanded form
123
+ ({
124
+ actorFullName,
125
+ tokenEnvVar,
126
+ }) satisfies PathlessConfig,
127
+ );
128
+ };
@@ -47,8 +47,8 @@ const ValidatedConfigSchema = z.array(
47
47
  }),
48
48
  );
49
49
 
50
- /** Normalize and validate paths, then check collisions using their final spelling. */
51
- function verifyConfiguration(body: ResolvedActorConfig[]): ValidatedActorConfig[] {
50
+ /** Normalize and initialize paths, including checking that actor folders exist. */
51
+ function initializePaths(body: ResolvedActorConfig[]): ValidatedActorConfig[] {
52
52
  const normalized = body.map((entry) => ({
53
53
  ...entry,
54
54
  folder: normalizeFolder(entry.folder),
@@ -56,14 +56,18 @@ function verifyConfiguration(body: ResolvedActorConfig[]): ValidatedActorConfig[
56
56
  }));
57
57
  const parsed = ValidatedConfigSchema.safeParse(normalized);
58
58
  if (!parsed.success) throw new Error(z.prettifyError(parsed.error));
59
+ return parsed.data;
60
+ }
59
61
 
62
+ /** Check rules that involve more than one Actor, using initialized paths for comparisons. */
63
+ function verifyConfiguration(body: ValidatedActorConfig[]): void {
60
64
  const seenFolders = new Set<string>();
61
65
  const seenActorFullNames = new Set<string>();
62
66
  const errors: string[] = [];
63
- for (const [index, entry] of parsed.data.entries()) {
67
+ for (const entry of body) {
64
68
  // TODO: drop folder uniqueness (this requires several changes on other places)
65
69
  if (seenFolders.has(entry.folder.path)) {
66
- errors.push(`Duplicate folder "${body[index].folder}". Each actor must have a unique folder.`);
70
+ errors.push(`Duplicate folder "${entry.folder.path}". Each actor must have a unique folder.`);
67
71
  } else {
68
72
  seenFolders.add(entry.folder.path);
69
73
  }
@@ -76,19 +80,24 @@ function verifyConfiguration(body: ResolvedActorConfig[]): ValidatedActorConfig[
76
80
  }
77
81
 
78
82
  if (errors.length > 0) throw new Error(errors.join('\n'));
79
- return parsed.data;
80
83
  }
81
84
 
82
85
  // eslint-disable-next-line no-underscore-dangle
83
86
  export const _privates = {
84
87
  selectStrategy,
88
+ initializePaths,
85
89
  verifyConfiguration,
86
90
  };
87
91
 
88
- export function parseConfigFile(body: Record<string, unknown>): ValidatedActorConfig[] {
92
+ export function parseResolvedConfigFile(body: Record<string, unknown>): ResolvedActorConfig[] {
89
93
  const { mode, ...rest } = body;
90
94
  const strategy = selectStrategy({ mode });
95
+ return strategy.parse(rest);
96
+ }
91
97
 
92
- const resolved = strategy.parse(rest);
93
- return verifyConfiguration(resolved);
98
+ export function parseConfigFile(body: Record<string, unknown>): ValidatedActorConfig[] {
99
+ const resolved = parseResolvedConfigFile(body);
100
+ const initialized = initializePaths(resolved);
101
+ verifyConfiguration(initialized);
102
+ return initialized;
94
103
  }
@@ -13,12 +13,12 @@ const schema = z.object({
13
13
  folder: z.string(),
14
14
  actorFullName: z.string().regex(ACTOR_FULL_NAME_REGEX),
15
15
  // these allow overrides from stuff set at the group level
16
- tokenEnvVar: z.string().optional(),
16
+ tokenEnvVar: z.string().min(1).optional(),
17
17
  overrideActorContext: z.array(z.string()).optional(),
18
18
  }),
19
19
  )
20
20
  .min(1),
21
- tokenEnvVar: z.string(),
21
+ tokenEnvVar: z.string().min(1),
22
22
  overrideActorContext: z.array(z.string()).optional(),
23
23
  }),
24
24
  )
@@ -8,7 +8,7 @@ const schema = z.object({
8
8
  z.object({
9
9
  folder: z.string(),
10
10
  actorFullName: z.string().regex(ACTOR_FULL_NAME_REGEX),
11
- tokenEnvVar: z.string(),
11
+ tokenEnvVar: z.string().min(1),
12
12
  overrideActorContext: z.array(z.string()).optional(),
13
13
  }),
14
14
  )
@@ -10,4 +10,9 @@ export declare const readConfigFile: (selection: {
10
10
  actors: string[];
11
11
  ignore: string[];
12
12
  }) => Promise<ActorConfig[]>;
13
+ /** Read settings shared by all commands without initializing or validating local paths. */
14
+ export declare const readBaseConfigFile: () => Promise<{
15
+ actorFullName: string;
16
+ tokenEnvVar: string;
17
+ }[]>;
13
18
  //# sourceMappingURL=load-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-config.d.ts","sourceRoot":"","sources":["../../../../bin/utils/config/load-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKlD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,eAAO,MAAM,gBAAgB,iCAAiC,CAAC;AAyD/D;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,KAAG,WA4B7D,CAAC;AAIF,eAAO,MAAM,cAAc,GAAU,WAAW;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,KAAG,OAAO,CAAC,WAAW,EAAE,CAW7G,CAAC"}
1
+ {"version":3,"file":"load-config.d.ts","sourceRoot":"","sources":["../../../../bin/utils/config/load-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKlD,OAAO,KAAK,EAAuB,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEtF,eAAO,MAAM,gBAAgB,iCAAiC,CAAC;AAyD/D;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,KAAG,WA4B7D,CAAC;AAIF,eAAO,MAAM,cAAc,GAAU,WAAW;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,KAAG,OAAO,CAAC,WAAW,EAAE,CAW7G,CAAC;AAGF,2FAA2F;AAC3F,eAAO,MAAM,kBAAkB;;;IAW9B,CAAC"}
@@ -2,7 +2,7 @@ import { selectActors } from '../../actor-filtering.js';
2
2
  import { safeReadJsonObjectFile } from '../json-file.js';
3
3
  import { ExistingFile } from '../path/repo-relative.js';
4
4
  import { readActorJson } from './actor-json.js';
5
- import { parseConfigFile } from './parser.js';
5
+ import { parseConfigFile, parseResolvedConfigFile } from './parser.js';
6
6
  export const CONFIG_FILE_NAME = 'apify-test-tools.config.json';
7
7
  // Reading the config happens in three stages, each one swappable on its own:
8
8
  //
@@ -88,4 +88,15 @@ export const readConfigFile = async (selection) => {
88
88
  }
89
89
  return selectActors(selection, actorConfigs);
90
90
  };
91
+ /** Read settings shared by all commands without initializing or validating local paths. */
92
+ export const readBaseConfigFile = async () => {
93
+ const rawFileContents = await readConfigFileContents();
94
+ return parseResolvedConfigFile(rawFileContents).map(({ actorFullName, tokenEnvVar }) =>
95
+ // using `satisfies` here instead of return type annotation
96
+ // so its not shown as `PathlessConfig` type on output or IDE, but the expanded form
97
+ ({
98
+ actorFullName,
99
+ tokenEnvVar,
100
+ }));
101
+ };
91
102
  //# sourceMappingURL=load-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-config.js","sourceRoot":"","sources":["../../../../bin/utils/config/load-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAoB,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,8BAA8B,CAAC;AAE/D,6EAA6E;AAC7E,EAAE;AACF,6EAA6E;AAC7E,oGAAoG;AACpG,sFAAsF;AACtF,gGAAgG;AAEhG,gBAAgB;AAEhB,MAAM,2BAA2B,GAAG,CAAC,YAA2B,EAA0C,EAAE;IACxG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzF,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,aAAa;AAEb,iBAAiB;AAEjB,8FAA8F;AAC9F,MAAM,sBAAsB,GAAG,KAAK,IAAsC,EAAE;IACxE,IAAI,UAAwB,CAAC;IAC7B,IAAI,CAAC;QACD,UAAU,GAAG,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,IAAI,KAAK,CACX,gBAAgB,gBAAgB,wCAAwC;YACpE,oDAAoD,CAC3D,CAAC;IACN,CAAC;IACD,MAAM,IAAI,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,KAAK,cAAc;YACf,uBAAuB;YACvB,MAAM,IAAI,KAAK,CAAC,gBAAgB,gBAAgB,+CAA+C,CAAC,CAAC;QACrG,wEAAwE;QACxE,KAAK,eAAe;YAChB,MAAM,IAAI,KAAK,CAAC,gBAAgB,gBAAgB,iDAAiD,CAAC,CAAC;QACvG;YACI,MAAM,IAAI,KAAK,CACX,gBAAgB,gBAAgB,wCAAwC;gBACpE,oDAAoD,CAC3D,CAAC;IACV,CAAC;AACL,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA2B,EAAe,EAAE;IACxE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IACvC,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAE7E,gGAAgG;IAChG,kFAAkF;IAClF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACpE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,OAAO,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;IAC1D,IAAI,OAAO,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACX,qCAAqC,MAAM,SAAS,gBAAgB,KAAK;YACrE,IAAI,OAAO,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,CAAC,CAAC,+DAA+D,CACxG,CAAC;IACN,CAAC;IAED,OAAO;QACH,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS;QACT,gBAAgB;QAChB,YAAY;KACf,CAAC;AACN,CAAC,CAAC;AAEF,aAAa;AAEb,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,SAAiD,EAA0B,EAAE;IAC9G,MAAM,eAAe,GAAG,MAAM,sBAAsB,EAAE,CAAC;IACvD,MAAM,aAAa,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACjC,oFAAoF;QACpF,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AACjD,CAAC,CAAC"}
1
+ {"version":3,"file":"load-config.js","sourceRoot":"","sources":["../../../../bin/utils/config/load-config.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,15 @@
1
1
  import { type ResolvedActorConfig, type StrategyParser, type ValidatedActorConfig } from './structures/base.js';
2
2
  declare function selectStrategy(mode: unknown): StrategyParser;
3
- /** Normalize and validate paths, then check collisions using their final spelling. */
4
- declare function verifyConfiguration(body: ResolvedActorConfig[]): ValidatedActorConfig[];
3
+ /** Normalize and initialize paths, including checking that actor folders exist. */
4
+ declare function initializePaths(body: ResolvedActorConfig[]): ValidatedActorConfig[];
5
+ /** Check rules that involve more than one Actor, using initialized paths for comparisons. */
6
+ declare function verifyConfiguration(body: ValidatedActorConfig[]): void;
5
7
  export declare const _privates: {
6
8
  selectStrategy: typeof selectStrategy;
9
+ initializePaths: typeof initializePaths;
7
10
  verifyConfiguration: typeof verifyConfiguration;
8
11
  };
12
+ export declare function parseResolvedConfigFile(body: Record<string, unknown>): ResolvedActorConfig[];
9
13
  export declare function parseConfigFile(body: Record<string, unknown>): ValidatedActorConfig[];
10
14
  export {};
11
15
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../bin/utils/config/parser.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAC5B,MAAM,sBAAsB,CAAC;AAc9B,iBAAS,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAOrD;AAoBD,sFAAsF;AACtF,iBAAS,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,oBAAoB,EAAE,CA6BhF;AAGD,eAAO,MAAM,SAAS;;;CAGrB,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,oBAAoB,EAAE,CAMrF"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../bin/utils/config/parser.ts"],"names":[],"mappings":"AAGA,OAAO,EAEH,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAC5B,MAAM,sBAAsB,CAAC;AAc9B,iBAAS,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAOrD;AAoBD,mFAAmF;AACnF,iBAAS,eAAe,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,oBAAoB,EAAE,CAS5E;AAED,6FAA6F;AAC7F,iBAAS,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAoB/D;AAGD,eAAO,MAAM,SAAS;;;;CAIrB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB,EAAE,CAI5F;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,oBAAoB,EAAE,CAKrF"}
@@ -28,8 +28,8 @@ const ValidatedConfigSchema = z.array(z.object({
28
28
  tokenEnvVar: z.string(),
29
29
  overrideActorContext: z.array(RelativeDirSchema).optional(),
30
30
  }));
31
- /** Normalize and validate paths, then check collisions using their final spelling. */
32
- function verifyConfiguration(body) {
31
+ /** Normalize and initialize paths, including checking that actor folders exist. */
32
+ function initializePaths(body) {
33
33
  const normalized = body.map((entry) => ({
34
34
  ...entry,
35
35
  folder: normalizeFolder(entry.folder),
@@ -38,13 +38,17 @@ function verifyConfiguration(body) {
38
38
  const parsed = ValidatedConfigSchema.safeParse(normalized);
39
39
  if (!parsed.success)
40
40
  throw new Error(z.prettifyError(parsed.error));
41
+ return parsed.data;
42
+ }
43
+ /** Check rules that involve more than one Actor, using initialized paths for comparisons. */
44
+ function verifyConfiguration(body) {
41
45
  const seenFolders = new Set();
42
46
  const seenActorFullNames = new Set();
43
47
  const errors = [];
44
- for (const [index, entry] of parsed.data.entries()) {
48
+ for (const entry of body) {
45
49
  // TODO: drop folder uniqueness (this requires several changes on other places)
46
50
  if (seenFolders.has(entry.folder.path)) {
47
- errors.push(`Duplicate folder "${body[index].folder}". Each actor must have a unique folder.`);
51
+ errors.push(`Duplicate folder "${entry.folder.path}". Each actor must have a unique folder.`);
48
52
  }
49
53
  else {
50
54
  seenFolders.add(entry.folder.path);
@@ -58,17 +62,22 @@ function verifyConfiguration(body) {
58
62
  }
59
63
  if (errors.length > 0)
60
64
  throw new Error(errors.join('\n'));
61
- return parsed.data;
62
65
  }
63
66
  // eslint-disable-next-line no-underscore-dangle
64
67
  export const _privates = {
65
68
  selectStrategy,
69
+ initializePaths,
66
70
  verifyConfiguration,
67
71
  };
68
- export function parseConfigFile(body) {
72
+ export function parseResolvedConfigFile(body) {
69
73
  const { mode, ...rest } = body;
70
74
  const strategy = selectStrategy({ mode });
71
- const resolved = strategy.parse(rest);
72
- return verifyConfiguration(resolved);
75
+ return strategy.parse(rest);
76
+ }
77
+ export function parseConfigFile(body) {
78
+ const resolved = parseResolvedConfigFile(body);
79
+ const initialized = initializePaths(resolved);
80
+ verifyConfiguration(initialized);
81
+ return initialized;
73
82
  }
74
83
  //# sourceMappingURL=parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../bin/utils/config/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../bin/utils/config/parser.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,11 @@ const schema = z.object({
8
8
  folder: z.string(),
9
9
  actorFullName: z.string().regex(ACTOR_FULL_NAME_REGEX),
10
10
  // these allow overrides from stuff set at the group level
11
- tokenEnvVar: z.string().optional(),
11
+ tokenEnvVar: z.string().min(1).optional(),
12
12
  overrideActorContext: z.array(z.string()).optional(),
13
13
  }))
14
14
  .min(1),
15
- tokenEnvVar: z.string(),
15
+ tokenEnvVar: z.string().min(1),
16
16
  overrideActorContext: z.array(z.string()).optional(),
17
17
  }))
18
18
  .refine((data) => Object.keys(data).length > 0, 'Invalid input: At least one configuration group is required.'),
@@ -1 +1 @@
1
- {"version":3,"file":"grouped.js","sourceRoot":"","sources":["../../../../../bin/utils/config/structures/grouped.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAExF,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC;SACJ,MAAM,CACH,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,MAAM,CAAC;QACL,MAAM,EAAE,CAAC;aACJ,KAAK,CACF,CAAC,CAAC,MAAM,CAAC;YACL,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC;YACtD,0DAA0D;YAC1D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAClC,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;SACvD,CAAC,CACL;aACA,GAAG,CAAC,CAAC,CAAC;QACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACvD,CAAC,CACL;SACA,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,8DAA8D,CAAC;CACtH,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,IAAmB,EAAE,EAAE;IACvG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CACxC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,kDAAkD;QAClD,GAAG,KAAK;KACX,CAAC,CAAC,CACN,CAAC;AACN,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"grouped.js","sourceRoot":"","sources":["../../../../../bin/utils/config/structures/grouped.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAExF,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC;SACJ,MAAM,CACH,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,MAAM,CAAC;QACL,MAAM,EAAE,CAAC;aACJ,KAAK,CACF,CAAC,CAAC,MAAM,CAAC;YACL,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC;YACtD,0DAA0D;YAC1D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACzC,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;SACvD,CAAC,CACL;aACA,GAAG,CAAC,CAAC,CAAC;QACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACvD,CAAC,CACL;SACA,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,8DAA8D,CAAC;CACtH,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,IAAmB,EAAE,EAAE;IACvG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,CACxC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,kDAAkD;QAClD,GAAG,KAAK;KACX,CAAC,CAAC,CACN,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -5,7 +5,7 @@ const schema = z.object({
5
5
  .array(z.object({
6
6
  folder: z.string(),
7
7
  actorFullName: z.string().regex(ACTOR_FULL_NAME_REGEX),
8
- tokenEnvVar: z.string(),
8
+ tokenEnvVar: z.string().min(1),
9
9
  overrideActorContext: z.array(z.string()).optional(),
10
10
  }))
11
11
  .min(1),
@@ -1 +1 @@
1
- {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../../../../bin/utils/config/structures/legacy.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAExF,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC;SACJ,KAAK,CACF,CAAC,CAAC,MAAM,CAAC;QACL,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC;QACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACvD,CAAC,CACL;SACA,GAAG,CAAC,CAAC,CAAC;CACd,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,IAAkB,EAAE,EAAE,CACpG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,oBAAoB,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CACtE,CAAC"}
1
+ {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../../../../bin/utils/config/structures/legacy.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAExF,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC;SACJ,KAAK,CACF,CAAC,CAAC,MAAM,CAAC;QACL,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC;QACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACvD,CAAC,CACL;SACA,GAAG,CAAC,CAAC,CAAC;CACd,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,aAAa,GAAG,cAAc,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,IAAkB,EAAE,EAAE,CACpG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,oBAAoB,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CACtE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=token-wrapper.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-wrapper.test.d.ts","sourceRoot":"","sources":["../../../test/bundle/token-wrapper.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,80 @@
1
+ import { spawnSync } from 'node:child_process';
2
+ import { mkdtemp, rm, writeFile } from 'node:fs/promises';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
5
+ import process from 'node:process';
6
+ import { fileURLToPath } from 'node:url';
7
+ import { afterAll, beforeAll, describe, expect, it } from 'vitest';
8
+ const wrapperPath = fileURLToPath(new URL('../../.github/scripts/run-with-apify-tokens.mjs', import.meta.url));
9
+ const configFileName = 'apify-test-tools.config.json';
10
+ let repoDir;
11
+ describe('token wrapper bundle', () => {
12
+ beforeAll(async () => {
13
+ repoDir = await mkdtemp(path.join(os.tmpdir(), 'apify-token-wrapper-'));
14
+ });
15
+ afterAll(async () => {
16
+ if (repoDir)
17
+ await rm(repoDir, { recursive: true, force: true });
18
+ });
19
+ const actorSecrets = {
20
+ GROUP_TOKEN: 'group-value',
21
+ OVERRIDE_TOKEN: 'override-value',
22
+ OTHER: 'hidden',
23
+ };
24
+ const runWrapper = (workflowSecrets = actorSecrets) => spawnSync(process.execPath, [wrapperPath, process.execPath, '-e', 'console.log(JSON.stringify(process.env))'], {
25
+ cwd: repoDir,
26
+ env: {
27
+ PATH: process.env.PATH ?? '',
28
+ WORKFLOW_SECRETS: JSON.stringify(workflowSecrets),
29
+ },
30
+ encoding: 'utf8',
31
+ });
32
+ it.each(['inherited secrets', 'CONFIG_SECRETS'])('passes grouped tokens and actor overrides from %s without unrelated secrets', async (source) => {
33
+ await writeFile(path.join(repoDir, configFileName), JSON.stringify({
34
+ mode: 'grouped',
35
+ groups: {
36
+ example: {
37
+ tokenEnvVar: 'GROUP_TOKEN',
38
+ actors: [
39
+ { folder: 'actors/one', actorFullName: 'example/one' },
40
+ { folder: 'actors/two', actorFullName: 'example/two', tokenEnvVar: 'OVERRIDE_TOKEN' },
41
+ ],
42
+ },
43
+ },
44
+ }));
45
+ const { status, stdout, stderr } = runWrapper(source === 'CONFIG_SECRETS' ? { CONFIG_SECRETS: JSON.stringify(actorSecrets) } : actorSecrets);
46
+ expect(status, stderr).toBe(0);
47
+ const childEnv = JSON.parse(stdout);
48
+ expect(childEnv).toMatchObject({ GROUP_TOKEN: 'group-value', OVERRIDE_TOKEN: 'override-value' });
49
+ expect(childEnv).not.toHaveProperty('OTHER');
50
+ expect(childEnv).not.toHaveProperty('WORKFLOW_SECRETS');
51
+ expect(childEnv).not.toHaveProperty('CONFIG_SECRETS');
52
+ expect(stderr).toContain('Passing 2 Actor token(s)');
53
+ });
54
+ it('does not start the child when config validation fails', async () => {
55
+ await writeFile(path.join(repoDir, configFileName), JSON.stringify({ mode: 'grouped', groups: {} }));
56
+ const { status, stdout, stderr } = runWrapper();
57
+ expect(status).toBe(1);
58
+ expect(stdout).toBe('');
59
+ expect(stderr).toContain('At least one configuration group is required');
60
+ expect(stderr).not.toContain('Cannot read');
61
+ });
62
+ it.each(['', undefined])('rejects an empty or missing token name (%s) before starting the child', async (tokenEnvVar) => {
63
+ await writeFile(path.join(repoDir, configFileName), JSON.stringify({ actors: [{ folder: 'actors/one', actorFullName: 'example/one', tokenEnvVar }] }));
64
+ const { status, stdout, stderr } = runWrapper();
65
+ expect(status).toBe(1);
66
+ expect(stdout).toBe('');
67
+ expect(stderr).toContain('actors[0].tokenEnvVar');
68
+ expect(stderr).not.toContain('Warning:');
69
+ expect(stderr).not.toContain('Cannot read');
70
+ });
71
+ it('reports a missing config file without a duplicate error prefix', async () => {
72
+ await rm(path.join(repoDir, configFileName), { force: true });
73
+ const { status, stdout, stderr } = runWrapper();
74
+ expect(status).toBe(1);
75
+ expect(stdout).toBe('');
76
+ expect(stderr).toBe(`Config file "${configFileName}" not found in the current directory. ` +
77
+ 'Please create one with the required actor entries.\n');
78
+ });
79
+ });
80
+ //# sourceMappingURL=token-wrapper.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-wrapper.test.js","sourceRoot":"","sources":["../../../test/bundle/token-wrapper.test.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import fs from 'node:fs/promises';
2
2
  import os from 'node:os';
3
3
  import path from 'node:path';
4
4
  import { afterEach, beforeEach, describe, expect, it } from 'vitest';
5
- import { CONFIG_FILE_NAME, loadActorConfig, readConfigFile } from '../../../../../bin/utils/config/load-config.js';
5
+ import { CONFIG_FILE_NAME, loadActorConfig, readBaseConfigFile, readConfigFile, } from '../../../../../bin/utils/config/load-config.js';
6
6
  import { ExistingDir, ExistingFile, RelativeDir, RelativeFile } from '../../../../../bin/utils/path/repo-relative.js';
7
7
  let repoDir;
8
8
  let originalCwd;
@@ -194,4 +194,22 @@ describe('readConfigFile', () => {
194
194
  await expect(readConfigFile(emptyActorSelection)).rejects.toThrow(/at actors/);
195
195
  });
196
196
  });
197
+ describe('readBaseConfigFile', () => {
198
+ it('returns non-file settings without checking Actor paths or reading actor.json', async () => {
199
+ await writeFiles({
200
+ [CONFIG_FILE_NAME]: validConfig([
201
+ {
202
+ folder: 'missing-actor-dir',
203
+ actorFullName: 'myteam/shopify',
204
+ tokenEnvVar: 'APIFY_TOKEN',
205
+ overrideActorContext: ['../outside'],
206
+ },
207
+ ]),
208
+ });
209
+ await expect(readBaseConfigFile()).resolves.toEqual([
210
+ { actorFullName: 'myteam/shopify', tokenEnvVar: 'APIFY_TOKEN' },
211
+ ]);
212
+ await expect(readConfigFile(emptyActorSelection)).rejects.toThrow();
213
+ });
214
+ });
197
215
  //# sourceMappingURL=load-config.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-config.test.js","sourceRoot":"","sources":["../../../../../../test/unit/bin/utils/config/load-config.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-config.test.js","sourceRoot":"","sources":["../../../../../../test/unit/bin/utils/config/load-config.test.ts"],"names":[],"mappings":"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"}