Skip to content

Commit b729658

Browse files
author
DevBot
committed
refactor(adapter): internalize content ssg and contracts
1 parent 22899c1 commit b729658

73 files changed

Lines changed: 7788 additions & 47 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/adapter-vite/src/app-vite.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
*/
77

88
import type { Plugin } from 'vite';
9-
import type { FrameworkOptions } from '@openelement/protocol/framework';
10-
import type { OpenElementContentOptions } from '@openelement/content';
9+
import type { FrameworkOptions } from './internal/protocol/framework.ts';
10+
import type { OpenElementContentOptions } from './internal/content/index.ts';
1111
import type { OpenElementI18nOptions } from '@openelement/app/i18n';
1212

1313
import { OpenElementBuildContext } from './build-context.ts';
1414
import { createOpenPlugin } from './plugin.ts';
15-
import { openContent } from '@openelement/content/vite';
15+
import { openContent } from './internal/content/vite.ts';
1616
import { openI18n } from './i18n-plugin.ts';
1717
import { createLogger } from '@openelement/core/logger';
1818

packages/adapter-vite/src/build-context.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@ import type {
2727
OpenElementI18nContextOptions,
2828
OpenElementNavSection,
2929
RouteEntry,
30-
} from '@openelement/protocol/framework';
31-
import type { OpenElementPackageManifest } from '@openelement/protocol/manifest';
30+
} from './internal/protocol/framework.ts';
31+
import type { OpenElementPackageManifest } from './internal/protocol/manifest.ts';
3232
import type {
3333
BuildArtifacts,
3434
BuildPlan,
3535
IslandDecl,
3636
SsrAdmissionPlan,
37-
} from '@openelement/protocol/ssg';
37+
} from './internal/protocol/ssg.ts';
3838

3939
export type Phase = 1 | 2 | 3;
4040

@@ -145,7 +145,7 @@ export class Phase3Meta {
145145
componentsDir: string = 'app/components';
146146

147147
/** ADR-0047: Pre-resolved external dependency manifest (auto-generated from deno info). */
148-
externalManifest?: import('@openelement/protocol/ssg').ExternalManifest;
148+
externalManifest?: import('./internal/protocol/ssg.ts').ExternalManifest;
149149

150150
/** Skip Deno pre-resolution, use regex fallback. */
151151
skipPreResolution?: boolean;

packages/adapter-vite/src/build-plan.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { join, relative } from 'node:path';
22
import { readdirSync, readFileSync, statSync, writeFileSync } from 'node:fs';
3-
import type { BuildArtifacts, BuildPlan } from '@openelement/protocol/ssg';
3+
import type { BuildArtifacts, BuildPlan } from './internal/protocol/ssg.ts';
44
import type { OpenElementBuildContext } from './build-context.ts';
55

66
export function createProductionBuildPlan(ctx: OpenElementBuildContext): BuildPlan {

packages/adapter-vite/src/build.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99
*/
1010

1111
import type { Plugin, ResolvedConfig } from 'vite';
12-
import type { FrameworkOptions } from '@openelement/protocol/framework';
12+
import type { FrameworkOptions } from './internal/protocol/framework.ts';
1313
import type { OpenElementBuildContext } from './build-context.ts';
1414
import { join } from 'node:path';
1515
import { mkdir, open } from 'node:fs/promises';
1616
import process from 'node:process';
1717
import { createLogger } from '@openelement/core/logger';
1818
import { escapeAttr, escapeHtml } from '@openelement/core';
19-
import { cleanSsrArtifacts, postProcessClientIslandBuild } from '@openelement/ssg';
19+
import { cleanSsrArtifacts, postProcessClientIslandBuild } from './internal/ssg/index.ts';
2020
import { writeRouteManifest } from './route-manifest.ts';
2121
import {
2222
collectBuildArtifacts,

packages/adapter-vite/src/cli/build-client.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ import { existsSync, readFileSync } from 'node:fs';
1717
import { join, resolve } from 'node:path';
1818
import { fileURLToPath } from 'node:url';
1919
import process from 'node:process';
20-
import { generateClientEntry } from '@openelement/ssg';
21-
import type { ClientIslandEntry } from '@openelement/protocol/ssg';
20+
import { generateClientEntry } from '../internal/ssg/index.ts';
21+
import type { ClientIslandEntry } from '../internal/protocol/ssg.ts';
2222
import type { OpenElementBuildContext } from '../build-context.ts';
2323
import { createOpenJsrPackageResolverPlugin } from '../ssg-package-resolver.ts';
2424
import { formatError } from '@openelement/core/errors';

packages/adapter-vite/src/cli/build-ssg.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ import type {
2323
FrameworkOptions,
2424
HydrationStrategy,
2525
RouteEntry,
26-
} from '@openelement/protocol/framework';
27-
import type { OpenElementPackageManifest } from '@openelement/protocol/manifest';
26+
} from '../internal/protocol/framework.ts';
27+
import type { OpenElementPackageManifest } from '../internal/protocol/manifest.ts';
2828
import type { OpenElementBuildContext } from '../build-context.ts';
29-
import { ssgRender } from '@openelement/ssg';
29+
import { ssgRender } from '../internal/ssg/index.ts';
3030
import { SsrRenderError } from '@openelement/core/errors';
3131
import { createLogger } from '@openelement/core/logger';
3232
import { createSsgRenderEvidence } from './ssg-render.ts';
3333
import { createGeneratedDataResolverPlugin } from '../generated-data-resolver.ts';
3434
import { createOpenJsrPackageResolverPlugin } from '../ssg-package-resolver.ts';
35-
import { generateSsrPolyfillBanner, resolveExternalManifest } from '@openelement/ssg';
35+
import { generateSsrPolyfillBanner, resolveExternalManifest } from '../internal/ssg/index.ts';
3636
import { optionalPackageStubsPlugin } from '../plugin.ts';
3737
import { normalizeViteAliases } from '../alias-utils.ts';
3838

@@ -88,7 +88,7 @@ interface BuildSSGOptions {
8888
/** Phase 1 discoveries reused by the production BuildPlan path. */
8989
routes?: RouteEntry[];
9090
islandFiles?: string[];
91-
islandMeta?: Record<string, Partial<import('@openelement/protocol/ssg').IslandDecl>>;
91+
islandMeta?: Record<string, Partial<import('../internal/protocol/ssg.ts').IslandDecl>>;
9292
packageManifests?: OpenElementPackageManifest[];
9393
/** @security Injected as raw HTML without sanitization */
9494
headExtras?: string;
@@ -112,7 +112,7 @@ interface BuildSSGOptions {
112112
* Enables browser prefetch/prerender of pages before the user navigates.
113113
* Can be a boolean (true = auto-generate from routes) or explicit rules.
114114
*/
115-
speculation?: boolean | import('@openelement/protocol/ssg').SpeculationRulesOptions;
115+
speculation?: boolean | import('../internal/protocol/ssg.ts').SpeculationRulesOptions;
116116
/** ADR-0047: Skip Deno pre-resolution, use regex fallback for external deps. */
117117
skipPreResolution?: boolean;
118118
}
@@ -162,14 +162,14 @@ async function buildSSG(
162162

163163
// Generate SSG entry code
164164
const { scanRoutes, scanIslands, scanIslandMeta, fileToTagName } = await import(
165-
'@openelement/ssg'
165+
'../internal/ssg/index.ts'
166166
);
167-
const { generateHonoEntryCode } = await import('@openelement/ssg');
167+
const { generateHonoEntryCode } = await import('../internal/ssg/index.ts');
168168

169169
const routes = options.routes ?? await scanRoutes(routesDir);
170170

171171
// v0.25.0: Generate type-safe route parameter declarations for `virtual:open-routes`
172-
const { generateRouteTypes } = await import('@openelement/ssg');
172+
const { generateRouteTypes } = await import('../internal/ssg/index.ts');
173173
const routeTypeDts = generateRouteTypes(routes);
174174
const dotOpenElementDir = join(root, '.openElement');
175175
mkdirSync(dotOpenElementDir, { recursive: true });
@@ -184,7 +184,7 @@ async function buildSSG(
184184
const ssgIslandMeta = Object.keys(islandMeta).length > 0
185185
? islandMeta
186186
: await scanIslandMeta(islandsRoot, ssgIslandFiles);
187-
const { buildEntryDescriptor } = await import('@openelement/ssg');
187+
const { buildEntryDescriptor } = await import('../internal/ssg/index.ts');
188188

189189
ctx.phase1.ssrAdmissionPlan = buildEntryDescriptor(routes, {
190190
routesDir,

packages/adapter-vite/src/cli/ssg-render.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
* build orchestration uses the local SSG helpers.
77
*/
88

9-
import { resolveDynamicRoutePath, ssgRender as ssgRenderCore } from '@openelement/ssg';
10-
import type { SsgRenderEvidence, SsgRenderOptions, SsrBundle } from '@openelement/protocol/ssg';
9+
import { resolveDynamicRoutePath, ssgRender as ssgRenderCore } from '../internal/ssg/index.ts';
10+
import type { SsgRenderEvidence, SsgRenderOptions, SsrBundle } from '../internal/protocol/ssg.ts';
1111
import { printBuildManifest } from '../build-manifest.ts';
1212
import type { OpenElementBuildContext } from '../build-context.ts';
1313

@@ -17,7 +17,7 @@ export type {
1717
SsgRenderEvidence,
1818
SsgRenderOptions,
1919
SsrBundle,
20-
} from '@openelement/protocol/ssg';
20+
} from '../internal/protocol/ssg.ts';
2121

2222
export async function ssgRender(
2323
module: SsrBundle,
@@ -44,7 +44,7 @@ export function createSsgRenderEvidence(
4444
},
4545
onGenerateSitemap: async (outputDir) => {
4646
if (!ctx.plugins.sitemapOptions) return;
47-
const { generateSitemap } = await import('@openelement/content/sitemap') as {
47+
const { generateSitemap } = await import('../internal/content/sitemap/generator.ts') as {
4848
generateSitemap: (dir: string, opts: unknown) => string[];
4949
};
5050
generateSitemap(outputDir, ctx.plugins.sitemapOptions);

packages/adapter-vite/src/head-injection.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* into a single headExtras string
1111
*/
1212

13-
import type { FrameworkOptions } from '@openelement/protocol/framework';
13+
import type { FrameworkOptions } from './internal/protocol/framework.ts';
1414

1515
import { OpenElementError } from '@openelement/core/errors';
1616
import { escapeAttr as escapeHtmlAttr } from '@openelement/core';

packages/adapter-vite/src/i18n-plugin.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
*/
1515

1616
import type { Plugin } from 'vite';
17-
import type { OpenElementBuildContextLike } from '@openelement/protocol/framework';
17+
import type { OpenElementBuildContextLike } from './internal/protocol/framework.ts';
1818
import { createLogger } from '@openelement/core/logger';
1919
import { formatError } from '@openelement/core/errors';
2020
// build-time Vite plugin, deno-api-free:ignore applies

packages/adapter-vite/src/index.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
// Primary public API
2626
import { build as viteBuild, type InlineConfig, type Plugin } from 'vite';
27-
import type { FrameworkOptions } from '@openelement/protocol/framework';
27+
import type { FrameworkOptions } from './internal/protocol/framework.ts';
2828
import { createOpenPlugin } from './plugin.ts';
2929

3030
export interface OpenPipelineConfig {
@@ -91,13 +91,13 @@ export {
9191
type IslandStrategyMap,
9292
type PageIslandManifest,
9393
writeIslandManifests,
94-
} from '@openelement/ssg';
94+
} from './internal/ssg/index.ts';
9595

9696
// Protocol type re-exports
97-
export type { SpeculationRulesOptions } from '@openelement/protocol/ssg';
97+
export type { SpeculationRulesOptions } from './internal/protocol/ssg.ts';
9898

9999
// External resolver types used by the adapter-vite build pipeline
100-
export type { ExternalManifest } from '@openelement/protocol/ssg';
100+
export type { ExternalManifest } from './internal/protocol/ssg.ts';
101101

102102
// Subpath resolver (public constants)
103103
export { CORE_SUBPATHS, VIRTUAL_CORE_PREFIX } from './subpath-resolver.ts';

0 commit comments

Comments
 (0)