refactor(packages): dissolve ui/ and rename sdk/ to scaffold/
git mv per the regrouping RFC: the five human-collaboration seams and tui join packages/interaction/, app-boot becomes packages/boot/, and jsonrpc joins the renamed scaffold/ (formerly sdk/) as its server half beside client/protocol/create-sdk/helper/scripts/telemetry, whose folders drop the legacy sdk- prefix. Three new group README triplets replace the ui/ and sdk/ ones; tsconfig references/paths/globs, knip keys, vitest globs, gate scripts, catalogs, docs, and the lockfile follow. Adds the four settled FIXME rename markers (dsh-sdk-server, dsh-sdk-telemetry, dsh-sdk-helper, dsh-sdk-scripts). The scaffold folders diverge from their npm names until those renames land, so tsconfig.base.json maps the three affected names explicitly beside the group wildcard. Also repairs two pre-existing stale-path classes the strengthened sweep surfaced: docs/web-styling.md's retired web-ui host package and type-model spec fixture-literal joins. app-boot's three Loader-composition specs time out at the default 5s under full-suite parallel load on this filesystem (pre-existing; pass isolated with --testTimeout=30000); interaction/scaffold/boot suites otherwise green (687 passed).
This commit is contained in:
@@ -419,7 +419,7 @@ describe('WorkspaceAnalyzer', { timeout: 60_000 }, () => {
|
||||
|
||||
it('rejects relative imports across face boundaries', () => {
|
||||
const root = copyFixture('typert-relative-face-')
|
||||
const sourcePath = join(root, 'packages/client/src/index.ts')
|
||||
const sourcePath = join(root, 'packages/client', 'src/index.ts')
|
||||
const source = readFileSync(sourcePath, 'utf8')
|
||||
.replace("from '@fixture/host'", "from '../../host/src/index.ts'")
|
||||
writeFileSync(sourcePath, source)
|
||||
@@ -435,7 +435,7 @@ describe('WorkspaceAnalyzer', { timeout: 60_000 }, () => {
|
||||
join(root, 'packages/host/src/private.ts'),
|
||||
'export interface PrivateHost { readonly value: string }\n',
|
||||
)
|
||||
const sourcePath = join(root, 'packages/client/src/index.ts')
|
||||
const sourcePath = join(root, 'packages/client', 'src/index.ts')
|
||||
const source = readFileSync(sourcePath, 'utf8')
|
||||
.replace(
|
||||
"import type { HostAgent, Payload } from '@fixture/host'",
|
||||
@@ -458,7 +458,7 @@ describe('WorkspaceAnalyzer', { timeout: 60_000 }, () => {
|
||||
join(root, 'packages/host/src/private.ts'),
|
||||
'export interface PrivateHost { readonly value: string }\n',
|
||||
)
|
||||
const sourcePath = join(root, 'packages/client/src/index.ts')
|
||||
const sourcePath = join(root, 'packages/client', 'src/index.ts')
|
||||
writeFileSync(sourcePath, [
|
||||
readFileSync(sourcePath, 'utf8'),
|
||||
"export type { PrivateHost } from '@fixture/host/private'",
|
||||
@@ -472,7 +472,7 @@ describe('WorkspaceAnalyzer', { timeout: 60_000 }, () => {
|
||||
|
||||
it('rejects cross-face namespace re-exports until the model has a namespace target', () => {
|
||||
const root = copyFixture('typert-namespace-reexport-')
|
||||
const sourcePath = join(root, 'packages/client/src/index.ts')
|
||||
const sourcePath = join(root, 'packages/client', 'src/index.ts')
|
||||
writeFileSync(sourcePath, [
|
||||
readFileSync(sourcePath, 'utf8'),
|
||||
"export type * as HostNamespace from '@fixture/host'",
|
||||
@@ -487,10 +487,10 @@ describe('WorkspaceAnalyzer', { timeout: 60_000 }, () => {
|
||||
it('ignores cross-face namespace exports that are not package exports', () => {
|
||||
const root = copyFixture('typert-private-namespace-reexport-')
|
||||
writeFileSync(
|
||||
join(root, 'packages/client/src/internal.ts'),
|
||||
join(root, 'packages/client', 'src/internal.ts'),
|
||||
"export type * as HiddenHostNamespace from '@fixture/host'\n",
|
||||
)
|
||||
const sourcePath = join(root, 'packages/client/src/index.ts')
|
||||
const sourcePath = join(root, 'packages/client', 'src/index.ts')
|
||||
writeFileSync(sourcePath, [
|
||||
"import './internal.ts'",
|
||||
readFileSync(sourcePath, 'utf8'),
|
||||
@@ -503,7 +503,7 @@ describe('WorkspaceAnalyzer', { timeout: 60_000 }, () => {
|
||||
|
||||
it('records public symbols from explicit cross-face star re-exports', () => {
|
||||
const root = copyFixture('typert-star-reexport-')
|
||||
const sourcePath = join(root, 'packages/client/src/index.ts')
|
||||
const sourcePath = join(root, 'packages/client', 'src/index.ts')
|
||||
writeFileSync(
|
||||
sourcePath,
|
||||
readFileSync(sourcePath, 'utf8')
|
||||
@@ -1138,7 +1138,7 @@ describe('WorkspaceTypertGenerator', { timeout: 60_000 }, () => {
|
||||
|
||||
it('rejects a public Typert subpath that points outside the root-level face artifact', () => {
|
||||
const root = copyFixture('typert-artifact-path-')
|
||||
const manifestPath = join(root, 'packages/client/package.json')
|
||||
const manifestPath = join(root, 'packages/client', 'package.json')
|
||||
const manifest = JSON.parse(readFileSync(manifestPath, 'utf8')) as {
|
||||
exports: Record<string, { types: string; default: string }>
|
||||
}
|
||||
@@ -1154,7 +1154,7 @@ describe('WorkspaceTypertGenerator', { timeout: 60_000 }, () => {
|
||||
|
||||
it('rejects absent Typert exports and package file entries', () => {
|
||||
const noSubpathRoot = copyFixture('typert-missing-artifact-export-')
|
||||
const noSubpathManifest = join(noSubpathRoot, 'packages/client/package.json')
|
||||
const noSubpathManifest = join(noSubpathRoot, 'packages/client', 'package.json')
|
||||
const noSubpath = JSON.parse(readFileSync(noSubpathManifest, 'utf8')) as Record<string, unknown>
|
||||
noSubpath.exports = './lib/index.js'
|
||||
writeFileSync(noSubpathManifest, `${JSON.stringify(noSubpath, null, 2)}\n`)
|
||||
@@ -1163,7 +1163,7 @@ describe('WorkspaceTypertGenerator', { timeout: 60_000 }, () => {
|
||||
)
|
||||
|
||||
const invalidSubpathRoot = copyFixture('typert-invalid-artifact-export-')
|
||||
const invalidSubpathManifest = join(invalidSubpathRoot, 'packages/client/package.json')
|
||||
const invalidSubpathManifest = join(invalidSubpathRoot, 'packages/client', 'package.json')
|
||||
const invalidSubpath = JSON.parse(readFileSync(invalidSubpathManifest, 'utf8')) as {
|
||||
exports: Record<string, unknown>
|
||||
}
|
||||
@@ -1174,7 +1174,7 @@ describe('WorkspaceTypertGenerator', { timeout: 60_000 }, () => {
|
||||
)
|
||||
|
||||
const noFilesRoot = copyFixture('typert-missing-artifact-files-')
|
||||
const noFilesManifest = join(noFilesRoot, 'packages/client/package.json')
|
||||
const noFilesManifest = join(noFilesRoot, 'packages/client', 'package.json')
|
||||
const noFiles = JSON.parse(readFileSync(noFilesManifest, 'utf8')) as Record<string, unknown>
|
||||
delete noFiles.files
|
||||
writeFileSync(noFilesManifest, `${JSON.stringify(noFiles, null, 2)}\n`)
|
||||
|
||||
Reference in New Issue
Block a user