@quenty/nevermore-cli 4.50.0 → 4.50.1

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 (47) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/commands/tools-command/ci-post-test-results.d.ts.map +1 -1
  3. package/dist/commands/tools-command/ci-post-test-results.js +7 -3
  4. package/dist/commands/tools-command/ci-post-test-results.js.map +1 -1
  5. package/dist/utils/batch/changed-packages-utils.d.ts +8 -0
  6. package/dist/utils/batch/changed-packages-utils.d.ts.map +1 -1
  7. package/dist/utils/batch/changed-packages-utils.js +9 -11
  8. package/dist/utils/batch/changed-packages-utils.js.map +1 -1
  9. package/dist/utils/testing/parsers/annotation-workspace.d.ts +17 -0
  10. package/dist/utils/testing/parsers/annotation-workspace.d.ts.map +1 -0
  11. package/dist/utils/testing/parsers/annotation-workspace.js +47 -0
  12. package/dist/utils/testing/parsers/annotation-workspace.js.map +1 -0
  13. package/dist/utils/testing/parsers/index.d.ts +0 -1
  14. package/dist/utils/testing/parsers/index.d.ts.map +1 -1
  15. package/dist/utils/testing/parsers/index.js +0 -1
  16. package/dist/utils/testing/parsers/index.js.map +1 -1
  17. package/dist/utils/testing/parsers/jest-lua-parser.d.ts +14 -29
  18. package/dist/utils/testing/parsers/jest-lua-parser.d.ts.map +1 -1
  19. package/dist/utils/testing/parsers/jest-lua-parser.js +85 -100
  20. package/dist/utils/testing/parsers/jest-lua-parser.js.map +1 -1
  21. package/dist/utils/testing/parsers/jest-lua-parser.test.js +359 -56
  22. package/dist/utils/testing/parsers/jest-lua-parser.test.js.map +1 -1
  23. package/dist/utils/testing/parsers/roblox-path-resolver.d.ts +23 -17
  24. package/dist/utils/testing/parsers/roblox-path-resolver.d.ts.map +1 -1
  25. package/dist/utils/testing/parsers/roblox-path-resolver.js +89 -54
  26. package/dist/utils/testing/parsers/roblox-path-resolver.js.map +1 -1
  27. package/dist/utils/testing/parsers/roblox-path-resolver.test.js +76 -36
  28. package/dist/utils/testing/parsers/roblox-path-resolver.test.js.map +1 -1
  29. package/dist/utils/testing/runner/combined-project-generator.d.ts.map +1 -1
  30. package/dist/utils/testing/runner/combined-project-generator.js +5 -6
  31. package/dist/utils/testing/runner/combined-project-generator.js.map +1 -1
  32. package/dist/utils/testing/runner/test-project-slug.d.ts +11 -0
  33. package/dist/utils/testing/runner/test-project-slug.d.ts.map +1 -0
  34. package/dist/utils/testing/runner/test-project-slug.js +11 -0
  35. package/dist/utils/testing/runner/test-project-slug.js.map +1 -0
  36. package/package.json +6 -6
  37. package/src/commands/tools-command/ci-post-test-results.ts +7 -2
  38. package/src/utils/batch/changed-packages-utils.ts +21 -12
  39. package/src/utils/testing/parsers/annotation-workspace.ts +74 -0
  40. package/src/utils/testing/parsers/index.ts +0 -1
  41. package/src/utils/testing/parsers/jest-lua-parser.test.ts +433 -65
  42. package/src/utils/testing/parsers/jest-lua-parser.ts +131 -109
  43. package/src/utils/testing/parsers/roblox-path-resolver.test.ts +144 -61
  44. package/src/utils/testing/parsers/roblox-path-resolver.ts +117 -56
  45. package/src/utils/testing/runner/combined-project-generator.ts +9 -13
  46. package/src/utils/testing/runner/test-project-slug.ts +18 -0
  47. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"jest-lua-parser.test.js","sourceRoot":"","sources":["../../../../src/utils/testing/parsers/jest-lua-parser.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jest-lua-parser.test.js","sourceRoot":"","sources":["../../../../src/utils/testing/parsers/jest-lua-parser.test.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,30 @@
1
1
  /**
2
- * Converts Roblox instance paths from Jest-lua output back to
3
- * repo-relative local filesystem paths.
2
+ * Maps Roblox instance paths from Jest-lua output to existing repo-relative
3
+ * source files, through `sourcemap.json` or else the `<package dir>/src/`
4
+ * layout.
4
5
  *
5
- * Two strategies:
6
- *
7
- * 1. **Sourcemap** (preferred) — Uses the authoritative `sourcemap.json`
8
- * mapping from `rojo sourcemap --absolute`. Exact and handles all
9
- * project layouts.
10
- *
11
- * 2. **Heuristic** (fallback) — Assumes `src/{slug}/src/` layout and
12
- * hard-codes `.spec`/`.story` as known dotted suffixes. Works when no
13
- * sourcemap is available.
6
+ * A package's npm name (`@quenty/playermock`), directory (`src/player-mock`),
7
+ * Rojo project name (`playermock`) and test-place slug (`gameproduct` for
8
+ * `src/gameproductservice`) can all differ; see `AnnotationWorkspace`.
14
9
  */
15
10
  import type { SourcemapResolver } from '../../sourcemap/index.js';
11
+ import type { AnnotationWorkspace } from './annotation-workspace.js';
12
+ export interface RobloxSourceResolveOptions {
13
+ sourcemapResolver?: SourcemapResolver;
14
+ workspace?: AnnotationWorkspace;
15
+ /** npm name of the package under test, e.g. `@quenty/gameproductservice` */
16
+ packageName?: string;
17
+ /** Repo root that holds the workspace. Defaults to cwd. */
18
+ repoRoot?: string;
19
+ }
20
+ export interface ResolvedSourceFile {
21
+ file: string;
22
+ /** False for dependency copies and sibling packages. */
23
+ isPackageUnderTest: boolean;
24
+ }
16
25
  /**
17
- * Resolve a Roblox instance path (from Jest-lua or a stack trace) to a
18
- * repo-relative filesystem path.
19
- *
20
- * When a `sourcemapResolver` is provided, it is tried first. Falls back to
21
- * the heuristic if the resolver doesn't have a mapping.
26
+ * Resolve an instance path (no `:LINE` suffix) to an existing repo-relative
27
+ * source file, or `undefined` when none matches.
22
28
  */
23
- export declare function resolveRobloxTestPath(instancePath: string, sourcemapResolver?: SourcemapResolver): string;
29
+ export declare function tryResolveRobloxSourceFile(instancePath: string, options?: RobloxSourceResolveOptions): ResolvedSourceFile | undefined;
24
30
  //# sourceMappingURL=roblox-path-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"roblox-path-resolver.d.ts","sourceRoot":"","sources":["../../../../src/utils/testing/parsers/roblox-path-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAIlE;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,MAAM,CAOR"}
1
+ {"version":3,"file":"roblox-path-resolver.d.ts","sourceRoot":"","sources":["../../../../src/utils/testing/parsers/roblox-path-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EACV,mBAAmB,EAEpB,MAAM,2BAA2B,CAAC;AAenC,MAAM,WAAW,0BAA0B;IACzC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,0BAA+B,GACvC,kBAAkB,GAAG,SAAS,CA6DhC"}
@@ -1,70 +1,105 @@
1
1
  /**
2
- * Converts Roblox instance paths from Jest-lua output back to
3
- * repo-relative local filesystem paths.
2
+ * Maps Roblox instance paths from Jest-lua output to existing repo-relative
3
+ * source files, through `sourcemap.json` or else the `<package dir>/src/`
4
+ * layout.
4
5
  *
5
- * Two strategies:
6
- *
7
- * 1. **Sourcemap** (preferred) — Uses the authoritative `sourcemap.json`
8
- * mapping from `rojo sourcemap --absolute`. Exact and handles all
9
- * project layouts.
10
- *
11
- * 2. **Heuristic** (fallback) — Assumes `src/{slug}/src/` layout and
12
- * hard-codes `.spec`/`.story` as known dotted suffixes. Works when no
13
- * sourcemap is available.
6
+ * A package's npm name (`@quenty/playermock`), directory (`src/player-mock`),
7
+ * Rojo project name (`playermock`) and test-place slug (`gameproduct` for
8
+ * `src/gameproductservice`) can all differ; see `AnnotationWorkspace`.
14
9
  */
10
+ import * as fs from 'fs';
11
+ import * as path from 'path';
15
12
  const SERVER_SCRIPT_SERVICE_PREFIX = 'ServerScriptService.';
13
+ const NODE_MODULES_SEGMENT = '.node_modules.';
14
+ const QUENTY_SCOPE = '@quenty/';
15
+ const QUENTY_SCOPE_SEGMENT = '@quenty.';
16
+ const CHUNK_NAME_PATTERN = /^\[string "(.*)"\]$/;
17
+ // Rojo strips `.server`/`.client` from script instance names.
18
+ const SOURCE_EXTENSIONS = ['', '.server', '.client'].flatMap((kind) => [
19
+ `${kind}.lua`,
20
+ `${kind}.luau`,
21
+ `/init${kind}.lua`,
22
+ `/init${kind}.luau`,
23
+ ]);
16
24
  /**
17
- * Resolve a Roblox instance path (from Jest-lua or a stack trace) to a
18
- * repo-relative filesystem path.
19
- *
20
- * When a `sourcemapResolver` is provided, it is tried first. Falls back to
21
- * the heuristic if the resolver doesn't have a mapping.
25
+ * Resolve an instance path (no `:LINE` suffix) to an existing repo-relative
26
+ * source file, or `undefined` when none matches.
22
27
  */
23
- export function resolveRobloxTestPath(instancePath, sourcemapResolver) {
24
- if (sourcemapResolver) {
25
- const resolved = sourcemapResolver.resolve(instancePath);
26
- if (resolved)
27
- return resolved;
28
+ export function tryResolveRobloxSourceFile(instancePath, options = {}) {
29
+ let unwrapped = _unwrapChunkName(instancePath);
30
+ // Roblox truncates long chunk names: `...@quenty.servic..."]`
31
+ if (unwrapped.endsWith('...'))
32
+ return undefined;
33
+ if (unwrapped.startsWith(SERVER_SCRIPT_SERVICE_PREFIX)) {
34
+ unwrapped = unwrapped.slice(SERVER_SCRIPT_SERVICE_PREFIX.length);
28
35
  }
29
- return _resolveHeuristic(instancePath);
30
- }
31
- /**
32
- * Heuristic fallback: assumes `src/{slug}/src/` layout.
33
- *
34
- * Handles optional `:LINE` suffixes and missing `ServerScriptService.` prefix.
35
- */
36
- function _resolveHeuristic(instancePath) {
37
- // Strip :LINE suffix if present
38
- let path = instancePath.replace(/:\d+$/, '');
39
- // Strip ServerScriptService. prefix
40
- if (path.startsWith(SERVER_SCRIPT_SERVICE_PREFIX)) {
41
- path = path.slice(SERVER_SCRIPT_SERVICE_PREFIX.length);
36
+ const packagesByName = options.workspace?.packagesByName;
37
+ let workspacePackage;
38
+ let packageInstanceName;
39
+ let rest;
40
+ let isPackageUnderTest = false;
41
+ const nodeModulesIndex = unwrapped.lastIndexOf(NODE_MODULES_SEGMENT);
42
+ if (nodeModulesIndex !== -1) {
43
+ const dependencyPath = unwrapped.slice(nodeModulesIndex + NODE_MODULES_SEGMENT.length);
44
+ if (!dependencyPath.startsWith(QUENTY_SCOPE_SEGMENT))
45
+ return undefined;
46
+ [packageInstanceName, rest] = _splitFirstSegment(dependencyPath.slice(QUENTY_SCOPE_SEGMENT.length));
47
+ workspacePackage = packagesByName?.get(QUENTY_SCOPE + packageInstanceName);
42
48
  }
43
- // First dot-separated segment is the package slug
44
- const dotIndex = path.indexOf('.');
45
- if (dotIndex === -1) {
46
- // Just a package name with no sub-path — return the src dir
47
- return `src/${path}/src`;
49
+ else {
50
+ [packageInstanceName, rest] = _splitFirstSegment(unwrapped);
51
+ const packageUnderTest = options.packageName
52
+ ? packagesByName?.get(options.packageName)
53
+ : undefined;
54
+ if (packageUnderTest?.testSlugs.includes(packageInstanceName)) {
55
+ workspacePackage = packageUnderTest;
56
+ isPackageUnderTest = true;
57
+ }
58
+ }
59
+ const dir = workspacePackage?.dir ?? `src/${packageInstanceName}`;
60
+ // The sourcemap names packages by Rojo project name, not folder.
61
+ const sourcemapNames = new Set([
62
+ workspacePackage?.projectName ?? packageInstanceName,
63
+ path.posix.basename(dir),
64
+ ]);
65
+ for (const name of sourcemapNames) {
66
+ const mapped = options.sourcemapResolver?.resolve(SERVER_SCRIPT_SERVICE_PREFIX + name + (rest ? `.${rest}` : ''));
67
+ if (mapped)
68
+ return { file: mapped, isPackageUnderTest };
69
+ }
70
+ const repoRoot = options.repoRoot ?? process.cwd();
71
+ const base = _resolveHeuristic(dir, rest);
72
+ for (const extension of SOURCE_EXTENSIONS) {
73
+ const file = `${base}${extension}`;
74
+ if (fs.existsSync(path.join(repoRoot, file))) {
75
+ return { file, isPackageUnderTest };
76
+ }
48
77
  }
49
- const packageSlug = path.slice(0, dotIndex);
50
- const remaining = path.slice(dotIndex + 1);
51
- // Split into segments. In Rojo, dots in filenames (e.g. "Maid.spec.lua"
52
- // becomes instance "Maid.spec") are ambiguous with the hierarchy separator.
53
- // Rejoin known filename suffixes like ".spec" and ".story" with a dot
54
- // instead of a slash.
55
- const segments = remaining.split('.');
78
+ return undefined;
79
+ }
80
+ function _unwrapChunkName(name) {
81
+ const match = name.trim().match(CHUNK_NAME_PATTERN);
82
+ return match ? match[1] : name.trim();
83
+ }
84
+ function _splitFirstSegment(dottedPath) {
85
+ const dotIndex = dottedPath.indexOf('.');
86
+ return dotIndex === -1
87
+ ? [dottedPath, '']
88
+ : [dottedPath.slice(0, dotIndex), dottedPath.slice(dotIndex + 1)];
89
+ }
90
+ function _resolveHeuristic(dir, rest) {
91
+ if (!rest)
92
+ return `${dir}/src`;
93
+ // Rojo turns `Maid.spec.lua` into instance `Maid.spec`, so rejoin suffixes.
56
94
  const rejoined = [];
57
- for (let i = 0; i < segments.length; i++) {
58
- const seg = segments[i];
59
- // If this segment is a known file suffix, merge it with the previous
60
- if (i > 0 && (seg === 'spec' || seg === 'story')) {
61
- rejoined[rejoined.length - 1] += `.${seg}`;
95
+ for (const segment of rest.split('.')) {
96
+ if (rejoined.length > 0 && (segment === 'spec' || segment === 'story')) {
97
+ rejoined[rejoined.length - 1] += `.${segment}`;
62
98
  }
63
99
  else {
64
- rejoined.push(seg);
100
+ rejoined.push(segment);
65
101
  }
66
102
  }
67
- const subPath = rejoined.join('/');
68
- return `src/${packageSlug}/src/${subPath}.lua`;
103
+ return `${dir}/src/${rejoined.join('/')}`;
69
104
  }
70
105
  //# sourceMappingURL=roblox-path-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"roblox-path-resolver.js","sourceRoot":"","sources":["../../../../src/utils/testing/parsers/roblox-path-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,4BAA4B,GAAG,sBAAsB,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAoB,EACpB,iBAAqC;IAErC,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IAED,OAAO,iBAAiB,CAAC,YAAY,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,YAAoB;IAC7C,gCAAgC;IAChC,IAAI,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE7C,oCAAoC;IACpC,IAAI,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,CAAC;QAClD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,kDAAkD;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,4DAA4D;QAC5D,OAAO,OAAO,IAAI,MAAM,CAAC;IAC3B,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAE3C,wEAAwE;IACxE,4EAA4E;IAC5E,sEAAsE;IACtE,sBAAsB;IACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,qEAAqE;QACrE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,OAAO,WAAW,QAAQ,OAAO,MAAM,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"roblox-path-resolver.js","sourceRoot":"","sources":["../../../../src/utils/testing/parsers/roblox-path-resolver.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,77 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { resolveRobloxTestPath } from './roblox-path-resolver.js';
1
+ import { beforeAll, describe, it, expect } from 'vitest';
2
+ import { fileURLToPath } from 'url';
3
+ import { tryResolveRobloxSourceFile } from './roblox-path-resolver.js';
3
4
  import { SourcemapResolver } from '../../sourcemap/index.js';
4
- describe('resolveRobloxTestPath', () => {
5
+ import { tryLoadAnnotationWorkspaceAsync, } from './annotation-workspace.js';
6
+ const REPO_ROOT = fileURLToPath(new URL('../../../../../../', import.meta.url));
7
+ let workspace;
8
+ beforeAll(async () => {
9
+ workspace = await tryLoadAnnotationWorkspaceAsync(REPO_ROOT);
10
+ }, 30000);
11
+ function resolveFile(instancePath, packageName) {
12
+ return tryResolveRobloxSourceFile(instancePath, {
13
+ repoRoot: REPO_ROOT,
14
+ workspace,
15
+ packageName,
16
+ })?.file;
17
+ }
18
+ describe('tryResolveRobloxSourceFile', () => {
5
19
  it('resolves a standard ServerScriptService path', () => {
6
- expect(resolveRobloxTestPath('ServerScriptService.observablecollection.Shared.ObservableList.spec')).toBe('src/observablecollection/src/Shared/ObservableList.spec.lua');
20
+ expect(resolveFile('ServerScriptService.observablecollection.Shared.ObservableList.spec')).toBe('src/observablecollection/src/Shared/ObservableList.spec.lua');
7
21
  });
8
22
  it('resolves a nested subdirectory path', () => {
9
- expect(resolveRobloxTestPath('ServerScriptService.maid.Shared.Maid.spec')).toBe('src/maid/src/Shared/Maid.spec.lua');
23
+ expect(resolveFile('ServerScriptService.observablecollection.Shared.SortedList.ObservableSortedList')).toBe('src/observablecollection/src/Shared/SortedList/ObservableSortedList.lua');
10
24
  });
11
- it('resolves a deeply nested path', () => {
12
- expect(resolveRobloxTestPath('ServerScriptService.blend.Client.Blend.Spring.SpringObject.spec')).toBe('src/blend/src/Client/Blend/Spring/SpringObject.spec.lua');
25
+ it('handles missing ServerScriptService prefix', () => {
26
+ expect(resolveFile('maid.Shared.MaidTaskUtils.spec')).toBe('src/maid/src/Shared/MaidTaskUtils.spec.lua');
13
27
  });
14
- it('handles missing ServerScriptService prefix as fallback', () => {
15
- expect(resolveRobloxTestPath('observablecollection.Shared.ObservableList.spec')).toBe('src/observablecollection/src/Shared/ObservableList.spec.lua');
28
+ it('unwraps a chunk-name wrapper', () => {
29
+ expect(resolveFile('[string "ServerScriptService.saveslot.Server.HasSaveSlotsDataStore"]')).toBe('src/saveslot/src/Server/HasSaveSlotsDataStore.lua');
16
30
  });
17
- it('strips :LINE suffix', () => {
18
- expect(resolveRobloxTestPath('ServerScriptService.observablecollection.Shared.ObservableList.spec:45')).toBe('src/observablecollection/src/Shared/ObservableList.spec.lua');
31
+ it('maps a nested dependency copy to its own package', () => {
32
+ expect(resolveFile('ServerScriptService.saveslot.node_modules.@quenty.adorneedata.node_modules.@quenty.attributeutils.node_modules.@quenty.baseobject.node_modules.@quenty.maid.Shared.Maid')).toBe('src/maid/src/Shared/Maid.lua');
19
33
  });
20
- it('handles path without ServerScriptService prefix and with :LINE suffix', () => {
21
- expect(resolveRobloxTestPath('maid.Shared.Maid.spec:23')).toBe('src/maid/src/Shared/Maid.spec.lua');
34
+ it('maps a dependency whose folder differs from its npm name', () => {
35
+ expect(resolveFile('[string "ServerScriptService.gameproduct.node_modules.@quenty.playermock.Shared.PlayerMock"]')).toBe('src/player-mock/src/Shared/PlayerMock.lua');
22
36
  });
23
- it('handles a bare package slug', () => {
24
- expect(resolveRobloxTestPath('ServerScriptService.maid')).toBe('src/maid/src');
37
+ it('resolves a package root module to its init file', () => {
38
+ expect(resolveFile('[string "ServerScriptService.studiobridge.node_modules.@quenty.nevermore-test-runner.node_modules.@quenty.loader"]')).toBe('src/loader/src/init.lua');
25
39
  });
26
- it('handles a single-level spec path', () => {
27
- expect(resolveRobloxTestPath('ServerScriptService.maid.Maid.spec')).toBe('src/maid/src/Maid.spec.lua');
40
+ it('maps the test slug of the package under test to its folder', () => {
41
+ expect(tryResolveRobloxSourceFile('ServerScriptService.gameproduct.Server.Cmdr.GameProductCmdrService', {
42
+ repoRoot: REPO_ROOT,
43
+ workspace,
44
+ packageName: '@quenty/gameproductservice',
45
+ })).toEqual({
46
+ file: 'src/gameproductservice/src/Server/Cmdr/GameProductCmdrService.lua',
47
+ isPackageUnderTest: true,
48
+ });
49
+ expect(resolveFile('ServerScriptService.playermock.Shared.PlayerMock', '@quenty/playermock')).toBe('src/player-mock/src/Shared/PlayerMock.lua');
50
+ });
51
+ it('resolves a package outside src/ by its workspace directory', () => {
52
+ expect(resolveFile('ServerScriptService.studiobridge.commands.console.exec.execute.spec', '@quenty/studio-bridge')).toBe('tools/studio-bridge/src/commands/console/exec/execute.spec.lua');
53
+ });
54
+ it('tries the script file names Rojo strips', () => {
55
+ expect(resolveFile('ServerScriptService.x.node_modules.@quenty.preview-plugin')).toBe('plugins/preview-plugin/src/init.server.lua');
56
+ });
57
+ it('flags dependency frames as not under test', () => {
58
+ expect(tryResolveRobloxSourceFile('ServerScriptService.saveslot.node_modules.@quenty.binder.Shared.Binder', { repoRoot: REPO_ROOT, workspace, packageName: '@quenty/saveslot' })).toEqual({
59
+ file: 'src/binder/src/Shared/Binder.lua',
60
+ isPackageUnderTest: false,
61
+ });
62
+ });
63
+ it('does not remap a sibling package frame into the package under test', () => {
64
+ expect(resolveFile('ServerScriptService.othersibling.Server.SaveSlotService', '@quenty/saveslot')).toBeUndefined();
65
+ expect(resolveFile('ServerScriptService.Script', '@quenty/saveslot')).toBeUndefined();
66
+ });
67
+ it('rejects vendored, truncated and missing paths', () => {
68
+ for (const instancePath of [
69
+ 'ServerScriptService.studiobridge.node_modules.@quenty.nevermore-test-runner.node_modules.@quentystudios.Jest._Index.jsdotlua_promise@3.5.2.promise',
70
+ '[string "ServerScriptService.gameproduct.node_modules.@quenty.playermock.node_modules.@quenty.servic..."]',
71
+ 'ServerScriptService.unknownpkg.Shared.Foo',
72
+ ]) {
73
+ expect(resolveFile(instancePath)).toBeUndefined();
74
+ }
28
75
  });
29
76
  describe('with sourcemap resolver', () => {
30
77
  const repoRoot = '/repo';
@@ -33,26 +80,19 @@ describe('resolveRobloxTestPath', () => {
33
80
  className: 'DataModel',
34
81
  children: [
35
82
  {
36
- name: 'mypkg',
83
+ name: 'playermock',
37
84
  className: 'Folder',
38
- filePaths: [`${repoRoot}/src/mypkg/default.project.json`],
85
+ filePaths: [`${repoRoot}/src/player-mock/default.project.json`],
39
86
  children: [
40
87
  {
41
88
  name: 'Shared',
42
89
  className: 'Folder',
43
90
  children: [
44
91
  {
45
- name: 'MyModule',
92
+ name: 'PlayerMock',
46
93
  className: 'ModuleScript',
47
- filePaths: [`${repoRoot}/src/mypkg/src/Shared/MyModule.lua`],
48
- children: [
49
- {
50
- name: 'MyModule.spec',
51
- className: 'ModuleScript',
52
- filePaths: [
53
- `${repoRoot}/src/mypkg/src/Shared/MyModule.spec.lua`,
54
- ],
55
- },
94
+ filePaths: [
95
+ `${repoRoot}/src/player-mock/src/Shared/PlayerMock.lua`,
56
96
  ],
57
97
  },
58
98
  ],
@@ -62,14 +102,14 @@ describe('resolveRobloxTestPath', () => {
62
102
  ],
63
103
  };
64
104
  const resolver = SourcemapResolver.fromSourcemap(sourcemap, repoRoot);
65
- it('uses sourcemap when path is found', () => {
66
- expect(resolveRobloxTestPath('ServerScriptService.mypkg.Shared.MyModule.MyModule.spec', resolver)).toBe('src/mypkg/src/Shared/MyModule.spec.lua');
67
- });
68
- it('falls back to heuristic when sourcemap has no mapping', () => {
69
- expect(resolveRobloxTestPath('ServerScriptService.unknownpkg.Shared.Foo.spec', resolver)).toBe('src/unknownpkg/src/Shared/Foo.spec.lua');
105
+ it('looks up dependency copies under their Rojo project name', () => {
106
+ expect(tryResolveRobloxSourceFile('ServerScriptService.gameproduct.node_modules.@quenty.playermock.Shared.PlayerMock', { repoRoot, sourcemapResolver: resolver })?.file).toBe('src/player-mock/src/Shared/PlayerMock.lua');
70
107
  });
71
- it('strips :LINE suffix with sourcemap', () => {
72
- expect(resolveRobloxTestPath('ServerScriptService.mypkg.Shared.MyModule.MyModule.spec:42', resolver)).toBe('src/mypkg/src/Shared/MyModule.spec.lua');
108
+ it('returns undefined when neither sourcemap nor repo has the file', () => {
109
+ expect(tryResolveRobloxSourceFile('ServerScriptService.unknownpkg.Shared.Foo', {
110
+ repoRoot,
111
+ sourcemapResolver: resolver,
112
+ })).toBeUndefined();
73
113
  });
74
114
  });
75
115
  });
@@ -1 +1 @@
1
- {"version":3,"file":"roblox-path-resolver.test.js","sourceRoot":"","sources":["../../../../src/utils/testing/parsers/roblox-path-resolver.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"roblox-path-resolver.test.js","sourceRoot":"","sources":["../../../../src/utils/testing/parsers/roblox-path-resolver.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"combined-project-generator.d.ts","sourceRoot":"","sources":["../../../../src/utils/testing/runner/combined-project-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EAEb,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAGzE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,QAAmB,CAAC;AAExD,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,+EAA+E;IAC/E,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,mFAAmF;IACnF,aAAa,EAAE,YAAY,CAAC;IAC5B,sFAAsF;IACtF,YAAY,EAAE,YAAY,CAAC;CAC5B;AAMD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE,8EAA8E;AAC9E,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,sBAAsB,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,cAAc,CAAC,IAAI,IAAI,CAAC;IACxB,cAAc,CAAC,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;CAC/C;AAWD;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC1D,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAsIjC;AA+ED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC3B,QAAQ,EAAE,MAAM,GACf,CAAC,EAAE,EAAE,CAqBP;AAED,mDAAmD;AACnD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD"}
1
+ {"version":3,"file":"combined-project-generator.d.ts","sourceRoot":"","sources":["../../../../src/utils/testing/runner/combined-project-generator.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EAEb,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAOzE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,QAAmB,CAAC;AAExD,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,+EAA+E;IAC/E,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,mFAAmF;IACnF,aAAa,EAAE,YAAY,CAAC;IAC5B,sFAAsF;IACtF,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE,8EAA8E;AAC9E,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,sBAAsB,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,cAAc,CAAC,IAAI,IAAI,CAAC;IACxB,cAAc,CAAC,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;CAC/C;AAWD;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAAC,OAAO,EAAE;IAC1D,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAsIjC;AA+ED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC3B,QAAQ,EAAE,MAAM,GACf,CAAC,EAAE,EAAE,CAqBP;AAED,mDAAmD;AACnD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD"}
@@ -3,6 +3,7 @@ import * as path from 'path';
3
3
  import { BuildContext, resolvePackagePath, } from '@quenty/nevermore-template-helpers';
4
4
  import { OutputHelper } from '@quenty/cli-output-helpers';
5
5
  import { recompressPlace } from '../../build/place-recompression.js';
6
+ import { findTestProjectSlug, } from './test-project-slug.js';
6
7
  /**
7
8
  * Budget for one combined place, as uploaded (recompressed). Under the upload
8
9
  * limit (`PLACE_UPLOAD_MAX_BYTES`), and under the 100 MB Roblox documents as
@@ -193,14 +194,12 @@ async function _extractSlugAsync(batchTargetName, projectPath) {
193
194
  throw new Error(`Cannot read test project for ${batchTargetName}: ${projectPath}`);
194
195
  }
195
196
  const project = JSON.parse(content);
196
- const serverScriptService = project.tree?.ServerScriptService;
197
- if (!serverScriptService) {
197
+ if (!project.tree?.ServerScriptService) {
198
198
  throw new Error(`Test project for ${batchTargetName} is missing ServerScriptService in tree`);
199
199
  }
200
- for (const key of Object.keys(serverScriptService)) {
201
- if (!key.startsWith('$') && key !== 'Script') {
202
- return key;
203
- }
200
+ const slug = findTestProjectSlug(project);
201
+ if (slug) {
202
+ return slug;
204
203
  }
205
204
  throw new Error(`Test project for ${batchTargetName} has no entry under ServerScriptService`);
206
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"combined-project-generator.js","sourceRoot":"","sources":["../../../../src/utils/testing/runner/combined-project-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"combined-project-generator.js","sourceRoot":"","sources":["../../../../src/utils/testing/runner/combined-project-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface TestRojoProject {
2
+ tree?: {
3
+ ServerScriptService?: Record<string, unknown>;
4
+ };
5
+ }
6
+ /**
7
+ * A package's instance name in its test place: the first non-`$`,
8
+ * non-`Script` key under ServerScriptService.
9
+ */
10
+ export declare function findTestProjectSlug(project: TestRojoProject): string | undefined;
11
+ //# sourceMappingURL=test-project-slug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-project-slug.d.ts","sourceRoot":"","sources":["../../../../src/utils/testing/runner/test-project-slug.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CAC1D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,GACvB,MAAM,GAAG,SAAS,CAOpB"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * A package's instance name in its test place: the first non-`$`,
3
+ * non-`Script` key under ServerScriptService.
4
+ */
5
+ export function findTestProjectSlug(project) {
6
+ const serverScriptService = project.tree?.ServerScriptService;
7
+ if (!serverScriptService)
8
+ return undefined;
9
+ return Object.keys(serverScriptService).find((key) => !key.startsWith('$') && key !== 'Script');
10
+ }
11
+ //# sourceMappingURL=test-project-slug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-project-slug.js","sourceRoot":"","sources":["../../../../src/utils/testing/runner/test-project-slug.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAwB;IAExB,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,EAAE,mBAAmB,CAAC;IAC9D,IAAI,CAAC,mBAAmB;QAAE,OAAO,SAAS,CAAC;IAE3C,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAC1C,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,QAAQ,CAClD,CAAC;AACJ,CAAC"}