Skip to content

Commit 7d92149

Browse files
committed
Use packageManager passed as option to resolve required deps
1 parent 9233ac7 commit 7d92149

File tree

4 files changed

+32
-14
lines changed

4 files changed

+32
-14
lines changed

packages/cli-v3/e2e/compile.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import { esbuildDecorators } from "@anatine/esbuild-decorators";
44
import { build } from "esbuild";
55
import { readFileSync } from "node:fs";
6-
import { mkdir, writeFile } from "node:fs/promises";
6+
import { writeFile } from "node:fs/promises";
77
import { basename, join, posix, resolve } from "node:path";
88
import invariant from "tiny-invariant";
99

packages/cli-v3/e2e/handleDependencies.ts

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,51 @@
11
#!/usr/bin/env node
22

3+
import { log } from "@clack/prompts";
4+
import { Metafile } from "esbuild";
35
import { join } from "node:path";
6+
import terminalLink from "terminal-link";
47

5-
import { ReadConfigResult } from "../src/utilities/configFiles.js";
6-
import { writeJSONFile } from "../src/utilities/fileSystem.js";
7-
import { logger } from "../src/utilities/logger.js";
8-
import { JavascriptProject } from "../src/utilities/javascriptProject.js";
8+
import { SkipLoggingError } from "../src/cli/common.js";
99
import {
1010
copyAdditionalFiles,
1111
resolveDependencies,
1212
resolveRequiredDependencies,
1313
} from "../src/commands/deploy.js";
14-
import terminalLink from "terminal-link";
15-
import { SkipLoggingError } from "../src/cli/common.js";
16-
import { log } from "@clack/prompts";
17-
import { Metafile } from "esbuild";
14+
import { ReadConfigResult } from "../src/utilities/configFiles.js";
15+
import { writeJSONFile } from "../src/utilities/fileSystem.js";
16+
import { PackageManager } from "../src/utilities/getUserPackageManager.js";
17+
import { JavascriptProject } from "../src/utilities/javascriptProject.js";
18+
import { logger } from "../src/utilities/logger.js";
1819

1920
type HandleDependenciesOptions = {
2021
entryPointMetaOutput: Metafile["outputs"]["out/stdin.js"];
2122
metaOutput: Metafile["outputs"]["out/stdin.js"];
23+
packageManager: PackageManager;
2224
resolvedConfig: ReadConfigResult;
2325
tempDir: string;
2426
};
2527

28+
class JavascriptProjectLocal extends JavascriptProject {
29+
constructor(
30+
projectPath: string,
31+
private overridenPackageManager: PackageManager
32+
) {
33+
super(projectPath);
34+
}
35+
36+
async getPackageManager(): Promise<PackageManager> {
37+
return Promise.resolve(this.overridenPackageManager);
38+
}
39+
}
40+
2641
export async function handleDependencies(options: HandleDependenciesOptions) {
2742
if (options.resolvedConfig.status === "error") {
2843
throw new Error("cannot resolve config");
2944
}
3045
const {
3146
entryPointMetaOutput,
3247
metaOutput,
48+
packageManager,
3349
resolvedConfig: { config },
3450
tempDir,
3551
} = options;
@@ -43,7 +59,8 @@ export async function handleDependencies(options: HandleDependenciesOptions) {
4359
// Get all the required dependencies from the metaOutputs and save them to /tmp/dir/package.json
4460
const allImports = [...metaOutput.imports, ...entryPointMetaOutput.imports];
4561

46-
const javascriptProject = new JavascriptProject(config.projectDir);
62+
// const javascriptProject = new JavascriptProject(config.projectDir);
63+
const javascriptProject = new JavascriptProjectLocal(config.projectDir, packageManager);
4764

4865
const dependencies = await resolveRequiredDependencies(allImports, config, javascriptProject);
4966

packages/cli-v3/e2e/index.test.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ import { readFileSync } from "node:fs";
33
import { mkdir, rename, rm } from "node:fs/promises";
44
import { join, resolve } from "node:path";
55

6+
import { Loglevel, LogLevelSchema, PackageManagerSchema } from "./schemas";
67
import { typecheckProject } from "../src/commands/deploy";
78
import { readConfig, ReadConfigFileResult } from "../src/utilities/configFiles";
8-
import { compile } from "./compile";
9-
import { Loglevel, LogLevelSchema, PackageManager, PackageManagerSchema } from ".";
9+
import { PackageManager } from "../src/utilities/getUserPackageManager";
1010
import { logger } from "../src/utilities/logger";
11+
import { compile } from "./compile";
1112
import { handleDependencies } from "./handleDependencies";
1213

1314
type TestCase = {
@@ -212,6 +213,7 @@ if (testCases.length > 0) {
212213
metaOutput: global.metaOutput!,
213214
resolvedConfig: global.resolvedConfig!,
214215
tempDir: global.tempDir!,
216+
packageManager,
215217
});
216218
})()
217219
);

packages/cli-v3/e2e/index.ts renamed to packages/cli-v3/e2e/schemas.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,4 @@ export const LogLevelSchema = z
44
.enum(["debug", "info", "log", "warn", "error", "none"])
55
.default("log");
66
export type Loglevel = z.infer<typeof LogLevelSchema>;
7-
export const PackageManagerSchema = z.enum(["bun", "npm", "pnpm", "yarn"]).default("npm");
8-
export type PackageManager = z.infer<typeof PackageManagerSchema>;
7+
export const PackageManagerSchema = z.enum(["npm", "pnpm", "yarn"]).default("npm");

0 commit comments

Comments
 (0)