initial commit
This commit is contained in:
30
src/package-manifest.test.ts
Normal file
30
src/package-manifest.test.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import test from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
import { existsSync, readFileSync } from "node:fs";
|
||||
import { dirname, resolve } from "node:path";
|
||||
import { fileURLToPath } from "node:url";
|
||||
|
||||
const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
||||
const pkg = JSON.parse(readFileSync(resolve(packageRoot, "package.json"), "utf8"));
|
||||
|
||||
test("package.json exposes pi-dev-tools as a standalone pi package", () => {
|
||||
assert.equal(pkg.name, "pi-dev-tools");
|
||||
assert.equal(pkg.type, "module");
|
||||
assert.ok(Array.isArray(pkg.keywords));
|
||||
assert.ok(pkg.keywords.includes("pi-package"));
|
||||
assert.deepEqual(pkg.pi, {
|
||||
extensions: ["./index.ts"],
|
||||
});
|
||||
|
||||
assert.equal(pkg.peerDependencies["@mariozechner/pi-coding-agent"], "*");
|
||||
assert.equal(pkg.peerDependencies["@sinclair/typebox"], "*");
|
||||
assert.ok("picomatch" in (pkg.dependencies ?? {}));
|
||||
assert.ok("vscode-jsonrpc" in (pkg.dependencies ?? {}));
|
||||
assert.ok(!("@sinclair/typebox" in (pkg.dependencies ?? {})));
|
||||
assert.equal(pkg.bundledDependencies, undefined);
|
||||
assert.deepEqual(pkg.files, ["index.ts", "src"]);
|
||||
|
||||
assert.ok(existsSync(resolve(packageRoot, "index.ts")));
|
||||
assert.ok(existsSync(resolve(packageRoot, "src/runtime.ts")));
|
||||
assert.ok(existsSync(resolve(packageRoot, "src/tools/edit.ts")));
|
||||
});
|
||||
Reference in New Issue
Block a user