@prosopo/config 3.4.2 → 3.4.3

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 (57) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +5 -8
  2. package/.turbo/turbo-build$colon$tsc.log +4 -7
  3. package/.turbo/turbo-build.log +6 -12
  4. package/CHANGELOG.md +13 -0
  5. package/LICENSE +201 -0
  6. package/dist/cjs/dependencies.cjs +86 -46
  7. package/dist/cjs/vite/vite.frontend.config.cjs +7 -0
  8. package/dist/cjs/webpack/webpack.config.cjs +8 -8
  9. package/dist/dependencies.d.ts.map +1 -1
  10. package/dist/dependencies.js +85 -44
  11. package/dist/dependencies.js.map +1 -1
  12. package/dist/getDependencies.test.js +151 -125
  13. package/dist/getDependencies.test.js.map +1 -1
  14. package/dist/vite/vite.frontend.config.d.ts.map +1 -1
  15. package/dist/vite/vite.frontend.config.js +8 -1
  16. package/dist/vite/vite.frontend.config.js.map +1 -1
  17. package/dist/webpack/webpack.config.d.ts +2 -0
  18. package/dist/webpack/webpack.config.d.ts.map +1 -1
  19. package/dist/webpack/webpack.config.js +8 -8
  20. package/dist/webpack/webpack.config.js.map +1 -1
  21. package/package.json +106 -103
  22. package/src/dependencies.test.ts +0 -249
  23. package/src/dependencies.ts +0 -259
  24. package/src/getDependencies.test.ts +0 -385
  25. package/src/index.ts +0 -16
  26. package/src/vite/CopyAssetsPlugin.ts +0 -49
  27. package/src/vite/NodejsPolarsDirnamePlugin.ts +0 -50
  28. package/src/vite/NodejsPolarsNativeFilePlugin.ts +0 -105
  29. package/src/vite/TsNoCheckPlugin.ts +0 -31
  30. package/src/vite/bundleConfigs.test.ts +0 -461
  31. package/src/vite/configs.test.ts +0 -223
  32. package/src/vite/index.ts +0 -30
  33. package/src/vite/modifyExportsFiles.test.ts +0 -56
  34. package/src/vite/plugins.test.ts +0 -365
  35. package/src/vite/testFileGlobs.test.ts +0 -162
  36. package/src/vite/testFileGlobs.ts +0 -57
  37. package/src/vite/translations.test.ts +0 -164
  38. package/src/vite/types.ts +0 -13
  39. package/src/vite/vite-plugin-close-and-copy.ts +0 -76
  40. package/src/vite/vite-plugin-copy.ts +0 -67
  41. package/src/vite/vite-plugin-externalize-obfuscator-deadcode.ts +0 -43
  42. package/src/vite/vite-plugin-fix-absolute-imports.ts +0 -40
  43. package/src/vite/vite-plugin-modify-exports-files.ts +0 -64
  44. package/src/vite/vite-plugin-remove-unused-translations.ts +0 -128
  45. package/src/vite/vite-plugin-sourcemap-exclude.ts +0 -36
  46. package/src/vite/vite.backend.config.ts +0 -172
  47. package/src/vite/vite.commonjs.config.ts +0 -98
  48. package/src/vite/vite.esm.config.ts +0 -99
  49. package/src/vite/vite.frontend.config.ts +0 -340
  50. package/src/vite/vite.test.config.ts +0 -115
  51. package/src/vite/vite.threads.test.config.ts +0 -100
  52. package/src/webpack/index.ts +0 -14
  53. package/src/webpack/webpack.config.ts +0 -159
  54. package/tsconfig.cjs.json +0 -9
  55. package/tsconfig.json +0 -17
  56. package/tsconfig.tsbuildinfo +0 -1
  57. package/tsconfig.types.json +0 -9
@@ -1,22 +1,52 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
- import child_process from "node:child_process";
4
- import util from "node:util";
3
+ import fg from "fast-glob";
4
+ import { parse } from "yaml";
5
5
  //#region src/dependencies.ts
6
- var exec = util.promisify(child_process.exec);
7
- var peerDepsRegex = /UNMET\sOPTIONAL\sDEPENDENCY\s+(@*[\w\-/.]+)@/;
8
- var depsRegex = /\s+(@*[\w\-/.]+)@/;
9
6
  var getTsconfigDir = (tsConfigPath) => ".json" === path.extname(tsConfigPath) ? path.dirname(tsConfigPath) : tsConfigPath;
10
- async function getPackageDir(packageName) {
11
- let pkg = packageName;
12
- if (packageName && !packageName.startsWith("@prosopo/")) pkg = `@prosopo/${packageName}`;
13
- const pkgCommand = `npm list ${pkg} -ap`;
14
- console.info(`Running command ${pkgCommand}`);
15
- const { stdout: packageDir, stderr } = await exec(pkgCommand);
16
- if (stderr) {
17
- if (stderr.includes("ERR!")) throw new Error("CONFIG.INVALID_PACKAGE_DIR");
7
+ var readManifest = (dir) => JSON.parse(fs.readFileSync(path.join(dir, "package.json"), "utf8"));
8
+ /**
9
+ * The directory `name` resolves to from `fromDir`, following node's lookup up
10
+ * the node_modules chain. Symlinks are resolved, so a pnpm package's own
11
+ * dependencies are then looked up beside it in the virtual store.
12
+ */
13
+ var resolvePackageDir = (name, fromDir) => {
14
+ let dir = fromDir;
15
+ for (;;) {
16
+ const candidate = path.join(dir, "node_modules", name);
17
+ if (fs.existsSync(path.join(candidate, "package.json"))) return fs.realpathSync(candidate);
18
+ const parent = path.dirname(dir);
19
+ if (parent === dir) return;
20
+ dir = parent;
21
+ }
22
+ };
23
+ /** The outermost pnpm workspace containing `from`, as npm's workspace root was. */
24
+ var findWorkspaceRoot = (from) => {
25
+ let root;
26
+ for (let dir = from;; dir = path.dirname(dir)) {
27
+ if (fs.existsSync(path.join(dir, "pnpm-workspace.yaml"))) root = dir;
28
+ if (path.dirname(dir) === dir) return root;
18
29
  }
19
- return packageDir.trim() || path.resolve();
30
+ };
31
+ var findWorkspacePackageDir = (name, from) => {
32
+ const root = findWorkspaceRoot(from);
33
+ if (root === void 0) return;
34
+ const globs = parse(fs.readFileSync(path.join(root, "pnpm-workspace.yaml"), "utf8")).packages ?? [];
35
+ const match = fg.globSync(globs.map((glob) => glob.startsWith("!") ? `!${glob.slice(1)}/package.json` : `${glob}/package.json`), {
36
+ cwd: root,
37
+ ignore: ["**/node_modules/**"]
38
+ }).find((manifestPath) => readManifest(path.join(root, path.dirname(manifestPath))).name === name);
39
+ return match === void 0 ? void 0 : path.join(root, path.dirname(match));
40
+ };
41
+ /**
42
+ * The directory of the named workspace package, or cwd when there is none, so
43
+ * a config naming a bundle rather than a package reads the package it runs in.
44
+ */
45
+ function getPackageDir(packageName) {
46
+ const pkg = packageName.startsWith("@prosopo/") ? packageName : `@prosopo/${packageName}`;
47
+ const cwd = path.resolve();
48
+ if (readManifest(cwd).name === pkg) return cwd;
49
+ return findWorkspacePackageDir(pkg, cwd) ?? cwd;
20
50
  }
21
51
  /**
22
52
  * Resolve the tsconfig path for a reference using the initial tsconfig path and the reference path. If the reference
@@ -81,40 +111,51 @@ async function getExternalsFromReferences(tsConfigPath, ignorePatterns = []) {
81
111
  return externals;
82
112
  }
83
113
  /**
84
- * Get the dependencies for a package
85
- * @param packageName
86
- * @param production
114
+ * Get every package installed beneath a package, walking the installed tree
115
+ * rather than asking a package manager, so the answer is the same under any
116
+ * node_modules layout. Optional dependencies and optional peers that are not
117
+ * installed are reported separately so bundlers can leave them external.
118
+ * @param packageName the package to start from; defaults to the one in cwd
119
+ * @param production leave out the starting package's devDependencies
87
120
  */
88
121
  async function getDependencies(packageName, production) {
89
- let cmd = production ? "npm ls -a --silent --omit=dev --package-lock-only" : "npm ls --silent -a --package-lock-only";
90
- if (packageName) {
91
- const packageDir = await getPackageDir(packageName);
92
- cmd = `cd ${packageDir.trim()} && ${cmd}`;
93
- console.info(`Running command ${cmd} in ${packageDir}`);
94
- }
95
- let concat = "";
96
- try {
97
- const { stdout, stderr } = await exec(cmd);
98
- concat = stdout + stderr;
99
- } catch (error) {
100
- const execError = error;
101
- if (typeof execError.stdout === "string") concat = execError.stdout + (execError.stderr ?? "");
102
- else throw error;
103
- }
104
- let deps = [];
105
- let peerDeps = [];
106
- for (const line of concat.split("\n")) if (line.includes("UNMET OPTIONAL DEPENDENCY")) {
107
- const parts = line.match(peerDepsRegex);
108
- if (parts && parts.length > 1) peerDeps.push(parts[1]);
109
- } else {
110
- const parts = line.match(depsRegex);
111
- if (parts && parts.length > 1) deps.push(parts[1]);
122
+ const rootDir = packageName ? getPackageDir(packageName) : path.resolve();
123
+ const rootName = readManifest(rootDir).name;
124
+ const dependencies = new Set(rootName ? [rootName] : []);
125
+ const optionalPeerDependencies = /* @__PURE__ */ new Set();
126
+ const visited = /* @__PURE__ */ new Set([rootDir]);
127
+ const queue = [{
128
+ dir: rootDir,
129
+ includeDev: !production
130
+ }];
131
+ for (let next = queue.shift(); next; next = queue.shift()) {
132
+ const manifest = readManifest(next.dir);
133
+ const optional = /* @__PURE__ */ new Set([...Object.keys(manifest.optionalDependencies ?? {}), ...Object.entries(manifest.peerDependenciesMeta ?? {}).filter(([, meta]) => meta.optional).map(([name]) => name)]);
134
+ const names = /* @__PURE__ */ new Set([
135
+ ...Object.keys(manifest.dependencies ?? {}),
136
+ ...Object.keys(manifest.optionalDependencies ?? {}),
137
+ ...Object.keys(manifest.peerDependencies ?? {}),
138
+ ...next.includeDev ? Object.keys(manifest.devDependencies ?? {}) : []
139
+ ]);
140
+ for (const name of names) {
141
+ const dir = resolvePackageDir(name, next.dir);
142
+ if (dir === void 0) {
143
+ (optional.has(name) ? optionalPeerDependencies : dependencies).add(name);
144
+ continue;
145
+ }
146
+ dependencies.add(name);
147
+ if (!visited.has(dir)) {
148
+ visited.add(dir);
149
+ queue.push({
150
+ dir,
151
+ includeDev: false
152
+ });
153
+ }
154
+ }
112
155
  }
113
- deps = [...new Set(deps)];
114
- peerDeps = [...new Set(peerDeps)];
115
156
  return {
116
- dependencies: deps.filter((x, i) => i === deps.indexOf(x)),
117
- optionalPeerDependencies: peerDeps.filter((x, i) => i === peerDeps.indexOf(x))
157
+ dependencies: [...dependencies],
158
+ optionalPeerDependencies: [...optionalPeerDependencies]
118
159
  };
119
160
  }
120
161
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"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"}
@@ -1,154 +1,180 @@
1
+ import fs from "node:fs";
2
+ import os from "node:os";
1
3
  import path from "node:path";
2
- import { promisify } from "node:util";
3
4
  import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
4
- let commands = [];
5
- let responses = [];
6
- const fakeExec = (command, callback) => {
7
- commands.push(command);
8
- const next = responses.shift();
9
- if (next === undefined) {
10
- throw new Error(`unexpected exec: ${command}`);
11
- }
12
- if (next instanceof Error) {
13
- callback(next, "", "");
14
- return;
15
- }
16
- callback(null, next.stdout, next.stderr);
5
+ import { getDependencies } from "./dependencies.js";
6
+ let root;
7
+ const writeManifest = (dir, manifest) => {
8
+ const absolute = path.join(root, dir);
9
+ fs.mkdirSync(absolute, { recursive: true });
10
+ fs.writeFileSync(path.join(absolute, "package.json"), JSON.stringify(manifest));
11
+ return absolute;
12
+ };
13
+ const install = (dir, manifest) => writeManifest(path.join(dir, "node_modules", manifest.name), manifest);
14
+ const link = (dir, name, target) => {
15
+ const linkPath = path.join(root, dir, "node_modules", name);
16
+ fs.mkdirSync(path.dirname(linkPath), { recursive: true });
17
+ fs.symlinkSync(target, linkPath, "dir");
18
+ };
19
+ const useCwd = (dir) => {
20
+ vi.spyOn(process, "cwd").mockReturnValue(path.join(root, dir));
17
21
  };
18
- Object.defineProperty(fakeExec, promisify.custom, {
19
- value: (command) => new Promise((resolve, reject) => {
20
- fakeExec(command, (error, stdout, stderr) => {
21
- if (error) {
22
- reject(error);
23
- }
24
- else {
25
- resolve({ stdout, stderr });
26
- }
27
- });
28
- }),
29
- });
30
- vi.mock("node:child_process", () => ({ default: { exec: fakeExec } }));
31
- const { getDependencies } = await import("./dependencies.js");
32
22
  beforeEach(() => {
33
- commands = [];
34
- responses = [];
23
+ root = fs.realpathSync(fs.mkdtempSync(path.join(os.tmpdir(), "prosopo-get-deps-")));
35
24
  });
36
25
  afterEach(() => {
37
- expect(responses).toEqual([]);
26
+ vi.restoreAllMocks();
27
+ fs.rmSync(root, { recursive: true, force: true });
38
28
  });
39
- const ok = (stdout, stderr = "") => ({ stdout, stderr });
40
- const failing = (stdout, stderr = "") => {
41
- const error = Object.assign(new Error("npm ls exited 1"), { stdout, stderr });
42
- return error;
43
- };
44
- const TREE = [
45
- "@prosopo/root@1.0.0 /repo",
46
- "├─┬ mongodb@6.3.0",
47
- "│ └── bson@6.2.0",
48
- "└── zod@3.22.4",
49
- ].join("\n");
50
29
  describe("getDependencies", () => {
51
- it("parses every package name out of the npm ls tree", async () => {
52
- responses = [ok(TREE)];
30
+ it("walks the installed tree transitively", async () => {
31
+ writeManifest("app", {
32
+ name: "@prosopo/app",
33
+ dependencies: { mongodb: "6.3.0", zod: "3.22.4" },
34
+ });
35
+ install("app", { name: "mongodb", dependencies: { bson: "6.2.0" } });
36
+ install("app", { name: "bson" });
37
+ install("app", { name: "zod" });
38
+ useCwd("app");
53
39
  const { dependencies } = await getDependencies();
54
- expect(dependencies).toEqual(["mongodb", "bson", "zod"]);
40
+ expect(dependencies.sort()).toEqual([
41
+ "@prosopo/app",
42
+ "bson",
43
+ "mongodb",
44
+ "zod",
45
+ ]);
55
46
  });
56
- it("does not treat the root package line as a dependency", async () => {
57
- responses = [ok(TREE)];
47
+ it("follows pnpm's symlinked virtual store", async () => {
48
+ writeManifest("app", {
49
+ name: "@prosopo/app",
50
+ dependencies: { mongodb: "6.3.0" },
51
+ });
52
+ const store = "node_modules/.pnpm/mongodb@6.3.0/node_modules";
53
+ const mongodb = writeManifest(`${store}/mongodb`, {
54
+ name: "mongodb",
55
+ dependencies: { bson: "6.2.0" },
56
+ });
57
+ writeManifest(`${store}/bson`, { name: "bson" });
58
+ link("app", "mongodb", mongodb);
59
+ useCwd("app");
58
60
  const { dependencies } = await getDependencies();
59
- expect(dependencies).not.toContain("@prosopo/root");
61
+ expect(dependencies.sort()).toEqual(["@prosopo/app", "bson", "mongodb"]);
60
62
  });
61
- it("collects unmet optional peers separately", async () => {
62
- responses = [
63
- ok([
64
- "│ ├── UNMET OPTIONAL DEPENDENCY bufferutil@^4.0.1",
65
- "│ ├── UNMET OPTIONAL DEPENDENCY utf-8-validate@^5.0.2",
66
- "└── zod@3.22.4",
67
- ].join("\n")),
68
- ];
69
- const { dependencies, optionalPeerDependencies } = await getDependencies();
70
- expect(optionalPeerDependencies).toEqual(["bufferutil", "utf-8-validate"]);
71
- expect(dependencies).toEqual(["zod"]);
63
+ it("includes the starting package's devDependencies unless production", async () => {
64
+ writeManifest("app", {
65
+ name: "@prosopo/app",
66
+ dependencies: { zod: "3.22.4" },
67
+ devDependencies: { vitest: "4.0.0" },
68
+ });
69
+ install("app", { name: "zod" });
70
+ install("app", { name: "vitest", devDependencies: { tsx: "4.0.0" } });
71
+ useCwd("app");
72
+ await expect(getDependencies(undefined, false)).resolves.toMatchObject({
73
+ dependencies: ["@prosopo/app", "zod", "vitest"],
74
+ });
75
+ await expect(getDependencies(undefined, true)).resolves.toMatchObject({
76
+ dependencies: ["@prosopo/app", "zod"],
77
+ });
72
78
  });
73
- it("deduplicates packages that appear all over the tree", async () => {
74
- responses = [ok(["├── zod@3.22.4", "│ └── zod@3.22.4"].join("\n"))];
79
+ it("reports optional dependencies and peers that are not installed", async () => {
80
+ writeManifest("app", {
81
+ name: "@prosopo/app",
82
+ dependencies: { ws: "8.0.0" },
83
+ optionalDependencies: { fsevents: "2.0.0" },
84
+ });
85
+ install("app", {
86
+ name: "ws",
87
+ peerDependencies: { bufferutil: "^4.0.1", zod: "^3" },
88
+ peerDependenciesMeta: { bufferutil: { optional: true } },
89
+ });
90
+ install("app", { name: "zod" });
91
+ useCwd("app");
75
92
  await expect(getDependencies()).resolves.toEqual({
76
- dependencies: ["zod"],
77
- optionalPeerDependencies: [],
93
+ dependencies: ["@prosopo/app", "ws", "zod"],
94
+ optionalPeerDependencies: ["fsevents", "bufferutil"],
78
95
  });
79
96
  });
80
- it("returns empty lists for an empty tree", async () => {
81
- responses = [ok("")];
97
+ it("lists a required dependency that is not installed", async () => {
98
+ writeManifest("app", {
99
+ name: "@prosopo/app",
100
+ dependencies: { missing: "1.0.0" },
101
+ });
102
+ useCwd("app");
82
103
  await expect(getDependencies()).resolves.toEqual({
83
- dependencies: [],
104
+ dependencies: ["@prosopo/app", "missing"],
84
105
  optionalPeerDependencies: [],
85
106
  });
86
107
  });
87
- it("omits dev dependencies when asked for a production tree", async () => {
88
- responses = [ok(TREE)];
89
- await getDependencies(undefined, true);
90
- expect(commands[0]).toContain("--omit=dev");
91
- });
92
- it("keeps dev dependencies otherwise", async () => {
93
- responses = [ok(TREE)];
94
- await getDependencies(undefined, false);
95
- expect(commands[0]).not.toContain("--omit=dev");
96
- });
97
- it("resolves the package directory first and runs npm ls inside it", async () => {
98
- responses = [ok("/repo/packages/server\n"), ok(TREE)];
99
- await getDependencies("@prosopo/server");
100
- expect(commands[0]).toBe("npm list @prosopo/server -ap");
101
- expect(commands[1]).toContain("cd /repo/packages/server &&");
102
- });
103
- it("prefixes a bare package name with the scope", async () => {
104
- responses = [ok("/repo/packages/server\n"), ok(TREE)];
105
- await getDependencies("server");
106
- expect(commands[0]).toBe("npm list @prosopo/server -ap");
107
- });
108
- it("leaves an already-scoped name alone", async () => {
109
- responses = [ok("/repo/packages/server\n"), ok(TREE)];
110
- await getDependencies("@prosopo/server");
111
- expect(commands[0]).toBe("npm list @prosopo/server -ap");
112
- });
113
- it("falls back to the working directory when npm prints no path", async () => {
114
- responses = [ok(" \n"), ok(TREE)];
115
- await getDependencies("@prosopo/server");
116
- expect(commands[1]).toContain(`cd ${process.cwd()} &&`);
108
+ it("stops at a cycle", async () => {
109
+ writeManifest("app", { name: "@prosopo/app", dependencies: { a: "1" } });
110
+ install("app", { name: "a", dependencies: { b: "1" } });
111
+ install("app", { name: "b", dependencies: { a: "1" } });
112
+ useCwd("app");
113
+ const { dependencies } = await getDependencies();
114
+ expect(dependencies.sort()).toEqual(["@prosopo/app", "a", "b"]);
117
115
  });
118
- it("rejects when the package cannot be located", async () => {
119
- responses = [ok("", "npm ERR! code E404")];
120
- await expect(getDependencies("@prosopo/absent")).rejects.toThrow("CONFIG.INVALID_PACKAGE_DIR");
116
+ it("starts from the named package when it is the one in cwd", async () => {
117
+ writeManifest("packages/server", {
118
+ name: "@prosopo/server",
119
+ dependencies: { zod: "3.22.4" },
120
+ });
121
+ install("packages/server", { name: "zod" });
122
+ useCwd("packages/server");
123
+ await expect(getDependencies("server")).resolves.toMatchObject({
124
+ dependencies: ["@prosopo/server", "zod"],
125
+ });
121
126
  });
122
- it("tolerates npm warnings on stderr that are not errors", async () => {
123
- responses = [
124
- ok("/repo/packages/server\n", "npm warn deprecated"),
125
- ok(TREE),
126
- ];
127
+ it("finds a named package among the workspace members", async () => {
128
+ fs.writeFileSync(path.join(root, "pnpm-workspace.yaml"), "packages:\n - apps/*\n - packages/*\n");
129
+ writeManifest("apps/app", { name: "@prosopo/app" });
130
+ writeManifest("packages/server", {
131
+ name: "@prosopo/server",
132
+ dependencies: { zod: "3.22.4" },
133
+ });
134
+ install("packages/server", { name: "zod" });
135
+ useCwd("apps/app");
127
136
  await expect(getDependencies("@prosopo/server")).resolves.toMatchObject({
128
- dependencies: ["mongodb", "bson", "zod"],
137
+ dependencies: ["@prosopo/server", "zod"],
129
138
  });
130
139
  });
131
- it("still parses the tree when npm ls exits non-zero", async () => {
132
- responses = [failing(TREE)];
133
- const { dependencies } = await getDependencies();
134
- expect(dependencies).toEqual(["mongodb", "bson", "zod"]);
135
- });
136
- it("rethrows when a failing npm ls produced no output at all", async () => {
137
- const error = new Error("npm not found");
138
- responses = [error];
139
- await expect(getDependencies()).rejects.toThrow("npm not found");
140
+ it("uses the outermost workspace when workspaces are nested", async () => {
141
+ fs.writeFileSync(path.join(root, "pnpm-workspace.yaml"), "packages:\n - sub/packages/*\n - packages/*\n");
142
+ fs.mkdirSync(path.join(root, "sub"), { recursive: true });
143
+ fs.writeFileSync(path.join(root, "sub/pnpm-workspace.yaml"), "packages:\n - packages/*\n");
144
+ writeManifest("sub/packages/app", { name: "@prosopo/app" });
145
+ writeManifest("packages/server", {
146
+ name: "@prosopo/server",
147
+ dependencies: { zod: "3.22.4" },
148
+ });
149
+ install("packages/server", { name: "zod" });
150
+ useCwd("sub/packages/app");
151
+ await expect(getDependencies("@prosopo/server")).resolves.toMatchObject({
152
+ dependencies: ["@prosopo/server", "zod"],
153
+ });
140
154
  });
141
- it("reads stderr as well as stdout, since npm splits the tree across both", async () => {
142
- responses = [ok("├── zod@3.22.4", "\n└── axios@1.6.0")];
143
- const { dependencies } = await getDependencies();
144
- expect(dependencies).toEqual(["zod", "axios"]);
155
+ it("falls back to cwd for a name that is not a workspace package", async () => {
156
+ fs.writeFileSync(path.join(root, "pnpm-workspace.yaml"), "packages:\n - packages/*\n");
157
+ writeManifest("packages/app", {
158
+ name: "@prosopo/app",
159
+ dependencies: { zod: "3.22.4" },
160
+ });
161
+ install("packages/app", { name: "zod" });
162
+ useCwd("packages/app");
163
+ await expect(getDependencies("worker")).resolves.toMatchObject({
164
+ dependencies: ["@prosopo/app", "zod"],
165
+ });
145
166
  });
146
167
  });
147
168
  const { default: ViteBackendConfig } = await import("./vite/vite.backend.config.js");
148
- const npmLsResponses = () => [
149
- ok("/repo/packages/server\n"),
150
- ok(TREE),
151
- ];
169
+ const serverFixture = () => {
170
+ writeManifest("packages/server", {
171
+ name: "@prosopo/server",
172
+ dependencies: { mongodb: "6.3.0", zod: "3.22.4" },
173
+ });
174
+ install("packages/server", { name: "mongodb" });
175
+ install("packages/server", { name: "zod" });
176
+ useCwd("packages/server");
177
+ };
152
178
  const externalsOf = (config) => {
153
179
  const external = config.build?.rollupOptions?.external;
154
180
  if (!Array.isArray(external)) {
@@ -165,7 +191,7 @@ const pluginNamesOf = (plugins) => flattenDeep(plugins ?? []).map((plugin) => {
165
191
  });
166
192
  describe("ViteBackendConfig", () => {
167
193
  const build = (command, mode, outputDir) => {
168
- responses = npmLsResponses();
194
+ serverFixture();
169
195
  return ViteBackendConfig("@prosopo/server", "1.2.3", "server", "/repo/packages/server", "src/index.ts", command, mode, outputDir);
170
196
  };
171
197
  it("emits an esm bundle named after the bundle name", async () => {
@@ -225,7 +251,7 @@ describe("ViteBackendConfig", () => {
225
251
  });
226
252
  });
227
253
  it("resolves a list of entries", async () => {
228
- responses = npmLsResponses();
254
+ serverFixture();
229
255
  const config = await ViteBackendConfig("@prosopo/server", "1.2.3", "server", "/repo/packages/server", ["src/a.ts", "src/b.ts"]);
230
256
  expect(config.build?.lib).toMatchObject({
231
257
  entry: [
@@ -235,7 +261,7 @@ describe("ViteBackendConfig", () => {
235
261
  });
236
262
  });
237
263
  it("resolves a named entry map", async () => {
238
- responses = npmLsResponses();
264
+ serverFixture();
239
265
  const config = await ViteBackendConfig("@prosopo/server", "1.2.3", "server", "/repo/packages/server", { cli: "src/cli.ts" });
240
266
  expect(config.build?.lib).toMatchObject({
241
267
  entry: { cli: path.resolve("/repo/packages/server", "src/cli.ts") },
@@ -1 +1 @@
1
- {"version":3,"file":"getDependencies.test.js","sourceRoot":"","sources":["../src/getDependencies.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getDependencies.test.js","sourceRoot":"","sources":["../src/getDependencies.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vite.frontend.config.d.ts","sourceRoot":"","sources":["../../src/vite/vite.frontend.config.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,yBACC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,kBAAkB,EAChC,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,aAAa,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,CAAC,CA0SrB"}
1
+ {"version":3,"file":"vite.frontend.config.d.ts","sourceRoot":"","sources":["../../src/vite/vite.frontend.config.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,yBACC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,kBAAkB,EAChC,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,aAAa,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,CAAC,CA6TrB"}
@@ -1,7 +1,7 @@
1
1
  import VitePluginCloseAndCopy from "./vite-plugin-close-and-copy.js";
2
2
  import VitePluginExternalizeObfuscatorDeadCode from "./vite-plugin-externalize-obfuscator-deadcode.js";
3
3
  import { filterDependencies, getDependencies } from "../dependencies.js";
4
- import { builtinModules } from "node:module";
4
+ import { builtinModules, createRequire } from "node:module";
5
5
  import path from "node:path";
6
6
  import nodeResolve from "@rollup/plugin-node-resolve";
7
7
  import typescript from "@rollup/plugin-typescript";
@@ -72,8 +72,15 @@ async function vite_frontend_config_default(packageName, bundleName, dir, entry,
72
72
  ];
73
73
  }
74
74
  const rollupExternal = allExternal;
75
+ const polyfillsDir = path.dirname(path.dirname(createRequire(import.meta.url).resolve("vite-plugin-node-polyfills")));
76
+ const polyfillShimAliases = Object.fromEntries([
77
+ "buffer",
78
+ "global",
79
+ "process"
80
+ ].map((shim) => [`vite-plugin-node-polyfills/shims/${shim}`, path.join(polyfillsDir, "shims", shim, "dist", "index.js")]));
75
81
  console.info({ bundleName }, "Bundle name");
76
82
  return {
83
+ resolve: { alias: polyfillShimAliases },
77
84
  server: { host: "127.0.0.1" },
78
85
  mode: mode || "development",
79
86
  optimizeDeps: {