refactor: hard-fork GSD -> MSD (Make Software Done)
Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD across contents and paths, upstream package/repo coordinates -> @golem15/msd-core and golem15com/msd-core. Deep links into upstream history, sibling upstream packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is. Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line, package/plugin identity, regenerated lockfile, install-tree fixtures, derived registries and benchmark baseline; migration checksum baseline re-locked (MSD keeps its own install state, so no install had applied the old sums); sort-order and regex-escaped expectations in tests adjusted.
This commit is contained in:
@@ -21,11 +21,11 @@ const path = require('node:path');
|
||||
|
||||
const { createTempDir, cleanup, captureFdSync } = require('./helpers.cjs');
|
||||
|
||||
const { routeResolveContent } = require('../gsd-core/bin/lib/task-command-router.cjs');
|
||||
const { ExitError } = require('../gsd-core/bin/lib/cli-exit.cjs');
|
||||
const { routeResolveContent } = require('../msd-core/bin/lib/task-command-router.cjs');
|
||||
const { ExitError } = require('../msd-core/bin/lib/cli-exit.cjs');
|
||||
const {
|
||||
ResolverFailedError,
|
||||
} = require('../gsd-core/bin/lib/task-content-resolution.cjs');
|
||||
} = require('../msd-core/bin/lib/task-content-resolution.cjs');
|
||||
|
||||
/**
|
||||
* NOT a subprocess spawn timeout. Fixture DATA inside a fakeCapabilities
|
||||
@@ -43,7 +43,7 @@ function writePlan(dir, taskXml) {
|
||||
/**
|
||||
* `io.cjs`'s `output()` writes to fd 1 via `fs.writeSync` directly (never
|
||||
* `process.stdout.write`) — see `writeAllSync` in
|
||||
* `gsd-core/bin/lib/io.cjs`. Capture fd-1 writes by mocking `fs.writeSync`
|
||||
* `msd-core/bin/lib/io.cjs`. Capture fd-1 writes by mocking `fs.writeSync`
|
||||
* itself; every other fd passes through to the real implementation
|
||||
* unmocked (so the plan-file reads and any other fs traffic inside a test
|
||||
* body still work).
|
||||
@@ -72,7 +72,7 @@ const RESOLVABLE_TASK = '<task type="auto" tracker-id="test:1"><name>x</name><ac
|
||||
|
||||
describe('task resolve-content (rows 17-19)', () => {
|
||||
test('row 19: missing --plan and --task-id -> USAGE, no filesystem access', (t) => {
|
||||
const dir = createTempDir('gsd-resolve-content-19-');
|
||||
const dir = createTempDir('msd-resolve-content-19-');
|
||||
t.after(() => cleanup(dir));
|
||||
const readMock = require('node:test').mock.method(fs, 'readFileSync', () => {
|
||||
throw new Error('must not read the filesystem before usage validation');
|
||||
@@ -86,7 +86,7 @@ describe('task resolve-content (rows 17-19)', () => {
|
||||
});
|
||||
|
||||
test('row 19: missing --task-id only -> USAGE', (t) => {
|
||||
const dir = createTempDir('gsd-resolve-content-19b-');
|
||||
const dir = createTempDir('msd-resolve-content-19b-');
|
||||
t.after(() => cleanup(dir));
|
||||
writePlan(dir, RESOLVABLE_TASK);
|
||||
assert.throws(
|
||||
@@ -101,7 +101,7 @@ describe('task resolve-content (rows 17-19)', () => {
|
||||
});
|
||||
|
||||
test('row 17: plan exists, task-id not found -> USAGE, non-zero exit', (t) => {
|
||||
const dir = createTempDir('gsd-resolve-content-17-');
|
||||
const dir = createTempDir('msd-resolve-content-17-');
|
||||
t.after(() => cleanup(dir));
|
||||
writePlan(dir, RESOLVABLE_TASK);
|
||||
|
||||
@@ -121,7 +121,7 @@ describe('task resolve-content (rows 17-19)', () => {
|
||||
});
|
||||
|
||||
test('row 18: end-to-end happy path, resolved:true content shape', (t) => {
|
||||
const dir = createTempDir('gsd-resolve-content-18-');
|
||||
const dir = createTempDir('msd-resolve-content-18-');
|
||||
t.after(() => cleanup(dir));
|
||||
writePlan(dir, RESOLVABLE_TASK);
|
||||
|
||||
@@ -174,7 +174,7 @@ describe('task resolve-content (rows 17-19)', () => {
|
||||
});
|
||||
|
||||
test('hard-halt: a thrown ResolverFailedError becomes a non-zero exit, never {resolved:false}', (t) => {
|
||||
const dir = createTempDir('gsd-resolve-content-hardhalt-');
|
||||
const dir = createTempDir('msd-resolve-content-hardhalt-');
|
||||
t.after(() => cleanup(dir));
|
||||
writePlan(dir, RESOLVABLE_TASK);
|
||||
|
||||
@@ -213,7 +213,7 @@ describe('task resolve-content (rows 17-19)', () => {
|
||||
});
|
||||
|
||||
test('path traversal: --plan escaping the project root -> USAGE, non-zero exit, no filesystem read', (t) => {
|
||||
const dir = createTempDir('gsd-resolve-content-traversal-');
|
||||
const dir = createTempDir('msd-resolve-content-traversal-');
|
||||
t.after(() => cleanup(dir));
|
||||
|
||||
const escapingPath = '../../../etc/passwit';
|
||||
@@ -238,7 +238,7 @@ describe('task resolve-content (rows 17-19)', () => {
|
||||
});
|
||||
|
||||
test('not-applicable: task-id with no ":" -> {resolved:false}, no reason field', (t) => {
|
||||
const dir = createTempDir('gsd-resolve-content-na-');
|
||||
const dir = createTempDir('msd-resolve-content-na-');
|
||||
t.after(() => cleanup(dir));
|
||||
writePlan(dir, '<task type="auto" tracker-id="notrackerprefix"><name>y</name></task>');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user