@proteinjs/reflection-build 1.4.5 → 1.4.6
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/dist/test/examples/source-repository/a/generated/index.js +1 -1
- package/dist/test/examples/source-repository/b/generated/index.js +1 -1
- package/package.json +2 -2
- package/test/examples/source-repository/a/dist/generated/index.js +1 -1
- package/test/examples/source-repository/a/generated/index.ts +1 -1
- package/test/examples/source-repository/a/node_modules/.package-lock.json +6 -6
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/CHANGELOG.md +22 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js +102 -20
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js.map +1 -1
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/jest.config.js +9 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/package.json +4 -3
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/PackageUtil.ts +88 -2
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/test/PackageUtil.symlinkDependencies.test.ts +254 -0
- package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/tsconfig.json +1 -1
- package/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/Makefile +1 -1
- package/test/examples/source-repository/a/package-lock.json +8 -8
- package/test/examples/source-repository/a/package.json +2 -2
- package/test/examples/source-repository/b/dist/generated/index.js +1 -1
- package/test/examples/source-repository/b/generated/index.ts +1 -1
- package/test/examples/source-repository/b/node_modules/.package-lock.json +4 -4
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/CHANGELOG.md +22 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js +102 -20
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/dist/src/PackageUtil.js.map +1 -1
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/jest.config.js +9 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/package.json +4 -3
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/src/PackageUtil.ts +88 -2
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/test/PackageUtil.symlinkDependencies.test.ts +254 -0
- package/test/examples/source-repository/b/node_modules/@proteinjs/util-node/tsconfig.json +1 -1
- package/test/examples/source-repository/b/node_modules/glob-watcher/node_modules/fsevents/build/Makefile +1 -1
- package/test/examples/source-repository/b/package-lock.json +6 -6
- package/test/examples/source-repository/b/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageUtil.js","sourceRoot":"","sources":["../../src/PackageUtil.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PackageUtil.js","sourceRoot":"","sources":["../../src/PackageUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proteinjs/util-node",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.1",
|
|
4
4
|
"description": "Util libs for node",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
"scripts": {
|
|
21
21
|
"clean": "rm -rf dist/ node_modules/",
|
|
22
22
|
"build": "tsc",
|
|
23
|
-
"watch": "tsc -w -p ."
|
|
23
|
+
"watch": "tsc -w -p .",
|
|
24
|
+
"test": "jest --passWithNoTests"
|
|
24
25
|
},
|
|
25
26
|
"dependencies": {
|
|
26
27
|
"@dagrejs/graphlib": "2.1.4",
|
|
@@ -42,5 +43,5 @@
|
|
|
42
43
|
"jest": "^29.6.4",
|
|
43
44
|
"ts-jest": "^29.1.1"
|
|
44
45
|
},
|
|
45
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "d05f0a962e993acae4c4667ec1fe890d13b55710"
|
|
46
47
|
}
|
package/test/examples/source-repository/a/node_modules/@proteinjs/util-node/src/PackageUtil.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
2
|
import * as path from 'path';
|
|
3
|
+
import * as fs from 'fs/promises';
|
|
3
4
|
import { Graph, GraphAlgorithms } from '@proteinjs/util';
|
|
4
5
|
import { cmd } from './cmd';
|
|
5
6
|
import { Fs } from './Fs';
|
|
@@ -353,11 +354,96 @@ export class PackageUtil {
|
|
|
353
354
|
if (!(await Fs.exists(symlinkParent))) {
|
|
354
355
|
await Fs.createFolder(symlinkParent);
|
|
355
356
|
}
|
|
356
|
-
|
|
357
|
+
// Clear out any existing entry at symlinkPath before creating the
|
|
358
|
+
// new symlink. Use `fs.lstat` rather than `Fs.exists` because
|
|
359
|
+
// `Fs.exists` is `fs.stat`-backed — which FOLLOWS symlinks and
|
|
360
|
+
// throws on a broken target, making broken symlinks invisible
|
|
361
|
+
// here. That's a real failure mode: if a prior run produced a
|
|
362
|
+
// symlink to a path that no longer exists (e.g. after the tree
|
|
363
|
+
// was moved, mounted elsewhere, or retargeted by tooling), the
|
|
364
|
+
// broken link survives the `Fs.exists` check, the delete is
|
|
365
|
+
// skipped, and `ln -s` then fails with "File exists".
|
|
366
|
+
try {
|
|
367
|
+
await fs.lstat(symlinkPath);
|
|
368
|
+
// Existing entry (symlink, file, or directory) — remove it.
|
|
369
|
+
// `deleteFolder` (fs-extra `remove`) handles all three.
|
|
357
370
|
await Fs.deleteFolder(symlinkPath);
|
|
371
|
+
} catch (e: any) {
|
|
372
|
+
if (e.code !== 'ENOENT') {
|
|
373
|
+
throw e;
|
|
374
|
+
}
|
|
375
|
+
// Nothing there — nothing to clean up.
|
|
358
376
|
}
|
|
359
377
|
|
|
360
|
-
|
|
378
|
+
// Use a RELATIVE link target so the workspace is portable across
|
|
379
|
+
// mount points (a developer's laptop, CI containers, a remote
|
|
380
|
+
// sandbox, etc.) without having to re-run `symlink-workspace` just
|
|
381
|
+
// because the absolute root path changed. `ln -s TARGET LINK`
|
|
382
|
+
// resolves TARGET relative to the directory containing the link —
|
|
383
|
+
// i.e. `symlinkParent` — so we compute the relative path from there.
|
|
384
|
+
const relativeDependencyPath = path.relative(symlinkParent, dependencyPath);
|
|
385
|
+
await cmd('ln', ['-s', relativeDependencyPath, symlinkPath], { cwd: packageDir });
|
|
386
|
+
|
|
387
|
+
// Create `.bin/<name>` shims for every bin the dependency declares.
|
|
388
|
+
//
|
|
389
|
+
// This is normally npm's job: `npm install` creates shims at
|
|
390
|
+
// `node_modules/.bin/<name>` pointing into the installed package so
|
|
391
|
+
// lifecycle scripts like `npm run watch` (where npm prepends
|
|
392
|
+
// `./node_modules/.bin` to PATH) can find them. `symlink-workspace`
|
|
393
|
+
// bypasses `npm install`, so without this loop the shims only exist
|
|
394
|
+
// if the user happened to run `npm install` at some point and they
|
|
395
|
+
// survive. They don't survive a broken-symlink sweep, a fresh
|
|
396
|
+
// checkout, or a move to a new host — so we create them ourselves.
|
|
397
|
+
//
|
|
398
|
+
// Also chmod +x the bin target: tsc output doesn't preserve the
|
|
399
|
+
// execute bit that `npm install` sets from the published tarball.
|
|
400
|
+
const depPackageJson = JSON.parse(await Fs.readFile(localPackageMap[dependencyPackageName].filePath));
|
|
401
|
+
const bin = depPackageJson.bin;
|
|
402
|
+
const binEntries: Array<{ name: string; relPath: string }> = [];
|
|
403
|
+
if (bin && typeof bin === 'object') {
|
|
404
|
+
for (const binName in bin) {
|
|
405
|
+
binEntries.push({ name: binName, relPath: bin[binName] });
|
|
406
|
+
}
|
|
407
|
+
} else if (bin && typeof bin === 'string') {
|
|
408
|
+
// Shorthand: `"bin": "./path"` — the exposed name is the
|
|
409
|
+
// package's bare name (scope stripped). Matches npm behavior.
|
|
410
|
+
const bareName = dependencyPackageName.includes('/')
|
|
411
|
+
? dependencyPackageName.split('/').pop()!
|
|
412
|
+
: dependencyPackageName;
|
|
413
|
+
binEntries.push({ name: bareName, relPath: bin });
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
if (binEntries.length > 0) {
|
|
417
|
+
const dotBinDir = path.join(nodeModulesPath, '.bin');
|
|
418
|
+
if (!(await Fs.exists(dotBinDir))) {
|
|
419
|
+
await Fs.createFolder(dotBinDir);
|
|
420
|
+
}
|
|
421
|
+
for (const { name, relPath } of binEntries) {
|
|
422
|
+
const binFilePath = path.resolve(dependencyPath, relPath);
|
|
423
|
+
if (await Fs.exists(binFilePath)) {
|
|
424
|
+
await fs.chmod(binFilePath, 0o755);
|
|
425
|
+
}
|
|
426
|
+
const shimPath = path.join(dotBinDir, name);
|
|
427
|
+
// Same lstat-based cleanup as for the dep symlink — broken
|
|
428
|
+
// shims from a prior run in a different environment would
|
|
429
|
+
// otherwise make `ln -s` fail with "File exists".
|
|
430
|
+
try {
|
|
431
|
+
await fs.lstat(shimPath);
|
|
432
|
+
await Fs.deleteFolder(shimPath);
|
|
433
|
+
} catch (e: any) {
|
|
434
|
+
if (e.code !== 'ENOENT') {
|
|
435
|
+
throw e;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
// Relative target: from `node_modules/.bin` into the dep
|
|
439
|
+
// directory. Goes through the dep's symlinked node_modules
|
|
440
|
+
// entry (not into the source tree) so the shim continues to
|
|
441
|
+
// resolve correctly after the workspace is relocated.
|
|
442
|
+
const shimTargetAbsolute = path.join(nodeModulesPath, dependencyPackageName, relPath);
|
|
443
|
+
const shimRelative = path.relative(dotBinDir, shimTargetAbsolute);
|
|
444
|
+
await cmd('ln', ['-s', shimRelative, shimPath], { cwd: packageDir });
|
|
445
|
+
}
|
|
446
|
+
}
|
|
361
447
|
}
|
|
362
448
|
};
|
|
363
449
|
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import * as fs from 'fs/promises';
|
|
3
|
+
import * as os from 'os';
|
|
4
|
+
import { PackageUtil, LocalPackage, LocalPackageMap } from '../src/PackageUtil';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Regression tests for PackageUtil.symlinkDependencies.
|
|
8
|
+
*
|
|
9
|
+
* The important property: the symlinks it creates must use RELATIVE targets
|
|
10
|
+
* so the workspace is portable across mount points. If absolute paths slip
|
|
11
|
+
* back in, a symlinked workspace breaks whenever its root directory moves
|
|
12
|
+
* (developer laptop vs CI container vs sandbox vs coworker's checkout), and
|
|
13
|
+
* every environment change requires re-running `symlink-workspace`.
|
|
14
|
+
*/
|
|
15
|
+
describe('PackageUtil.symlinkDependencies — relative link targets', () => {
|
|
16
|
+
let workspaceRoot: string;
|
|
17
|
+
|
|
18
|
+
beforeEach(async () => {
|
|
19
|
+
workspaceRoot = await fs.mkdtemp(path.join(os.tmpdir(), 'symlink-rel-'));
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
afterEach(async () => {
|
|
23
|
+
if (workspaceRoot) {
|
|
24
|
+
await fs.rm(workspaceRoot, { recursive: true, force: true }).catch(() => {
|
|
25
|
+
/* ignore — directory may have already been moved */
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Create a package.json on disk and return the `LocalPackage` record that
|
|
32
|
+
* `symlinkDependencies` expects.
|
|
33
|
+
*/
|
|
34
|
+
const writePackage = async (
|
|
35
|
+
relPath: string,
|
|
36
|
+
name: string,
|
|
37
|
+
deps: Record<string, string> = {}
|
|
38
|
+
): Promise<LocalPackage> => {
|
|
39
|
+
const dir = path.join(workspaceRoot, relPath);
|
|
40
|
+
await fs.mkdir(dir, { recursive: true });
|
|
41
|
+
const pkgPath = path.join(dir, 'package.json');
|
|
42
|
+
const packageJson = { name, version: '1.0.0', dependencies: deps };
|
|
43
|
+
await fs.writeFile(pkgPath, JSON.stringify(packageJson, null, 2));
|
|
44
|
+
return { name, filePath: pkgPath, packageJson };
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
test('created symlink target is relative, not absolute', async () => {
|
|
48
|
+
const depPkg = await writePackage('packages/dep', '@scope/dep');
|
|
49
|
+
const consumerPkg = await writePackage('packages/consumer', '@scope/consumer', {
|
|
50
|
+
'@scope/dep': '^1.0.0',
|
|
51
|
+
});
|
|
52
|
+
const packageMap: LocalPackageMap = {
|
|
53
|
+
'@scope/dep': depPkg,
|
|
54
|
+
'@scope/consumer': consumerPkg,
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
await PackageUtil.symlinkDependencies(consumerPkg, packageMap);
|
|
58
|
+
|
|
59
|
+
const symlinkPath = path.join(workspaceRoot, 'packages/consumer/node_modules/@scope/dep');
|
|
60
|
+
const linkTarget = await fs.readlink(symlinkPath);
|
|
61
|
+
|
|
62
|
+
expect(path.isAbsolute(linkTarget)).toBe(false);
|
|
63
|
+
// From .../packages/consumer/node_modules/@scope up to .../packages, then down to dep.
|
|
64
|
+
expect(linkTarget).toBe(path.join('..', '..', '..', 'dep'));
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
test('symlink still resolves after the workspace is moved to a new root', async () => {
|
|
68
|
+
const depPkg = await writePackage('packages/dep', '@scope/dep');
|
|
69
|
+
const consumerPkg = await writePackage('packages/consumer', '@scope/consumer', {
|
|
70
|
+
'@scope/dep': '^1.0.0',
|
|
71
|
+
});
|
|
72
|
+
const packageMap: LocalPackageMap = {
|
|
73
|
+
'@scope/dep': depPkg,
|
|
74
|
+
'@scope/consumer': consumerPkg,
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
// Drop a marker file inside the dep package so we can verify the symlink
|
|
78
|
+
// resolves into it by path after the move.
|
|
79
|
+
const markerRelativePath = path.join('packages/consumer/node_modules/@scope/dep/marker.txt');
|
|
80
|
+
await fs.writeFile(path.join(workspaceRoot, 'packages/dep/marker.txt'), 'hello');
|
|
81
|
+
|
|
82
|
+
await PackageUtil.symlinkDependencies(consumerPkg, packageMap);
|
|
83
|
+
|
|
84
|
+
// Move the entire workspace to a new absolute path. If the symlink target
|
|
85
|
+
// were absolute (pointing at the old workspaceRoot), every resolution
|
|
86
|
+
// through it would now fail. With a relative target it continues to work.
|
|
87
|
+
const movedRoot = workspaceRoot + '-moved';
|
|
88
|
+
await fs.rename(workspaceRoot, movedRoot);
|
|
89
|
+
const prevRoot = workspaceRoot;
|
|
90
|
+
workspaceRoot = movedRoot; // redirect afterEach cleanup at the new location
|
|
91
|
+
|
|
92
|
+
const markerThroughSymlink = path.join(movedRoot, markerRelativePath);
|
|
93
|
+
const content = await fs.readFile(markerThroughSymlink, 'utf8');
|
|
94
|
+
expect(content).toBe('hello');
|
|
95
|
+
|
|
96
|
+
// Sanity check: confirm the old absolute path really is gone, so we know
|
|
97
|
+
// the move happened and we're not accidentally resolving through the
|
|
98
|
+
// original location via some leftover absolute link.
|
|
99
|
+
await expect(fs.stat(prevRoot)).rejects.toThrow();
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
test('replaces a pre-existing BROKEN symlink (prior run pointed at a now-missing path)', async () => {
|
|
103
|
+
// Regression test for the Fs.exists-vs-broken-symlink bug.
|
|
104
|
+
//
|
|
105
|
+
// `Fs.exists` is stat-backed: it follows symlinks and throws on a
|
|
106
|
+
// broken target, so broken symlinks read as "doesn't exist". If
|
|
107
|
+
// symlinkDependencies relied on Fs.exists alone to decide whether to
|
|
108
|
+
// pre-delete, a broken symlink from a prior run (e.g. a sandbox with
|
|
109
|
+
// a different mount point, a cross-machine checkout, a moved tree)
|
|
110
|
+
// would survive the pre-delete step and cause `ln -s` to fail with
|
|
111
|
+
// "File exists".
|
|
112
|
+
const depPkg = await writePackage('packages/dep', '@scope/dep');
|
|
113
|
+
const consumerPkg = await writePackage('packages/consumer', '@scope/consumer', {
|
|
114
|
+
'@scope/dep': '^1.0.0',
|
|
115
|
+
});
|
|
116
|
+
const packageMap: LocalPackageMap = {
|
|
117
|
+
'@scope/dep': depPkg,
|
|
118
|
+
'@scope/consumer': consumerPkg,
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
// Manually plant a broken symlink where the dep link would go,
|
|
122
|
+
// simulating the "ran symlink-workspace in a different environment
|
|
123
|
+
// earlier" state.
|
|
124
|
+
const symlinkDir = path.join(workspaceRoot, 'packages/consumer/node_modules/@scope');
|
|
125
|
+
await fs.mkdir(symlinkDir, { recursive: true });
|
|
126
|
+
const symlinkPath = path.join(symlinkDir, 'dep');
|
|
127
|
+
await fs.symlink('/nonexistent/absolute/path/that/cannot/resolve', symlinkPath);
|
|
128
|
+
|
|
129
|
+
// Confirm the broken state before we invoke symlinkDependencies.
|
|
130
|
+
await expect(fs.stat(symlinkPath)).rejects.toMatchObject({ code: 'ENOENT' });
|
|
131
|
+
// lstat succeeds because it doesn't follow the link.
|
|
132
|
+
const brokenStat = await fs.lstat(symlinkPath);
|
|
133
|
+
expect(brokenStat.isSymbolicLink()).toBe(true);
|
|
134
|
+
|
|
135
|
+
// This must NOT throw "File exists" — it should overwrite the broken link.
|
|
136
|
+
await PackageUtil.symlinkDependencies(consumerPkg, packageMap);
|
|
137
|
+
|
|
138
|
+
// Fresh symlink with a relative target.
|
|
139
|
+
const newTarget = await fs.readlink(symlinkPath);
|
|
140
|
+
expect(path.isAbsolute(newTarget)).toBe(false);
|
|
141
|
+
expect(newTarget).toBe(path.join('..', '..', '..', 'dep'));
|
|
142
|
+
|
|
143
|
+
// And it resolves — the dep directory exists.
|
|
144
|
+
const resolvedStat = await fs.stat(symlinkPath);
|
|
145
|
+
expect(resolvedStat.isDirectory()).toBe(true);
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
test('creates node_modules/.bin shims for deps that declare a `bin` field (object form)', async () => {
|
|
149
|
+
// Regression test for the missing-.bin-shim bug. `npm install`
|
|
150
|
+
// normally writes `node_modules/.bin/<name>` shims for every `bin` a
|
|
151
|
+
// dependency declares, and npm prepends `./node_modules/.bin` to PATH
|
|
152
|
+
// when running lifecycle scripts. If `symlink-workspace` doesn't
|
|
153
|
+
// create these shims itself, running `npm run watch` in a consumer
|
|
154
|
+
// package fails with `command not found` as soon as the shim from a
|
|
155
|
+
// prior `npm install` gets cleaned up (or the tree is freshly cloned).
|
|
156
|
+
const toolPkg = await writePackage('packages/tool', '@scope/tool');
|
|
157
|
+
// Populate a bin script in the tool's dist so the shim has something
|
|
158
|
+
// to resolve to.
|
|
159
|
+
const runBuildPath = path.join(workspaceRoot, 'packages/tool/dist/bin/run-build.js');
|
|
160
|
+
const runWatchPath = path.join(workspaceRoot, 'packages/tool/dist/bin/run-watch.js');
|
|
161
|
+
await fs.mkdir(path.dirname(runBuildPath), { recursive: true });
|
|
162
|
+
await fs.writeFile(runBuildPath, '#!/usr/bin/env node\nconsole.log("build");\n');
|
|
163
|
+
await fs.writeFile(runWatchPath, '#!/usr/bin/env node\nconsole.log("watch");\n');
|
|
164
|
+
// Re-write the tool's package.json with a `bin` entry.
|
|
165
|
+
toolPkg.packageJson.bin = {
|
|
166
|
+
'tool-build': 'dist/bin/run-build.js',
|
|
167
|
+
'tool-watch': 'dist/bin/run-watch.js',
|
|
168
|
+
};
|
|
169
|
+
await fs.writeFile(toolPkg.filePath, JSON.stringify(toolPkg.packageJson, null, 2));
|
|
170
|
+
|
|
171
|
+
const consumerPkg = await writePackage('packages/consumer', 'consumer', {
|
|
172
|
+
'@scope/tool': '^1.0.0',
|
|
173
|
+
});
|
|
174
|
+
const packageMap: LocalPackageMap = {
|
|
175
|
+
'@scope/tool': toolPkg,
|
|
176
|
+
consumer: consumerPkg,
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
await PackageUtil.symlinkDependencies(consumerPkg, packageMap);
|
|
180
|
+
|
|
181
|
+
const binDir = path.join(workspaceRoot, 'packages/consumer/node_modules/.bin');
|
|
182
|
+
const buildShim = path.join(binDir, 'tool-build');
|
|
183
|
+
const watchShim = path.join(binDir, 'tool-watch');
|
|
184
|
+
|
|
185
|
+
// Both shims exist as symlinks.
|
|
186
|
+
expect((await fs.lstat(buildShim)).isSymbolicLink()).toBe(true);
|
|
187
|
+
expect((await fs.lstat(watchShim)).isSymbolicLink()).toBe(true);
|
|
188
|
+
|
|
189
|
+
// Shim targets are relative.
|
|
190
|
+
const buildTarget = await fs.readlink(buildShim);
|
|
191
|
+
const watchTarget = await fs.readlink(watchShim);
|
|
192
|
+
expect(path.isAbsolute(buildTarget)).toBe(false);
|
|
193
|
+
expect(path.isAbsolute(watchTarget)).toBe(false);
|
|
194
|
+
|
|
195
|
+
// Shims resolve end-to-end — readFile through the shim returns the
|
|
196
|
+
// actual script contents, which means the whole chain
|
|
197
|
+
// (`.bin/name` → `../@scope/tool/dist/bin/...`) is intact.
|
|
198
|
+
const buildScript = await fs.readFile(buildShim, 'utf8');
|
|
199
|
+
const watchScript = await fs.readFile(watchShim, 'utf8');
|
|
200
|
+
expect(buildScript).toContain('console.log("build")');
|
|
201
|
+
expect(watchScript).toContain('console.log("watch")');
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
test('creates `.bin` shim for bin-as-string shorthand using the bare package name', async () => {
|
|
205
|
+
const toolPkg = await writePackage('packages/tool', '@scope/only-tool');
|
|
206
|
+
const onlyScriptPath = path.join(workspaceRoot, 'packages/tool/bin.js');
|
|
207
|
+
await fs.writeFile(onlyScriptPath, '#!/usr/bin/env node\nconsole.log("only");\n');
|
|
208
|
+
toolPkg.packageJson.bin = './bin.js';
|
|
209
|
+
await fs.writeFile(toolPkg.filePath, JSON.stringify(toolPkg.packageJson, null, 2));
|
|
210
|
+
|
|
211
|
+
const consumerPkg = await writePackage('packages/consumer', 'consumer', {
|
|
212
|
+
'@scope/only-tool': '^1.0.0',
|
|
213
|
+
});
|
|
214
|
+
const packageMap: LocalPackageMap = {
|
|
215
|
+
'@scope/only-tool': toolPkg,
|
|
216
|
+
consumer: consumerPkg,
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
await PackageUtil.symlinkDependencies(consumerPkg, packageMap);
|
|
220
|
+
|
|
221
|
+
// Bare name — scope stripped — just like npm.
|
|
222
|
+
const shim = path.join(workspaceRoot, 'packages/consumer/node_modules/.bin/only-tool');
|
|
223
|
+
expect((await fs.lstat(shim)).isSymbolicLink()).toBe(true);
|
|
224
|
+
const content = await fs.readFile(shim, 'utf8');
|
|
225
|
+
expect(content).toContain('console.log("only")');
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
test('handles scoped and unscoped dependencies uniformly', async () => {
|
|
229
|
+
const scopedDep = await writePackage('packages/scoped', '@scope/foo');
|
|
230
|
+
const unscopedDep = await writePackage('packages/unscoped', 'bar');
|
|
231
|
+
const consumerPkg = await writePackage('packages/consumer', 'consumer', {
|
|
232
|
+
'@scope/foo': '^1.0.0',
|
|
233
|
+
bar: '^1.0.0',
|
|
234
|
+
});
|
|
235
|
+
const packageMap: LocalPackageMap = {
|
|
236
|
+
'@scope/foo': scopedDep,
|
|
237
|
+
bar: unscopedDep,
|
|
238
|
+
consumer: consumerPkg,
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
await PackageUtil.symlinkDependencies(consumerPkg, packageMap);
|
|
242
|
+
|
|
243
|
+
const scopedLink = await fs.readlink(path.join(workspaceRoot, 'packages/consumer/node_modules/@scope/foo'));
|
|
244
|
+
const unscopedLink = await fs.readlink(path.join(workspaceRoot, 'packages/consumer/node_modules/bar'));
|
|
245
|
+
|
|
246
|
+
expect(path.isAbsolute(scopedLink)).toBe(false);
|
|
247
|
+
expect(path.isAbsolute(unscopedLink)).toBe(false);
|
|
248
|
+
|
|
249
|
+
// Scoped packages are nested one level deeper under node_modules/@scope,
|
|
250
|
+
// so the relative target has one extra `..`.
|
|
251
|
+
expect(scopedLink).toBe(path.join('..', '..', '..', 'scoped'));
|
|
252
|
+
expect(unscopedLink).toBe(path.join('..', '..', 'unscoped'));
|
|
253
|
+
});
|
|
254
|
+
});
|
|
@@ -336,7 +336,7 @@ ifeq ($(strip $(foreach prefix,$(NO_LOAD),\
|
|
|
336
336
|
endif
|
|
337
337
|
|
|
338
338
|
quiet_cmd_regen_makefile = ACTION Regenerating $@
|
|
339
|
-
cmd_regen_makefile = cd $(srcdir); /Users/brentbahry/.nvm/versions/node/v24.11.1/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/Users/brentbahry/Library/Caches/node-gyp/24.11.1" "-Dnode_gyp_dir=/Users/brentbahry/.nvm/versions/node/v24.11.1/lib/node_modules/npm/node_modules/node-gyp" "-Dnode_lib_file=/Users/brentbahry/Library/Caches/node-gyp/24.11.1/<(target_arch)/node.lib" "-Dmodule_root_dir=/Users/brentbahry/repos/farm/
|
|
339
|
+
cmd_regen_makefile = cd $(srcdir); /Users/brentbahry/.nvm/versions/node/v24.11.1/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py -fmake --ignore-environment "-Dlibrary=shared_library" "-Dvisibility=default" "-Dnode_root_dir=/Users/brentbahry/Library/Caches/node-gyp/24.11.1" "-Dnode_gyp_dir=/Users/brentbahry/.nvm/versions/node/v24.11.1/lib/node_modules/npm/node_modules/node-gyp" "-Dnode_lib_file=/Users/brentbahry/Library/Caches/node-gyp/24.11.1/<(target_arch)/node.lib" "-Dmodule_root_dir=/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents" "-Dnode_engine=v8" "--depth=." "-Goutput_dir=." "--generator-output=build" -I/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/a/node_modules/glob-watcher/node_modules/fsevents/build/config.gypi -I/Users/brentbahry/.nvm/versions/node/v24.11.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi -I/Users/brentbahry/Library/Caches/node-gyp/24.11.1/include/node/common.gypi "--toplevel-dir=." binding.gyp
|
|
340
340
|
Makefile: $(srcdir)/../../../../../../../../../../../../../../../../../.nvm/versions/node/v24.11.1/lib/node_modules/npm/node_modules/node-gyp/addon.gypi $(srcdir)/../../../../../../../../../../../../../../../../../Library/Caches/node-gyp/24.11.1/include/node/common.gypi $(srcdir)/binding.gyp $(srcdir)/build/config.gypi
|
|
341
341
|
$(call do_cmd,regen_makefile)
|
|
342
342
|
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proteinjs/reflection-build-test-a",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@proteinjs/reflection-build-test-a",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.20",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@dagrejs/graphlib": "2.1.4",
|
|
13
13
|
"@proteinjs/reflection": "^1.1.11",
|
|
14
14
|
"@proteinjs/reflection-build-test-b": "file:../b",
|
|
15
15
|
"@proteinjs/util": "^1.6.0",
|
|
16
|
-
"@proteinjs/util-node": "^1.
|
|
16
|
+
"@proteinjs/util-node": "^1.8.1",
|
|
17
17
|
"globby": "11.0.1",
|
|
18
18
|
"gulp": "4.0.2",
|
|
19
19
|
"gulp-shell": "0.8.0",
|
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
},
|
|
33
33
|
"../b": {
|
|
34
34
|
"name": "@proteinjs/reflection-build-test-b",
|
|
35
|
-
"version": "0.0.
|
|
35
|
+
"version": "0.0.20",
|
|
36
36
|
"license": "ISC",
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@dagrejs/graphlib": "2.1.4",
|
|
39
39
|
"@proteinjs/reflection": "^1.1.11",
|
|
40
40
|
"@proteinjs/util": "^1.6.0",
|
|
41
|
-
"@proteinjs/util-node": "^1.
|
|
41
|
+
"@proteinjs/util-node": "^1.8.1",
|
|
42
42
|
"globby": "11.0.1",
|
|
43
43
|
"gulp": "4.0.2",
|
|
44
44
|
"gulp-shell": "0.8.0",
|
|
@@ -1129,9 +1129,9 @@
|
|
|
1129
1129
|
}
|
|
1130
1130
|
},
|
|
1131
1131
|
"node_modules/@proteinjs/util-node": {
|
|
1132
|
-
"version": "1.
|
|
1133
|
-
"resolved": "https://registry.npmjs.org/@proteinjs/util-node/-/util-node-1.
|
|
1134
|
-
"integrity": "sha512
|
|
1132
|
+
"version": "1.8.1",
|
|
1133
|
+
"resolved": "https://registry.npmjs.org/@proteinjs/util-node/-/util-node-1.8.1.tgz",
|
|
1134
|
+
"integrity": "sha512-F4BEBmroyTuRjQGYkJQhs2JoTg6VUIeEveMZbHzV5mG8jIyF2zbIF+qQCJ0cV2pdQg2PLhi61VlstTwJrEIKdQ==",
|
|
1135
1135
|
"license": "ISC",
|
|
1136
1136
|
"dependencies": {
|
|
1137
1137
|
"@dagrejs/graphlib": "2.1.4",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proteinjs/reflection-build-test-a",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20",
|
|
4
4
|
"private": true,
|
|
5
5
|
"description": "Test package a",
|
|
6
6
|
"repository": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"@proteinjs/reflection": "^1.1.11",
|
|
23
23
|
"@proteinjs/reflection-build-test-b": "file:../b",
|
|
24
24
|
"@proteinjs/util": "^1.6.0",
|
|
25
|
-
"@proteinjs/util-node": "^1.
|
|
25
|
+
"@proteinjs/util-node": "^1.8.1",
|
|
26
26
|
"globby": "11.0.1",
|
|
27
27
|
"gulp": "4.0.2",
|
|
28
28
|
"gulp-shell": "0.8.0",
|
|
@@ -24,7 +24,7 @@ require("gulp");
|
|
|
24
24
|
require("gulp-shell");
|
|
25
25
|
require("jsesc");
|
|
26
26
|
/** Generate Source Graph */
|
|
27
|
-
var sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"{ z: number }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/{ z: number }\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection/Loadable\"},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"{ z: number }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/{ z: number }\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection-build-test-b/implementsOptionalLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"implementsOptionalLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/implementsOptionalLoadableForeignType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"ImplementsOptionalLoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"ImplementsOptionalLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa3/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}}],\"edges\":[{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-b/implementsOptionalLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignInterface\",\"w\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"value\":\"extends class\"}]}";
|
|
27
|
+
var sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"{ z: number }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/{ z: number }\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection/Loadable\"},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"{ z: number }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/{ z: number }\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection-build-test-b/implementsOptionalLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"implementsOptionalLoadableForeignType\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/implementsOptionalLoadableForeignType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"ImplementsOptionalLoadableForeignInterface\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"ImplementsOptionalLoadableForeignAbstractClass\",\"filePath\":\"/Users/brentbahry/repos/farm/n3xa2/packages/proteinjs/packages/reflection/packages/reflection-build/test/examples/source-repository/b/src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}}],\"edges\":[{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-b/implementsOptionalLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignInterface\",\"w\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"value\":\"extends class\"}]}";
|
|
28
28
|
/** Generate Source Links */
|
|
29
29
|
var LoadableForeignType_1 = require("../src/LoadableForeignType");
|
|
30
30
|
var LoadableForeignType_2 = require("../src/LoadableForeignType");
|