From 8c9bb7f02b3511441076f07a914bd8bc87c17704 Mon Sep 17 00:00:00 2001 From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com> Date: Mon, 12 Oct 2026 18:30:08 -0400 Subject: [PATCH 1/2] Bump vite-ember-ssr to 0.6.2 and patch in a routeName option The CSS manifest of vite-ember-ssr names a lazy route from its app/templates/.gts path. A route template in another folder gets the chunk name as its key, so its prerendered page has no stylesheet link. The patch adds a routeName(modulePath) option to emberSsr and emberSsg. It runs at build time, when the plugin writes the manifest. Upstream issue: https://github.com/evoactivity/vite-ember-ssr/issues/23 Co-Authored-By: Claude Opus 5.5 --- .../docs.gts => routes/docs/+template.gts} | 0 .../docs/editor/+template.gts} | 0 .../docs/embedding/+template.gts} | 0 .../docs/ember-repl/+template.gts} | 0 .../docs/index/+template.gts} | 0 .../docs/related/+template.gts} | 0 .../docs/repl-sdk/+template.gts} | 0 .../docs/repl-sdk/formats.gts | 0 .../docs/repl-sdk/formats/gjs.gts | 0 .../docs/repl-sdk/formats/gmd.gts | 0 .../docs/repl-sdk/formats/gts.gts | 0 .../docs/repl-sdk/formats/hbs-ember.gts | 0 .../docs/repl-sdk/formats/hbs.gts | 0 .../docs/repl-sdk/formats/js.gts | 0 .../docs/repl-sdk/formats/jsx-react.gts | 0 .../docs/repl-sdk/formats/jsx.gts | 0 .../docs/repl-sdk/formats/md.gts | 0 .../docs/repl-sdk/formats/mermaid.gts | 0 .../docs/repl-sdk/formats/svelte.gts | 0 .../docs/repl-sdk/formats/vue.gts | 0 .../app/{templates => routes}/docs/styles.css | 0 .../docs/support/api.gts | 0 .../docs/support/code.gts | 0 .../docs/support/type.gts | 0 .../app/{templates => routes}/docs/topics.gts | 0 apps/repl/package.json | 2 +- patches/vite-ember-ssr@0.6.2.patch | 88 +++++++++++++++++++ pnpm-lock.yaml | 13 +-- pnpm-workspace.yaml | 1 + 29 files changed, 98 insertions(+), 6 deletions(-) rename apps/repl/app/{templates/docs.gts => routes/docs/+template.gts} (100%) rename apps/repl/app/{templates/docs/editor.gts => routes/docs/editor/+template.gts} (100%) rename apps/repl/app/{templates/docs/embedding.gts => routes/docs/embedding/+template.gts} (100%) rename apps/repl/app/{templates/docs/ember-repl.gts => routes/docs/ember-repl/+template.gts} (100%) rename apps/repl/app/{templates/docs/index.gts => routes/docs/index/+template.gts} (100%) rename apps/repl/app/{templates/docs/related.gts => routes/docs/related/+template.gts} (100%) rename apps/repl/app/{templates/docs/repl-sdk.gts => routes/docs/repl-sdk/+template.gts} (100%) rename apps/repl/app/{templates => routes}/docs/repl-sdk/formats.gts (100%) rename apps/repl/app/{templates => routes}/docs/repl-sdk/formats/gjs.gts (100%) rename apps/repl/app/{templates => routes}/docs/repl-sdk/formats/gmd.gts (100%) rename apps/repl/app/{templates => routes}/docs/repl-sdk/formats/gts.gts (100%) rename apps/repl/app/{templates => routes}/docs/repl-sdk/formats/hbs-ember.gts (100%) rename apps/repl/app/{templates => routes}/docs/repl-sdk/formats/hbs.gts (100%) rename apps/repl/app/{templates => routes}/docs/repl-sdk/formats/js.gts (100%) rename apps/repl/app/{templates => routes}/docs/repl-sdk/formats/jsx-react.gts (100%) rename apps/repl/app/{templates => routes}/docs/repl-sdk/formats/jsx.gts (100%) rename apps/repl/app/{templates => routes}/docs/repl-sdk/formats/md.gts (100%) rename apps/repl/app/{templates => routes}/docs/repl-sdk/formats/mermaid.gts (100%) rename apps/repl/app/{templates => routes}/docs/repl-sdk/formats/svelte.gts (100%) rename apps/repl/app/{templates => routes}/docs/repl-sdk/formats/vue.gts (100%) rename apps/repl/app/{templates => routes}/docs/styles.css (100%) rename apps/repl/app/{templates => routes}/docs/support/api.gts (100%) rename apps/repl/app/{templates => routes}/docs/support/code.gts (100%) rename apps/repl/app/{templates => routes}/docs/support/type.gts (100%) rename apps/repl/app/{templates => routes}/docs/topics.gts (100%) create mode 100644 patches/vite-ember-ssr@0.6.2.patch diff --git a/apps/repl/app/templates/docs.gts b/apps/repl/app/routes/docs/+template.gts similarity index 100% rename from apps/repl/app/templates/docs.gts rename to apps/repl/app/routes/docs/+template.gts diff --git a/apps/repl/app/templates/docs/editor.gts b/apps/repl/app/routes/docs/editor/+template.gts similarity index 100% rename from apps/repl/app/templates/docs/editor.gts rename to apps/repl/app/routes/docs/editor/+template.gts diff --git a/apps/repl/app/templates/docs/embedding.gts b/apps/repl/app/routes/docs/embedding/+template.gts similarity index 100% rename from apps/repl/app/templates/docs/embedding.gts rename to apps/repl/app/routes/docs/embedding/+template.gts diff --git a/apps/repl/app/templates/docs/ember-repl.gts b/apps/repl/app/routes/docs/ember-repl/+template.gts similarity index 100% rename from apps/repl/app/templates/docs/ember-repl.gts rename to apps/repl/app/routes/docs/ember-repl/+template.gts diff --git a/apps/repl/app/templates/docs/index.gts b/apps/repl/app/routes/docs/index/+template.gts similarity index 100% rename from apps/repl/app/templates/docs/index.gts rename to apps/repl/app/routes/docs/index/+template.gts diff --git a/apps/repl/app/templates/docs/related.gts b/apps/repl/app/routes/docs/related/+template.gts similarity index 100% rename from apps/repl/app/templates/docs/related.gts rename to apps/repl/app/routes/docs/related/+template.gts diff --git a/apps/repl/app/templates/docs/repl-sdk.gts b/apps/repl/app/routes/docs/repl-sdk/+template.gts similarity index 100% rename from apps/repl/app/templates/docs/repl-sdk.gts rename to apps/repl/app/routes/docs/repl-sdk/+template.gts diff --git a/apps/repl/app/templates/docs/repl-sdk/formats.gts b/apps/repl/app/routes/docs/repl-sdk/formats.gts similarity index 100% rename from apps/repl/app/templates/docs/repl-sdk/formats.gts rename to apps/repl/app/routes/docs/repl-sdk/formats.gts diff --git a/apps/repl/app/templates/docs/repl-sdk/formats/gjs.gts b/apps/repl/app/routes/docs/repl-sdk/formats/gjs.gts similarity index 100% rename from apps/repl/app/templates/docs/repl-sdk/formats/gjs.gts rename to apps/repl/app/routes/docs/repl-sdk/formats/gjs.gts diff --git a/apps/repl/app/templates/docs/repl-sdk/formats/gmd.gts b/apps/repl/app/routes/docs/repl-sdk/formats/gmd.gts similarity index 100% rename from apps/repl/app/templates/docs/repl-sdk/formats/gmd.gts rename to apps/repl/app/routes/docs/repl-sdk/formats/gmd.gts diff --git a/apps/repl/app/templates/docs/repl-sdk/formats/gts.gts b/apps/repl/app/routes/docs/repl-sdk/formats/gts.gts similarity index 100% rename from apps/repl/app/templates/docs/repl-sdk/formats/gts.gts rename to apps/repl/app/routes/docs/repl-sdk/formats/gts.gts diff --git a/apps/repl/app/templates/docs/repl-sdk/formats/hbs-ember.gts b/apps/repl/app/routes/docs/repl-sdk/formats/hbs-ember.gts similarity index 100% rename from apps/repl/app/templates/docs/repl-sdk/formats/hbs-ember.gts rename to apps/repl/app/routes/docs/repl-sdk/formats/hbs-ember.gts diff --git a/apps/repl/app/templates/docs/repl-sdk/formats/hbs.gts b/apps/repl/app/routes/docs/repl-sdk/formats/hbs.gts similarity index 100% rename from apps/repl/app/templates/docs/repl-sdk/formats/hbs.gts rename to apps/repl/app/routes/docs/repl-sdk/formats/hbs.gts diff --git a/apps/repl/app/templates/docs/repl-sdk/formats/js.gts b/apps/repl/app/routes/docs/repl-sdk/formats/js.gts similarity index 100% rename from apps/repl/app/templates/docs/repl-sdk/formats/js.gts rename to apps/repl/app/routes/docs/repl-sdk/formats/js.gts diff --git a/apps/repl/app/templates/docs/repl-sdk/formats/jsx-react.gts b/apps/repl/app/routes/docs/repl-sdk/formats/jsx-react.gts similarity index 100% rename from apps/repl/app/templates/docs/repl-sdk/formats/jsx-react.gts rename to apps/repl/app/routes/docs/repl-sdk/formats/jsx-react.gts diff --git a/apps/repl/app/templates/docs/repl-sdk/formats/jsx.gts b/apps/repl/app/routes/docs/repl-sdk/formats/jsx.gts similarity index 100% rename from apps/repl/app/templates/docs/repl-sdk/formats/jsx.gts rename to apps/repl/app/routes/docs/repl-sdk/formats/jsx.gts diff --git a/apps/repl/app/templates/docs/repl-sdk/formats/md.gts b/apps/repl/app/routes/docs/repl-sdk/formats/md.gts similarity index 100% rename from apps/repl/app/templates/docs/repl-sdk/formats/md.gts rename to apps/repl/app/routes/docs/repl-sdk/formats/md.gts diff --git a/apps/repl/app/templates/docs/repl-sdk/formats/mermaid.gts b/apps/repl/app/routes/docs/repl-sdk/formats/mermaid.gts similarity index 100% rename from apps/repl/app/templates/docs/repl-sdk/formats/mermaid.gts rename to apps/repl/app/routes/docs/repl-sdk/formats/mermaid.gts diff --git a/apps/repl/app/templates/docs/repl-sdk/formats/svelte.gts b/apps/repl/app/routes/docs/repl-sdk/formats/svelte.gts similarity index 100% rename from apps/repl/app/templates/docs/repl-sdk/formats/svelte.gts rename to apps/repl/app/routes/docs/repl-sdk/formats/svelte.gts diff --git a/apps/repl/app/templates/docs/repl-sdk/formats/vue.gts b/apps/repl/app/routes/docs/repl-sdk/formats/vue.gts similarity index 100% rename from apps/repl/app/templates/docs/repl-sdk/formats/vue.gts rename to apps/repl/app/routes/docs/repl-sdk/formats/vue.gts diff --git a/apps/repl/app/templates/docs/styles.css b/apps/repl/app/routes/docs/styles.css similarity index 100% rename from apps/repl/app/templates/docs/styles.css rename to apps/repl/app/routes/docs/styles.css diff --git a/apps/repl/app/templates/docs/support/api.gts b/apps/repl/app/routes/docs/support/api.gts similarity index 100% rename from apps/repl/app/templates/docs/support/api.gts rename to apps/repl/app/routes/docs/support/api.gts diff --git a/apps/repl/app/templates/docs/support/code.gts b/apps/repl/app/routes/docs/support/code.gts similarity index 100% rename from apps/repl/app/templates/docs/support/code.gts rename to apps/repl/app/routes/docs/support/code.gts diff --git a/apps/repl/app/templates/docs/support/type.gts b/apps/repl/app/routes/docs/support/type.gts similarity index 100% rename from apps/repl/app/templates/docs/support/type.gts rename to apps/repl/app/routes/docs/support/type.gts diff --git a/apps/repl/app/templates/docs/topics.gts b/apps/repl/app/routes/docs/topics.gts similarity index 100% rename from apps/repl/app/templates/docs/topics.gts rename to apps/repl/app/routes/docs/topics.gts diff --git a/apps/repl/package.json b/apps/repl/package.json index bbc88e0d9..c322e6c19 100644 --- a/apps/repl/package.json +++ b/apps/repl/package.json @@ -107,7 +107,7 @@ "vfile": "^6.0.3", "vite": "8.0.8", "vite-bundle-analyzer": "^1.3.7", - "vite-ember-ssr": "0.6.0", + "vite-ember-ssr": "0.6.2", "vite-plugin-circular-dependency": "^0.5.0", "vite-plugin-mkcert": "^1.17.9" }, diff --git a/patches/vite-ember-ssr@0.6.2.patch b/patches/vite-ember-ssr@0.6.2.patch new file mode 100644 index 000000000..cc5e6da4d --- /dev/null +++ b/patches/vite-ember-ssr@0.6.2.patch @@ -0,0 +1,88 @@ +diff --git a/dist/vite-plugin-BBT5xWeo.d.ts b/dist/vite-plugin-BBT5xWeo.d.ts +index 86553ef419c125bfa9e77e38e27d955ebc306196..da14f0af9929d64180672e4464ffcc9a476ab275 100644 +--- a/dist/vite-plugin-BBT5xWeo.d.ts ++++ b/dist/vite-plugin-BBT5xWeo.d.ts +@@ -28,6 +28,14 @@ declare const CSS_MANIFEST_FILENAME = "css-manifest.json"; + */ + type CssManifest = Record; + interface EmberSsrPluginOptions { ++ /** ++ * Returns the Ember route name for a lazy-loaded module. ++ * Use this when route templates are not in `app/templates/`. ++ * ++ * The path is relative to the project root, for example `app/routes/about/+template.gts`. ++ * Return `undefined` to use the default `app/templates/` convention. ++ */ ++ routeName?: (modulePath: string) => string | undefined; + /** + * Output directory for the client build. + * @default 'dist/client' +@@ -54,6 +62,14 @@ interface EmberSsrPluginOptions { + */ + declare function emberSsr(options?: EmberSsrPluginOptions): Plugin; + interface EmberSsgPluginOptions { ++ /** ++ * Returns the Ember route name for a lazy-loaded module. ++ * Use this when route templates are not in `app/templates/`. ++ * ++ * The path is relative to the project root, for example `app/routes/about/+template.gts`. ++ * Return `undefined` to use the default `app/templates/` convention. ++ */ ++ routeName?: (modulePath: string) => string | undefined; + /** + * Routes to prerender as static HTML files. + * +diff --git a/dist/vite-plugin-By7tVdQI.js b/dist/vite-plugin-By7tVdQI.js +index 8be1c01a058c7ddeb917b6225144721d53b02db2..4a56a34687d632df50fb1e5414f2a8c535bcaf47 100644 +--- a/dist/vite-plugin-By7tVdQI.js ++++ b/dist/vite-plugin-By7tVdQI.js +@@ -20,10 +20,12 @@ const CSS_MANIFEST_FILENAME = "css-manifest.json"; + * + * Returns undefined if the path doesn't match the convention. + */ +-function sourcePathToRouteName(facadeModuleId, root) { ++function sourcePathToRouteName(facadeModuleId, root, toRouteName) { + let relativePath = facadeModuleId; + if (relativePath.startsWith(root)) relativePath = relativePath.slice(root.length); + if (relativePath.startsWith("/")) relativePath = relativePath.slice(1); ++ const custom = toRouteName?.(relativePath); ++ if (custom) return custom; + const match = relativePath.match(/^app\/templates\/(.+)\.(gts|gjs|hbs|ts|js)$/); + if (!match) return void 0; + return match[1].replace(/\//g, "."); +@@ -45,7 +47,7 @@ function sourcePathToRouteName(facadeModuleId, root) { + * Keys are Ember route names derived from the source file path using + * Ember's conventional `app/templates/` directory structure. + */ +-function buildCssManifest(bundle, base, root) { ++function buildCssManifest(bundle, base, root, toRouteName) { + const manifest = {}; + const chunksByFile = /* @__PURE__ */ new Map(); + const mainEntryFiles = /* @__PURE__ */ new Set(); +@@ -76,7 +78,7 @@ function buildCssManifest(bundle, base, root) { + const css = /* @__PURE__ */ new Set(); + collectCss(chunk.fileName, /* @__PURE__ */ new Set(), css); + if (css.size === 0) continue; +- const routeName = chunk.facadeModuleId ? sourcePathToRouteName(chunk.facadeModuleId, root) ?? chunk.name : chunk.name; ++ const routeName = chunk.facadeModuleId ? sourcePathToRouteName(chunk.facadeModuleId, root, toRouteName) ?? chunk.name : chunk.name; + if (!routeName) continue; + const cssFiles = Array.from(css).map((c) => `${base}${c}`); + if (cssFiles.length > 0) manifest[routeName] = cssFiles; +@@ -206,7 +208,7 @@ function emberSsr(options = {}) { + if (process.env.__VITE_EMBER_SSG_CHILD__) return; + const base = resolvedConfig.base ?? "/"; + const root = resolvedConfig.root; +- const manifest = buildCssManifest(bundle, base, root); ++ const manifest = buildCssManifest(bundle, base, root, options.routeName); + if (Object.keys(manifest).length === 0) return; + this.emitFile({ + type: "asset", +@@ -283,7 +285,7 @@ function emberSsg(options) { + if (process.env.__VITE_EMBER_SSG_CHILD__) return; + const base = resolvedConfig.base ?? "/"; + const root = resolvedConfig.root; +- const manifest = buildCssManifest(bundle, base, root); ++ const manifest = buildCssManifest(bundle, base, root, options.routeName); + if (Object.keys(manifest).length === 0) return; + this.emitFile({ + type: "asset", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e30752921..48cd03668 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -44,6 +44,9 @@ patchedDependencies: browserslist-generator: hash: 8012b033c48b9eeeb2a450dd39dcc4fd9632dda6b3697bfddcd5371ab1866ebe path: patches/browserslist-generator.patch + vite-ember-ssr@0.6.2: + hash: 1b8e6a707fc6213fbc0d6b3f0a83be5629e76c4273b295f2582415021d3aa2e8 + path: patches/vite-ember-ssr@0.6.2.patch importers: @@ -429,8 +432,8 @@ importers: specifier: ^1.3.7 version: 1.3.7 vite-ember-ssr: - specifier: 0.6.0 - version: 0.6.0(1772a17673355c6de89229b7565213b1) + specifier: 0.6.2 + version: 0.6.2(patch_hash=1b8e6a707fc6213fbc0d6b3f0a83be5629e76c4273b295f2582415021d3aa2e8)(1772a17673355c6de89229b7565213b1) vite-plugin-circular-dependency: specifier: ^0.5.0 version: 0.5.0(rollup@4.57.1) @@ -10889,8 +10892,8 @@ packages: resolution: {integrity: sha512-dYlW6iM0Gq7+uSEfXytDC+UjruUMgEKhXwQUbw4cJUgHA6FdEhpLgIrL5OZEyabrzVen0mZyfOSESyZ7nGyT8g==} hasBin: true - vite-ember-ssr@0.6.0: - resolution: {integrity: sha512-x9Mm5WMAqP2CJUNKvhaZG/0cqEKlzX6yODHOVI9MlH7XwQZ16SM1sOlYijkIPNRMliI0ctvbtFDmr6lH/1jShg==} + vite-ember-ssr@0.6.2: + resolution: {integrity: sha512-G8Dq0LPheTyDVRrrMnCg2gCH+eQIXMdiztbu9u2VKpMtJo5igNyIC8dz6gsVHEpSBZ7AMuGGfbCZ8rr9gFf++Q==} engines: {node: '>=22'} peerDependencies: vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -22293,7 +22296,7 @@ snapshots: vite-bundle-analyzer@1.3.7: {} - vite-ember-ssr@0.6.0(1772a17673355c6de89229b7565213b1): + vite-ember-ssr@0.6.2(patch_hash=1b8e6a707fc6213fbc0d6b3f0a83be5629e76c4273b295f2582415021d3aa2e8)(1772a17673355c6de89229b7565213b1): dependencies: happy-dom: 20.8.9 tinypool: 2.1.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index dfbe5733d..7f5aa9dc2 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -75,6 +75,7 @@ catalogs: patchedDependencies: "browserslist-generator": "patches/browserslist-generator.patch" + "vite-ember-ssr@0.6.2": "patches/vite-ember-ssr@0.6.2.patch" overrides: "@glint/template": "1.8.0" From 94c7543b53eb1f075d1c0b3b39c77a334d412d3a Mon Sep 17 00:00:00 2001 From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com> Date: Mon, 12 Oct 2026 18:30:08 -0400 Subject: [PATCH 2/2] Move the docs routes to app/routes/docs/ Each docs route now has app/routes/docs//+template.gts, like the other routes. The docs stay out of the eager glob in app.ts, and the router still loads each one as a lazy bundle. The SSG build gets the route name of each template through the routeName option, so the prerendered pages keep their stylesheet links. Co-Authored-By: Claude Opus 5.5 --- apps/repl/app/app-ssr.ts | 6 +++--- apps/repl/app/custom-layout.ts | 2 -- apps/repl/app/router.ts | 14 +++++++------- apps/repl/app/routes/docs/+template.gts | 4 ++-- apps/repl/app/routes/docs/editor/+template.gts | 2 +- apps/repl/app/routes/docs/embedding/+template.gts | 4 ++-- apps/repl/app/routes/docs/ember-repl/+template.gts | 4 ++-- apps/repl/app/routes/docs/index/+template.gts | 4 ++-- apps/repl/app/routes/docs/related/+template.gts | 2 +- apps/repl/app/routes/docs/repl-sdk/+template.gts | 4 ++-- apps/repl/types/global.d.ts | 8 -------- apps/repl/vite.config.js | 3 +++ 12 files changed, 25 insertions(+), 32 deletions(-) diff --git a/apps/repl/app/app-ssr.ts b/apps/repl/app/app-ssr.ts index 720a57425..c765e76fa 100644 --- a/apps/repl/app/app-ssr.ts +++ b/apps/repl/app/app-ssr.ts @@ -17,10 +17,10 @@ export default class SsrApp extends Application { modules = { './router': Router, ...customLayout( - import.meta.glob('./routes/{application,error-404}/+template.gts', { eager: true }) + import.meta.glob('./routes/{application,error-404,docs,docs/*}/+template.gts', { + eager: true, + }) ), - ...import.meta.glob('./templates/docs.gts', { eager: true }), - ...import.meta.glob('./templates/docs/**/*.gts', { eager: true }), './routes/application': { default: SsrApplicationRoute }, './services/page-title': PageTitleService, }; diff --git a/apps/repl/app/custom-layout.ts b/apps/repl/app/custom-layout.ts index 834d4728e..cc9162cb1 100644 --- a/apps/repl/app/custom-layout.ts +++ b/apps/repl/app/custom-layout.ts @@ -7,8 +7,6 @@ * * Other files in that folder belong to that route alone. * - * The docs routes are plain templates and stay in app/templates/. - * * The resolver still looks modules up by the classic layout * (routes/, templates/, controllers/), so the module keys are translated here. */ diff --git a/apps/repl/app/router.ts b/apps/repl/app/router.ts index 13e6a8182..850d7e58c 100644 --- a/apps/repl/app/router.ts +++ b/apps/repl/app/router.ts @@ -33,13 +33,13 @@ function bundle(name: string, loader: () => Promise<{ default: unknown }>[]) { } (window as any)._embroiderRouteBundles_ = [ - bundle('docs', () => [import('./templates/docs.gts')]), - bundle('docs.index', () => [import('./templates/docs/index.gts')]), - bundle('docs.repl-sdk', () => [import('./templates/docs/repl-sdk.gts')]), - bundle('docs.ember-repl', () => [import('./templates/docs/ember-repl.gts')]), - bundle('docs.embedding', () => [import('./templates/docs/embedding.gts')]), - bundle('docs.editor', () => [import('./templates/docs/editor.gts')]), - bundle('docs.related', () => [import('./templates/docs/related.gts')]), + bundle('docs', () => [import('./routes/docs/+template.gts')]), + bundle('docs.index', () => [import('./routes/docs/index/+template.gts')]), + bundle('docs.repl-sdk', () => [import('./routes/docs/repl-sdk/+template.gts')]), + bundle('docs.ember-repl', () => [import('./routes/docs/ember-repl/+template.gts')]), + bundle('docs.embedding', () => [import('./routes/docs/embedding/+template.gts')]), + bundle('docs.editor', () => [import('./routes/docs/editor/+template.gts')]), + bundle('docs.related', () => [import('./routes/docs/related/+template.gts')]), ]; Router.map(function () { diff --git a/apps/repl/app/routes/docs/+template.gts b/apps/repl/app/routes/docs/+template.gts index 3313766a8..2ee584134 100644 --- a/apps/repl/app/routes/docs/+template.gts +++ b/apps/repl/app/routes/docs/+template.gts @@ -1,9 +1,9 @@ -import './docs/styles.css'; +import './styles.css'; // This side-effect import is needed because I forgot // to include some variables imports in the sub-components. import 'nvp.ui'; -import { NavLink, Topics } from './docs/topics.gts'; +import { NavLink, Topics } from './topics.gts';