Download packages/core/test/npm-config.test.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 2.01 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/core/test/npm-config.test.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/core/test/npm-config.test.ts
-
curl -L -o npm-config.test.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/core/test/npm-config.test.ts
2.01 kB
| import path from "path" | |
| import { describe, expect, test } from "bun:test" | |
| import { Effect } from "effect" | |
| import { NpmConfig } from "@opencode-ai/core/npm-config" | |
| import { tmpdir } from "./fixture/tmpdir" | |
| describe("NpmConfig.load", () => { | |
| test("reads registry from project .npmrc", async () => { | |
| await using tmp = await tmpdir() | |
| await Bun.write(path.join(tmp.path, ".npmrc"), "registry=https://registry.example.test/\n") | |
| const config = await Effect.runPromise(NpmConfig.load(tmp.path)) | |
| expect(config.registry).toBe("https://registry.example.test/") | |
| }) | |
| test("reads scoped registries from project .npmrc", async () => { | |
| await using tmp = await tmpdir() | |
| await Bun.write(path.join(tmp.path, ".npmrc"), "@acme:registry=https://npm.acme.test/\n") | |
| const config = await Effect.runPromise(NpmConfig.load(tmp.path)) | |
| expect(config["@acme:registry"]).toBe("https://npm.acme.test/") | |
| }) | |
| test("flattens boolean and list options", async () => { | |
| await using tmp = await tmpdir() | |
| await Bun.write(path.join(tmp.path, ".npmrc"), "ignore-scripts=true\nomit[]=dev\nomit[]=optional\n") | |
| const config = await Effect.runPromise(NpmConfig.load(tmp.path)) | |
| expect(config.ignoreScripts).toBe(true) | |
| expect(config.omit).toEqual(["dev", "optional"]) | |
| }) | |
| }) | |
| describe("NpmConfig.registry", () => { | |
| test("normalizes configured registry without trailing slash", async () => { | |
| await using tmp = await tmpdir() | |
| await Bun.write(path.join(tmp.path, ".npmrc"), "registry=https://registry.example.test/\n") | |
| await expect(Effect.runPromise(NpmConfig.registry(tmp.path))).resolves.toBe("https://registry.example.test") | |
| }) | |
| test("leaves configured registry without trailing slash unchanged", async () => { | |
| await using tmp = await tmpdir() | |
| await Bun.write(path.join(tmp.path, ".npmrc"), "registry=https://registry.example.test\n") | |
| await expect(Effect.runPromise(NpmConfig.registry(tmp.path))).resolves.toBe("https://registry.example.test") | |
| }) | |
| }) | |