diff --git a/Cargo.lock b/Cargo.lock index 54faba2..6b097d0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -137,7 +137,7 @@ checksum = "3a8241f3ebb85c056b509d4327ad0358fbbba6ffb340bf388f26350aeda225b1" [[package]] name = "bench-suite" -version = "0.1.0" +version = "0.1.1" dependencies = [ "component-test-sdk", ] @@ -300,7 +300,7 @@ checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" [[package]] name = "component-test-cli" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "clap", @@ -316,7 +316,7 @@ dependencies = [ [[package]] name = "component-test-core" -version = "0.1.0" +version = "0.1.1" dependencies = [ "arcstr", "serde", @@ -324,7 +324,7 @@ dependencies = [ [[package]] name = "component-test-formats" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "component-test-core", @@ -338,7 +338,7 @@ dependencies = [ [[package]] name = "component-test-results" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "component-test-core", @@ -348,7 +348,7 @@ dependencies = [ [[package]] name = "component-test-runner" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "component-test-core", @@ -364,7 +364,7 @@ dependencies = [ [[package]] name = "component-test-sdk" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "component-test-core", @@ -377,7 +377,7 @@ dependencies = [ [[package]] name = "component-test-sdk-macro" -version = "0.1.0" +version = "0.1.1" dependencies = [ "component-test-core", "component-test-sdk", @@ -656,7 +656,7 @@ dependencies = [ [[package]] name = "drift-fixture" -version = "0.1.0" +version = "0.1.1" dependencies = [ "component-test-sdk", ] @@ -724,7 +724,7 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "fixture-suite" -version = "0.1.0" +version = "0.1.1" dependencies = [ "component-test-sdk", ] @@ -932,7 +932,7 @@ checksum = "e4eba85ea1d0a966a983acd07deee566e67395d2d96b6fb39e62b5a833f1eb0b" [[package]] name = "hang-fixture" -version = "0.1.0" +version = "0.1.1" dependencies = [ "component-test-sdk", ] @@ -1424,7 +1424,7 @@ dependencies = [ [[package]] name = "provider" -version = "0.1.0" +version = "0.1.1" dependencies = [ "wit-bindgen", ] @@ -1538,7 +1538,7 @@ checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" [[package]] name = "runner-cli" -version = "0.1.0" +version = "0.1.1" dependencies = [ "component-test-results", "futures", @@ -1589,7 +1589,7 @@ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" [[package]] name = "sample-suite" -version = "0.1.0" +version = "0.1.1" dependencies = [ "component-test-sdk", ] @@ -2031,7 +2031,7 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "viewer-aggregate" -version = "0.1.0" +version = "0.1.1" dependencies = [ "anyhow", "component-test-formats", @@ -3030,7 +3030,7 @@ dependencies = [ [[package]] name = "zero-gen-fixture" -version = "0.1.0" +version = "0.1.1" dependencies = [ "component-test-sdk", ] diff --git a/Cargo.toml b/Cargo.toml index 2f411e9..2942f4a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ default-members = [ ] [workspace.package] -version = "0.1.0" +version = "0.1.1" edition = "2021" license = "Apache-2.0" repository = "https://github.com/polymorph-components/polymorph-test" diff --git a/js/browser-driver.mjs b/js/browser-driver.mjs index c9dee7e..ac6ad91 100644 --- a/js/browser-driver.mjs +++ b/js/browser-driver.mjs @@ -21,7 +21,10 @@ import { fileURLToPath } from "node:url"; /** Where this package self-mounts on the harness server. */ export const MOUNT = "/__component-test"; -const PACKAGE_ROOT = dirname(dirname(fileURLToPath(import.meta.url))); +// The directory holding this module (and its `viewer/` siblings): the +// package root under the JSR/npm-compat layout, the `js/` subtree in a +// repo checkout — the mount serves `viewer/*` either way. +const PACKAGE_ROOT = dirname(fileURLToPath(import.meta.url)); const MIME = { ".html": "text/html", @@ -37,9 +40,12 @@ const MIME = { * URLs instead). */ export function componentTestImportMap() { return { - "@polymorph/component-test-js/harness": `${MOUNT}/js/viewer/harness.mjs`, - "@polymorph/component-test-js/context": `${MOUNT}/js/viewer/context.js`, - "@polymorph/component-test-js/imports": `${MOUNT}/js/viewer/imports.mjs`, + "@polymorph/test/harness": `${MOUNT}/viewer/harness.mjs`, + "@polymorph/test/context": `${MOUNT}/viewer/context.js`, + "@polymorph/test/imports": `${MOUNT}/viewer/imports.mjs`, + "@polymorph/component-test-js/harness": `${MOUNT}/viewer/harness.mjs`, + "@polymorph/component-test-js/context": `${MOUNT}/viewer/context.js`, + "@polymorph/component-test-js/imports": `${MOUNT}/viewer/imports.mjs`, }; } @@ -56,9 +62,9 @@ export function buildHarnessPage({ title = "component-test conformance", importM ${title} `; diff --git a/js/browser-driver.test.mjs b/js/browser-driver.test.mjs index f22ea28..7ce9e46 100644 --- a/js/browser-driver.test.mjs +++ b/js/browser-driver.test.mjs @@ -17,11 +17,18 @@ import { findChrome, } from "./browser-driver.mjs"; -// The import map points every bare specifier at the self-mount. +// The import map points every bare specifier at the self-mount, under +// both the JSR name and the retired npm-facade name. const map = componentTestImportMap(); for (const [specifier, path] of Object.entries(map)) { - assert.ok(specifier.startsWith("@polymorph/component-test-js/")); - assert.ok(path.startsWith(`${MOUNT}/js/viewer/`)); + assert.ok( + specifier.startsWith("@polymorph/test/") || + specifier.startsWith("@polymorph/component-test-js/"), + ); + assert.ok(path.startsWith(`${MOUNT}/viewer/`)); +} +for (const name of ["harness", "context", "imports"]) { + assert.equal(map[`@polymorph/test/${name}`], map[`@polymorph/component-test-js/${name}`]); } // The page: import map merged with the caller's, config JSON embedded, @@ -43,8 +50,8 @@ const html = buildHarnessPage({ }); assert.ok(html.includes(`"my:sut":"/js/sut.js"`), "caller import-map entry"); assert.ok(html.includes(map["@polymorph/component-test-js/harness"]), "self-mount entry"); -assert.ok(html.includes(`${MOUNT}/js/viewer/page-runner.mjs`)); -assert.ok(html.includes(`${MOUNT}/js/viewer/browser-worker.mjs`)); +assert.ok(html.includes(`${MOUNT}/viewer/page-runner.mjs`)); +assert.ok(html.includes(`${MOUNT}/viewer/browser-worker.mjs`)); assert.ok(html.includes(`"jco-browser"`), "config embedded"); // findChrome: an executable CHROME_PATH wins outright; a missing one diff --git a/js/deno.json b/js/deno.json index 90c35b1..7a96cf2 100644 --- a/js/deno.json +++ b/js/deno.json @@ -1,6 +1,6 @@ { "name": "@polymorph/test", - "version": "0.1.0", + "version": "0.1.1", "license": "Apache-2.0", "//": "The polymorph:test stack's JS runner core on JSR — the same source-only module set the repo-root package.json exports to npm git installs (keep the two export maps in sync). Plain JS with relative and node: imports only; the browser-safe pieces (harness, context, imports, the workers) load in browsers unchanged, and the node: importers (node-runner, browser-driver) are Node/Deno-side drivers. The publish include-list IS the package: everything else under js/ is repo tooling (the deltic runner leg, selftests, the viewer app).", "exports": { diff --git a/package.json b/package.json index 2dc6996..444c496 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@polymorph/component-test-js", - "version": "0.1.0", + "version": "0.1.1", "private": false, "type": "module", "description": "The polymorph:test stack's JS runner core, consumable as a pinned git dependency (npm git installs cannot select subdirectories, so this facade lives at the repo root). Source-only by design: the browser-safe harness (tag inventory, mark scheduling, the case loop), the test-context provider, and the shard workers (jco- and deltic-shaped). Built artifacts (the viewer-aggregate engine) are deliberately excluded - they wait for registry publishing. Stability policy: unstable 0.x, caret-honest releases (breaking changes bump the minor); pin a release's commit and bump deliberately.",