@jasonshimmy/vite-plugin-cer-app 0.23.2 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/adapters/netlify.js +4 -2
- package/dist/cli/adapters/netlify.js.map +1 -1
- package/dist/cli/checks/lighthouse.d.ts +26 -0
- package/dist/cli/checks/lighthouse.d.ts.map +1 -0
- package/dist/cli/checks/lighthouse.js +121 -0
- package/dist/cli/checks/lighthouse.js.map +1 -0
- package/dist/cli/checks/links.d.ts +12 -0
- package/dist/cli/checks/links.d.ts.map +1 -0
- package/dist/cli/checks/links.js +89 -0
- package/dist/cli/checks/links.js.map +1 -0
- package/dist/cli/checks/performance.d.ts +17 -0
- package/dist/cli/checks/performance.d.ts.map +1 -0
- package/dist/cli/checks/performance.js +61 -0
- package/dist/cli/checks/performance.js.map +1 -0
- package/dist/cli/commands/check.d.ts +3 -0
- package/dist/cli/commands/check.d.ts.map +1 -0
- package/dist/cli/commands/check.js +85 -0
- package/dist/cli/commands/check.js.map +1 -0
- package/dist/cli/commands/preview.d.ts.map +1 -1
- package/dist/cli/commands/preview.js +4 -2
- package/dist/cli/commands/preview.js.map +1 -1
- package/dist/cli/create/index.d.ts +11 -1
- package/dist/cli/create/index.d.ts.map +1 -1
- package/dist/cli/create/index.js +135 -65
- package/dist/cli/create/index.js.map +1 -1
- package/dist/cli/create/templates/spa/package.json.tpl +5 -3
- package/dist/cli/create/templates/ssg/cer.config.ts.tpl +2 -0
- package/dist/cli/create/templates/ssg/package.json.tpl +5 -3
- package/dist/cli/create/templates/ssr/package.json.tpl +5 -3
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/plugin/build-ssg.d.ts +22 -6
- package/dist/plugin/build-ssg.d.ts.map +1 -1
- package/dist/plugin/build-ssg.js +226 -17
- package/dist/plugin/build-ssg.js.map +1 -1
- package/dist/plugin/content/index.d.ts +1 -1
- package/dist/plugin/content/index.d.ts.map +1 -1
- package/dist/plugin/content/index.js +8 -8
- package/dist/plugin/content/index.js.map +1 -1
- package/dist/plugin/content/parser.d.ts +3 -3
- package/dist/plugin/content/parser.d.ts.map +1 -1
- package/dist/plugin/content/parser.js +103 -24
- package/dist/plugin/content/parser.js.map +1 -1
- package/dist/plugin/dev-server.d.ts +4 -1
- package/dist/plugin/dev-server.d.ts.map +1 -1
- package/dist/plugin/dev-server.js.map +1 -1
- package/dist/plugin/dts-generator.d.ts.map +1 -1
- package/dist/plugin/dts-generator.js +50 -8
- package/dist/plugin/dts-generator.js.map +1 -1
- package/dist/plugin/generated-dir.d.ts +2 -0
- package/dist/plugin/generated-dir.d.ts.map +1 -1
- package/dist/plugin/generated-dir.js +17 -6
- package/dist/plugin/generated-dir.js.map +1 -1
- package/dist/plugin/html-post-process.d.ts +7 -0
- package/dist/plugin/html-post-process.d.ts.map +1 -1
- package/dist/plugin/html-post-process.js +26 -0
- package/dist/plugin/html-post-process.js.map +1 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +60 -13
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/transforms/auto-import.d.ts.map +1 -1
- package/dist/plugin/transforms/auto-import.js +7 -0
- package/dist/plugin/transforms/auto-import.js.map +1 -1
- package/dist/plugin/transforms/prune-runtime-css.d.ts +8 -0
- package/dist/plugin/transforms/prune-runtime-css.d.ts.map +1 -0
- package/dist/plugin/transforms/prune-runtime-css.js +40 -0
- package/dist/plugin/transforms/prune-runtime-css.js.map +1 -0
- package/dist/runtime/app-template.d.ts +1 -1
- package/dist/runtime/app-template.d.ts.map +1 -1
- package/dist/runtime/app-template.js +206 -36
- package/dist/runtime/app-template.js.map +1 -1
- package/dist/runtime/composables/index.d.ts +4 -0
- package/dist/runtime/composables/index.d.ts.map +1 -1
- package/dist/runtime/composables/index.js +2 -0
- package/dist/runtime/composables/index.js.map +1 -1
- package/dist/runtime/composables/use-active-headings.d.ts +24 -0
- package/dist/runtime/composables/use-active-headings.d.ts.map +1 -0
- package/dist/runtime/composables/use-active-headings.js +112 -0
- package/dist/runtime/composables/use-active-headings.js.map +1 -0
- package/dist/runtime/composables/use-content-page.d.ts +45 -0
- package/dist/runtime/composables/use-content-page.d.ts.map +1 -0
- package/dist/runtime/composables/use-content-page.js +181 -0
- package/dist/runtime/composables/use-content-page.js.map +1 -0
- package/dist/runtime/composables/use-content-search.d.ts.map +1 -1
- package/dist/runtime/composables/use-content-search.js +1 -5
- package/dist/runtime/composables/use-content-search.js.map +1 -1
- package/dist/runtime/composables/use-fetch.d.ts +2 -1
- package/dist/runtime/composables/use-fetch.d.ts.map +1 -1
- package/dist/runtime/composables/use-fetch.js +112 -43
- package/dist/runtime/composables/use-fetch.js.map +1 -1
- package/dist/runtime/composables/use-route.d.ts.map +1 -1
- package/dist/runtime/composables/use-route.js +39 -11
- package/dist/runtime/composables/use-route.js.map +1 -1
- package/dist/runtime/content/client.js +2 -2
- package/dist/runtime/content/client.js.map +1 -1
- package/dist/runtime/entry-server-template.d.ts +16 -1
- package/dist/runtime/entry-server-template.d.ts.map +1 -1
- package/dist/runtime/entry-server-template.js +120 -13
- package/dist/runtime/entry-server-template.js.map +1 -1
- package/dist/types/config.d.ts +45 -4
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js.map +1 -1
- package/dist/types/content.d.ts +18 -1
- package/dist/types/content.d.ts.map +1 -1
- package/dist/types/middleware.d.ts +2 -2
- package/dist/types/middleware.d.ts.map +1 -1
- package/package.json +22 -19
- package/.github/copilot-instructions.md +0 -169
- package/.github/workflows/publish.yml +0 -257
- package/.nvmrc +0 -1
- package/CHANGELOG.md +0 -236
- package/CLAUDE.md +0 -113
- package/commits.txt +0 -1
- package/cypress.config.ts +0 -16
- package/docs/authentication.md +0 -285
- package/docs/cli.md +0 -324
- package/docs/components.md +0 -237
- package/docs/composables.md +0 -907
- package/docs/configuration.md +0 -696
- package/docs/content.md +0 -570
- package/docs/data-loading.md +0 -336
- package/docs/getting-started.md +0 -237
- package/docs/head-management.md +0 -212
- package/docs/i18n.md +0 -159
- package/docs/layouts.md +0 -224
- package/docs/middleware.md +0 -234
- package/docs/plugins.md +0 -170
- package/docs/rendering-modes.md +0 -377
- package/docs/routing.md +0 -485
- package/docs/server-api.md +0 -253
- package/docs/testing.md +0 -455
- package/docs/use-fetch.md +0 -183
- package/e2e/cypress/e2e/api.cy.ts +0 -123
- package/e2e/cypress/e2e/async-component.cy.ts +0 -27
- package/e2e/cypress/e2e/component-splitting.cy.ts +0 -50
- package/e2e/cypress/e2e/content.cy.ts +0 -425
- package/e2e/cypress/e2e/cookie.cy.ts +0 -85
- package/e2e/cypress/e2e/data.cy.ts +0 -158
- package/e2e/cypress/e2e/error-boundary.cy.ts +0 -88
- package/e2e/cypress/e2e/fouc.cy.ts +0 -254
- package/e2e/cypress/e2e/group-meta.cy.ts +0 -36
- package/e2e/cypress/e2e/head.cy.ts +0 -89
- package/e2e/cypress/e2e/i18n.cy.ts +0 -79
- package/e2e/cypress/e2e/interactive.cy.ts +0 -137
- package/e2e/cypress/e2e/isr-nested-runtime.cy.ts +0 -102
- package/e2e/cypress/e2e/jit-css-custom-colors.cy.ts +0 -43
- package/e2e/cypress/e2e/middleware-chain.cy.ts +0 -89
- package/e2e/cypress/e2e/middleware-status.cy.ts +0 -30
- package/e2e/cypress/e2e/middleware.cy.ts +0 -45
- package/e2e/cypress/e2e/navigate.cy.ts +0 -39
- package/e2e/cypress/e2e/observability.cy.ts +0 -77
- package/e2e/cypress/e2e/per-route-error.cy.ts +0 -42
- package/e2e/cypress/e2e/per-route-render.cy.ts +0 -70
- package/e2e/cypress/e2e/preview-hardening.cy.ts +0 -88
- package/e2e/cypress/e2e/routes.cy.ts +0 -128
- package/e2e/cypress/e2e/seo-meta.cy.ts +0 -108
- package/e2e/cypress/e2e/server-middleware.cy.ts +0 -46
- package/e2e/cypress/e2e/session-rotation.cy.ts +0 -25
- package/e2e/cypress/e2e/session.cy.ts +0 -73
- package/e2e/cypress/e2e/ssr-render-error.cy.ts +0 -68
- package/e2e/cypress/e2e/synthetic-404.cy.ts +0 -45
- package/e2e/cypress/e2e/use-page-data.cy.ts +0 -122
- package/e2e/cypress/e2e/use-state.cy.ts +0 -138
- package/e2e/cypress/support/commands.ts +0 -120
- package/e2e/cypress/support/e2e.ts +0 -10
- package/e2e/cypress/tsconfig.json +0 -14
- package/e2e/kitchen-sink/app/components/ks-badge.ts +0 -8
- package/e2e/kitchen-sink/app/composables/useKsCounter.ts +0 -9
- package/e2e/kitchen-sink/app/error.ts +0 -18
- package/e2e/kitchen-sink/app/layouts/admin.ts +0 -13
- package/e2e/kitchen-sink/app/layouts/default.ts +0 -25
- package/e2e/kitchen-sink/app/layouts/group.ts +0 -9
- package/e2e/kitchen-sink/app/layouts/minimal.ts +0 -7
- package/e2e/kitchen-sink/app/loading.ts +0 -9
- package/e2e/kitchen-sink/app/middleware/auth.ts +0 -9
- package/e2e/kitchen-sink/app/middleware/custom-log.ts +0 -4
- package/e2e/kitchen-sink/app/middleware/group-auth.ts +0 -7
- package/e2e/kitchen-sink/app/middleware/logger.ts +0 -14
- package/e2e/kitchen-sink/app/pages/(auth)/login.ts +0 -13
- package/e2e/kitchen-sink/app/pages/(auth)/protected.ts +0 -16
- package/e2e/kitchen-sink/app/pages/404.ts +0 -9
- package/e2e/kitchen-sink/app/pages/about.ts +0 -17
- package/e2e/kitchen-sink/app/pages/admin/_layout.ts +0 -1
- package/e2e/kitchen-sink/app/pages/admin/dashboard.ts +0 -11
- package/e2e/kitchen-sink/app/pages/async-component-error-test.ts +0 -18
- package/e2e/kitchen-sink/app/pages/async-component-test.ts +0 -18
- package/e2e/kitchen-sink/app/pages/blog/[slug].ts +0 -59
- package/e2e/kitchen-sink/app/pages/blog/index.ts +0 -51
- package/e2e/kitchen-sink/app/pages/content-blog.ts +0 -37
- package/e2e/kitchen-sink/app/pages/content-doc.ts +0 -42
- package/e2e/kitchen-sink/app/pages/content-fallback.ts +0 -36
- package/e2e/kitchen-sink/app/pages/content-guides.ts +0 -35
- package/e2e/kitchen-sink/app/pages/content-index.ts +0 -39
- package/e2e/kitchen-sink/app/pages/content-search.ts +0 -36
- package/e2e/kitchen-sink/app/pages/cookie-test.ts +0 -22
- package/e2e/kitchen-sink/app/pages/counter.ts +0 -17
- package/e2e/kitchen-sink/app/pages/group-auth-blocked.ts +0 -9
- package/e2e/kitchen-sink/app/pages/group-meta-test/_layout.ts +0 -6
- package/e2e/kitchen-sink/app/pages/group-meta-test/custom-mw.ts +0 -14
- package/e2e/kitchen-sink/app/pages/group-meta-test/page.ts +0 -9
- package/e2e/kitchen-sink/app/pages/group-meta-test/protected.ts +0 -8
- package/e2e/kitchen-sink/app/pages/head.ts +0 -20
- package/e2e/kitchen-sink/app/pages/i18n-test.ts +0 -14
- package/e2e/kitchen-sink/app/pages/index.ts +0 -27
- package/e2e/kitchen-sink/app/pages/isr-test.ts +0 -17
- package/e2e/kitchen-sink/app/pages/items/[id].ts +0 -20
- package/e2e/kitchen-sink/app/pages/jit-css-custom-colors-test.ts +0 -14
- package/e2e/kitchen-sink/app/pages/loader-error-test.ts +0 -13
- package/e2e/kitchen-sink/app/pages/loader-props-test.ts +0 -19
- package/e2e/kitchen-sink/app/pages/loader-response-error-test.ts +0 -13
- package/e2e/kitchen-sink/app/pages/middleware-chain-test.ts +0 -12
- package/e2e/kitchen-sink/app/pages/middleware-status-test.ts +0 -9
- package/e2e/kitchen-sink/app/pages/navigate-test.ts +0 -16
- package/e2e/kitchen-sink/app/pages/observability-test.ts +0 -25
- package/e2e/kitchen-sink/app/pages/per-route-error-test.error.ts +0 -13
- package/e2e/kitchen-sink/app/pages/per-route-error-test.ts +0 -15
- package/e2e/kitchen-sink/app/pages/plugin-dsd-test.ts +0 -10
- package/e2e/kitchen-sink/app/pages/render-error-test.ts +0 -12
- package/e2e/kitchen-sink/app/pages/render-server-test.ts +0 -12
- package/e2e/kitchen-sink/app/pages/render-spa-test.ts +0 -12
- package/e2e/kitchen-sink/app/pages/route-info.ts +0 -14
- package/e2e/kitchen-sink/app/pages/seo-test.ts +0 -23
- package/e2e/kitchen-sink/app/pages/session-rotation-test.ts +0 -25
- package/e2e/kitchen-sink/app/pages/use-state-test.ts +0 -37
- package/e2e/kitchen-sink/app/plugins/01.setup.ts +0 -7
- package/e2e/kitchen-sink/app/plugins/02.ks-plugin-components.ts +0 -27
- package/e2e/kitchen-sink/cer-auto-imports.d.ts +0 -51
- package/e2e/kitchen-sink/cer-env.d.ts +0 -35
- package/e2e/kitchen-sink/cer-tsconfig.json +0 -30
- package/e2e/kitchen-sink/cer.config.ts +0 -43
- package/e2e/kitchen-sink/content/01.guides/01.index.md +0 -8
- package/e2e/kitchen-sink/content/01.guides/02.intro.md +0 -8
- package/e2e/kitchen-sink/content/01.guides/10.advanced.md +0 -8
- package/e2e/kitchen-sink/content/blog/2026-04-01-hello.md +0 -26
- package/e2e/kitchen-sink/content/blog/2026-04-02-draft.md +0 -10
- package/e2e/kitchen-sink/content/blog/index.md +0 -8
- package/e2e/kitchen-sink/content/blog/no-frontmatter.md +0 -7
- package/e2e/kitchen-sink/content/docs/getting-started.md +0 -48
- package/e2e/kitchen-sink/content/index.md +0 -16
- package/e2e/kitchen-sink/server/api/echo.ts +0 -12
- package/e2e/kitchen-sink/server/api/health.ts +0 -3
- package/e2e/kitchen-sink/server/api/posts/[slug].ts +0 -11
- package/e2e/kitchen-sink/server/api/posts/index.ts +0 -5
- package/e2e/kitchen-sink/server/api/session.ts +0 -23
- package/e2e/kitchen-sink/server/data/posts.ts +0 -21
- package/e2e/kitchen-sink/server/middleware/01-headers.ts +0 -6
- package/e2e/kitchen-sink/server/middleware/02-status-test.ts +0 -10
- package/e2e/kitchen-sink/tsconfig.json +0 -3
- package/e2e/scripts/clean.mjs +0 -14
- package/eslint.config.ts +0 -22
- package/src/__tests__/cli/adapters/cloudflare-worker.integration.test.ts +0 -132
- package/src/__tests__/cli/adapters/cloudflare.test.ts +0 -332
- package/src/__tests__/cli/adapters/netlify-bridge.integration.test.ts +0 -139
- package/src/__tests__/cli/adapters/netlify.test.ts +0 -286
- package/src/__tests__/cli/adapters/vercel-launcher.integration.test.ts +0 -129
- package/src/__tests__/cli/adapters/vercel.test.ts +0 -263
- package/src/__tests__/cli/preview-hardening.test.ts +0 -265
- package/src/__tests__/cli/preview-isr.test.ts +0 -320
- package/src/__tests__/index.test.ts +0 -21
- package/src/__tests__/plugin/app-template.test.ts +0 -166
- package/src/__tests__/plugin/build-ssg-render.test.ts +0 -155
- package/src/__tests__/plugin/build-ssg.test.ts +0 -598
- package/src/__tests__/plugin/build-ssr.test.ts +0 -192
- package/src/__tests__/plugin/cer-app-plugin.test.ts +0 -552
- package/src/__tests__/plugin/content/emitter.test.ts +0 -117
- package/src/__tests__/plugin/content/loader.test.ts +0 -154
- package/src/__tests__/plugin/content/parser.test.ts +0 -381
- package/src/__tests__/plugin/content/path-utils.test.ts +0 -69
- package/src/__tests__/plugin/content/search.test.ts +0 -119
- package/src/__tests__/plugin/dev-server.test.ts +0 -813
- package/src/__tests__/plugin/dts-generator.test.ts +0 -394
- package/src/__tests__/plugin/entry-server-template.test.ts +0 -385
- package/src/__tests__/plugin/generated-dir.test.ts +0 -144
- package/src/__tests__/plugin/html-post-process.test.ts +0 -146
- package/src/__tests__/plugin/path-utils.test.ts +0 -411
- package/src/__tests__/plugin/resolve-config.test.ts +0 -233
- package/src/__tests__/plugin/scanner.test.ts +0 -186
- package/src/__tests__/plugin/transforms/auto-import.test.ts +0 -510
- package/src/__tests__/plugin/transforms/head-inject.test.ts +0 -178
- package/src/__tests__/plugin/virtual/composables.test.ts +0 -57
- package/src/__tests__/plugin/virtual/content-components.test.ts +0 -66
- package/src/__tests__/plugin/virtual/error.test.ts +0 -71
- package/src/__tests__/plugin/virtual/layouts.test.ts +0 -70
- package/src/__tests__/plugin/virtual/loading.test.ts +0 -72
- package/src/__tests__/plugin/virtual/middleware.test.ts +0 -83
- package/src/__tests__/plugin/virtual/plugins.test.ts +0 -129
- package/src/__tests__/plugin/virtual/routes.test.ts +0 -884
- package/src/__tests__/plugin/virtual/server-api.test.ts +0 -164
- package/src/__tests__/plugin/virtual/server-middleware.test.ts +0 -102
- package/src/__tests__/runtime/app-template.test.ts +0 -208
- package/src/__tests__/runtime/define-middleware.test.ts +0 -64
- package/src/__tests__/runtime/define-server-middleware.test.ts +0 -54
- package/src/__tests__/runtime/entry-client-template.test.ts +0 -61
- package/src/__tests__/runtime/isr-handler.test.ts +0 -338
- package/src/__tests__/runtime/oauth/handler.test.ts +0 -358
- package/src/__tests__/runtime/oauth/providers.test.ts +0 -47
- package/src/__tests__/runtime/oauth-index.test.ts +0 -43
- package/src/__tests__/runtime/use-auth.test.ts +0 -169
- package/src/__tests__/runtime/use-content-search-composable.test.ts +0 -405
- package/src/__tests__/runtime/use-content-search.test.ts +0 -163
- package/src/__tests__/runtime/use-content.test.ts +0 -226
- package/src/__tests__/runtime/use-cookie.test.ts +0 -277
- package/src/__tests__/runtime/use-fetch-component.test.ts +0 -214
- package/src/__tests__/runtime/use-fetch.test.ts +0 -377
- package/src/__tests__/runtime/use-head.test.ts +0 -311
- package/src/__tests__/runtime/use-inject-client.test.ts +0 -67
- package/src/__tests__/runtime/use-inject.test.ts +0 -66
- package/src/__tests__/runtime/use-locale.test.ts +0 -152
- package/src/__tests__/runtime/use-navigate.test.ts +0 -121
- package/src/__tests__/runtime/use-page-data.test.ts +0 -298
- package/src/__tests__/runtime/use-route.test.ts +0 -156
- package/src/__tests__/runtime/use-runtime-config.test.ts +0 -182
- package/src/__tests__/runtime/use-seo-meta.test.ts +0 -109
- package/src/__tests__/runtime/use-session.test.ts +0 -320
- package/src/__tests__/runtime/use-state.test.ts +0 -340
- package/src/__tests__/types/config.test.ts +0 -18
- package/src/cli/adapters/cloudflare.ts +0 -335
- package/src/cli/adapters/netlify.ts +0 -326
- package/src/cli/adapters/vercel.ts +0 -311
- package/src/cli/commands/adapt.ts +0 -84
- package/src/cli/commands/build.ts +0 -165
- package/src/cli/commands/dev.ts +0 -125
- package/src/cli/commands/generate.ts +0 -91
- package/src/cli/commands/preview-isr.ts +0 -172
- package/src/cli/commands/preview.ts +0 -523
- package/src/cli/create/index.ts +0 -275
- package/src/cli/create/templates/shared/.gitignore.tpl +0 -25
- package/src/cli/create/templates/shared/app/layouts/default.ts.tpl +0 -15
- package/src/cli/create/templates/shared/app/pages/index.ts.tpl +0 -8
- package/src/cli/create/templates/shared/index.html.tpl +0 -12
- package/src/cli/create/templates/shared/tsconfig.json.tpl +0 -6
- package/src/cli/create/templates/spa/cer.config.ts.tpl +0 -6
- package/src/cli/create/templates/spa/package.json.tpl +0 -18
- package/src/cli/create/templates/ssg/cer.config.ts.tpl +0 -10
- package/src/cli/create/templates/ssg/package.json.tpl +0 -19
- package/src/cli/create/templates/ssr/cer.config.ts.tpl +0 -6
- package/src/cli/create/templates/ssr/package.json.tpl +0 -18
- package/src/cli/index.ts +0 -22
- package/src/index.ts +0 -20
- package/src/plugin/build-ssg.ts +0 -403
- package/src/plugin/build-ssr.ts +0 -134
- package/src/plugin/content/emitter.ts +0 -50
- package/src/plugin/content/index.ts +0 -233
- package/src/plugin/content/parser.ts +0 -259
- package/src/plugin/content/path-utils.ts +0 -55
- package/src/plugin/content/scanner.ts +0 -26
- package/src/plugin/content/search.ts +0 -28
- package/src/plugin/dev-server.ts +0 -379
- package/src/plugin/dts-generator.ts +0 -273
- package/src/plugin/generated-dir.ts +0 -121
- package/src/plugin/html-post-process.ts +0 -96
- package/src/plugin/index.ts +0 -584
- package/src/plugin/path-utils.ts +0 -186
- package/src/plugin/scanner.ts +0 -65
- package/src/plugin/transforms/auto-import.ts +0 -206
- package/src/plugin/transforms/head-inject.ts +0 -161
- package/src/plugin/virtual/composables.ts +0 -28
- package/src/plugin/virtual/content-components.ts +0 -83
- package/src/plugin/virtual/error.ts +0 -34
- package/src/plugin/virtual/layouts.ts +0 -41
- package/src/plugin/virtual/loading.ts +0 -32
- package/src/plugin/virtual/middleware.ts +0 -45
- package/src/plugin/virtual/plugins.ts +0 -46
- package/src/plugin/virtual/routes.ts +0 -514
- package/src/plugin/virtual/server-api.ts +0 -85
- package/src/plugin/virtual/server-middleware.ts +0 -44
- package/src/runtime/app-template.ts +0 -377
- package/src/runtime/composables/define-middleware.ts +0 -17
- package/src/runtime/composables/define-server-middleware.ts +0 -18
- package/src/runtime/composables/index.ts +0 -27
- package/src/runtime/composables/use-auth.ts +0 -125
- package/src/runtime/composables/use-content-search.ts +0 -205
- package/src/runtime/composables/use-content.ts +0 -146
- package/src/runtime/composables/use-cookie.ts +0 -135
- package/src/runtime/composables/use-fetch.ts +0 -438
- package/src/runtime/composables/use-head.ts +0 -234
- package/src/runtime/composables/use-inject.ts +0 -49
- package/src/runtime/composables/use-locale.ts +0 -109
- package/src/runtime/composables/use-navigate.ts +0 -58
- package/src/runtime/composables/use-page-data.ts +0 -93
- package/src/runtime/composables/use-route.ts +0 -71
- package/src/runtime/composables/use-runtime-config.ts +0 -123
- package/src/runtime/composables/use-seo-meta.ts +0 -80
- package/src/runtime/composables/use-session.ts +0 -186
- package/src/runtime/composables/use-state.ts +0 -92
- package/src/runtime/content/client.ts +0 -168
- package/src/runtime/entry-client-template.ts +0 -39
- package/src/runtime/entry-server-template.ts +0 -493
- package/src/runtime/isr-handler.ts +0 -184
- package/src/runtime/oauth/handler.ts +0 -407
- package/src/runtime/oauth/index.ts +0 -49
- package/src/runtime/oauth/providers.ts +0 -38
- package/src/types/api.ts +0 -40
- package/src/types/config.ts +0 -379
- package/src/types/content.ts +0 -66
- package/src/types/index.ts +0 -7
- package/src/types/middleware.ts +0 -63
- package/src/types/page.ts +0 -117
- package/src/types/plugin.ts +0 -34
- package/tsconfig.build.json +0 -10
- package/tsconfig.json +0 -19
- package/vitest.config.ts +0 -33
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { extractComponentRegistrations, extractTemplateTagNames } from '@jasonshimmy/custom-elements-runtime/vite-plugin'
|
|
2
|
-
import { existsSync, readFileSync } from 'node:fs'
|
|
3
|
-
import { parseContentFileAsync } from '../content/parser.js'
|
|
4
|
-
import { scanContentFiles } from '../content/scanner.js'
|
|
5
|
-
import { scanDirectory } from '../scanner.js'
|
|
6
|
-
|
|
7
|
-
function emptyModule(): string {
|
|
8
|
-
return `// AUTO-GENERATED by @jasonshimmy/vite-plugin-cer-app\nexport {}\n`
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
async function buildComponentManifest(componentsDir: string): Promise<Map<string, string>> {
|
|
12
|
-
const manifest = new Map<string, string>()
|
|
13
|
-
if (!existsSync(componentsDir)) return manifest
|
|
14
|
-
|
|
15
|
-
const files = await scanDirectory('**/*.ts', componentsDir)
|
|
16
|
-
for (const file of files) {
|
|
17
|
-
try {
|
|
18
|
-
const source = readFileSync(file, 'utf-8')
|
|
19
|
-
for (const tag of extractComponentRegistrations(source)) {
|
|
20
|
-
manifest.set(tag, file)
|
|
21
|
-
}
|
|
22
|
-
} catch {
|
|
23
|
-
// Skip unreadable files.
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return manifest
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
async function collectMarkdownTags(contentDir: string): Promise<Set<string>> {
|
|
31
|
-
const tags = new Set<string>()
|
|
32
|
-
if (!existsSync(contentDir)) return tags
|
|
33
|
-
|
|
34
|
-
const files = await scanContentFiles(contentDir)
|
|
35
|
-
const markdownFiles = files.filter((file) => file.ext === 'md')
|
|
36
|
-
|
|
37
|
-
await Promise.all(
|
|
38
|
-
markdownFiles.map(async (file) => {
|
|
39
|
-
try {
|
|
40
|
-
const item = await parseContentFileAsync(file, contentDir)
|
|
41
|
-
for (const tag of extractTemplateTagNames(item.body)) {
|
|
42
|
-
tags.add(tag)
|
|
43
|
-
}
|
|
44
|
-
} catch (err) {
|
|
45
|
-
console.warn(
|
|
46
|
-
`[cer-app] Skipping content file (parse error): ${file.filePath}\n ${(err as Error).message}`,
|
|
47
|
-
)
|
|
48
|
-
}
|
|
49
|
-
}),
|
|
50
|
-
)
|
|
51
|
-
|
|
52
|
-
return tags
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Generates a side-effect virtual module that registers app components used
|
|
57
|
-
* inside rendered markdown bodies.
|
|
58
|
-
*/
|
|
59
|
-
export async function generateContentComponentsCode(
|
|
60
|
-
componentsDir: string,
|
|
61
|
-
contentDir: string,
|
|
62
|
-
): Promise<string> {
|
|
63
|
-
const [manifest, markdownTags] = await Promise.all([
|
|
64
|
-
buildComponentManifest(componentsDir),
|
|
65
|
-
collectMarkdownTags(contentDir),
|
|
66
|
-
])
|
|
67
|
-
|
|
68
|
-
const imports = [...markdownTags]
|
|
69
|
-
.sort()
|
|
70
|
-
.map((tag) => manifest.get(tag))
|
|
71
|
-
.filter((file): file is string => typeof file === 'string')
|
|
72
|
-
|
|
73
|
-
if (imports.length === 0) return emptyModule()
|
|
74
|
-
|
|
75
|
-
const lines = ['// AUTO-GENERATED by @jasonshimmy/vite-plugin-cer-app', '']
|
|
76
|
-
for (const file of imports) {
|
|
77
|
-
lines.push(`import ${JSON.stringify(file)}`)
|
|
78
|
-
}
|
|
79
|
-
lines.push('')
|
|
80
|
-
lines.push('export {}')
|
|
81
|
-
lines.push('')
|
|
82
|
-
return lines.join('\n')
|
|
83
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { existsSync } from 'node:fs'
|
|
2
|
-
import { join } from 'pathe'
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Generates the virtual:cer-error module code.
|
|
6
|
-
*
|
|
7
|
-
* If app/error.ts exists the module exports:
|
|
8
|
-
* hasError = true
|
|
9
|
-
* errorTag = 'page-error'
|
|
10
|
-
*
|
|
11
|
-
* The page-error component receives an `error` attribute (stringified message)
|
|
12
|
-
* and a `reset` attribute (set to "true" to signal the reset handler).
|
|
13
|
-
* The bootstrap wires `resetError()` as a global so the component can call it.
|
|
14
|
-
*/
|
|
15
|
-
export async function generateErrorCode(srcDir: string): Promise<string> {
|
|
16
|
-
const errorFile = join(srcDir, 'error.ts')
|
|
17
|
-
|
|
18
|
-
if (!existsSync(errorFile)) {
|
|
19
|
-
return [
|
|
20
|
-
'// AUTO-GENERATED by @jasonshimmy/vite-plugin-cer-app',
|
|
21
|
-
'export const hasError = false',
|
|
22
|
-
'export const errorTag = null',
|
|
23
|
-
'',
|
|
24
|
-
].join('\n')
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
return [
|
|
28
|
-
'// AUTO-GENERATED by @jasonshimmy/vite-plugin-cer-app',
|
|
29
|
-
`import ${JSON.stringify(errorFile)}`,
|
|
30
|
-
'export const hasError = true',
|
|
31
|
-
"export const errorTag = 'page-error'",
|
|
32
|
-
'',
|
|
33
|
-
].join('\n')
|
|
34
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { existsSync } from 'node:fs'
|
|
2
|
-
import { scanDirectory } from '../scanner.js'
|
|
3
|
-
import { fileToLayoutName, fileToLayoutTagName } from '../path-utils.js'
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Generates the virtual:cer-layouts module code.
|
|
7
|
-
* Scans app/layouts/ and produces a layouts map.
|
|
8
|
-
*/
|
|
9
|
-
export async function generateLayoutsCode(layoutsDir: string): Promise<string> {
|
|
10
|
-
if (!existsSync(layoutsDir)) {
|
|
11
|
-
return `// AUTO-GENERATED by @jasonshimmy/vite-plugin-cer-app\nexport const layouts = {}\nexport default layouts\n`
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
const files = await scanDirectory('**/*.ts', layoutsDir)
|
|
15
|
-
|
|
16
|
-
if (files.length === 0) {
|
|
17
|
-
return `// AUTO-GENERATED by @jasonshimmy/vite-plugin-cer-app\nexport const layouts = {}\nexport default layouts\n`
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const lines: string[] = ['// AUTO-GENERATED by @jasonshimmy/vite-plugin-cer-app', '']
|
|
21
|
-
|
|
22
|
-
// Side-effect imports to register the layout custom elements
|
|
23
|
-
for (const file of files) {
|
|
24
|
-
lines.push(`import ${JSON.stringify(file)}`)
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
lines.push('')
|
|
28
|
-
lines.push('export const layouts = {')
|
|
29
|
-
|
|
30
|
-
for (const file of files) {
|
|
31
|
-
const name = fileToLayoutName(file, layoutsDir)
|
|
32
|
-
const tagName = fileToLayoutTagName(file, layoutsDir)
|
|
33
|
-
lines.push(` ${JSON.stringify(name)}: ${JSON.stringify(tagName)},`)
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
lines.push('}')
|
|
37
|
-
lines.push('export default layouts')
|
|
38
|
-
lines.push('')
|
|
39
|
-
|
|
40
|
-
return lines.join('\n')
|
|
41
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { existsSync } from 'node:fs'
|
|
2
|
-
import { join } from 'pathe'
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Generates the virtual:cer-loading module code.
|
|
6
|
-
*
|
|
7
|
-
* If app/loading.ts exists the module exports:
|
|
8
|
-
* hasLoading = true
|
|
9
|
-
* loadingTag = 'page-loading'
|
|
10
|
-
*
|
|
11
|
-
* Otherwise both are falsy so the bootstrap skips the loading indicator.
|
|
12
|
-
*/
|
|
13
|
-
export async function generateLoadingCode(srcDir: string): Promise<string> {
|
|
14
|
-
const loadingFile = join(srcDir, 'loading.ts')
|
|
15
|
-
|
|
16
|
-
if (!existsSync(loadingFile)) {
|
|
17
|
-
return [
|
|
18
|
-
'// AUTO-GENERATED by @jasonshimmy/vite-plugin-cer-app',
|
|
19
|
-
'export const hasLoading = false',
|
|
20
|
-
'export const loadingTag = null',
|
|
21
|
-
'',
|
|
22
|
-
].join('\n')
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return [
|
|
26
|
-
'// AUTO-GENERATED by @jasonshimmy/vite-plugin-cer-app',
|
|
27
|
-
`import ${JSON.stringify(loadingFile)}`,
|
|
28
|
-
'export const hasLoading = true',
|
|
29
|
-
"export const loadingTag = 'page-loading'",
|
|
30
|
-
'',
|
|
31
|
-
].join('\n')
|
|
32
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { existsSync } from 'node:fs'
|
|
2
|
-
import { basename } from 'pathe'
|
|
3
|
-
import { scanDirectory } from '../scanner.js'
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Generates the virtual:cer-middleware module code.
|
|
7
|
-
* Scans app/middleware/ and produces a named map of middleware functions.
|
|
8
|
-
*/
|
|
9
|
-
export async function generateMiddlewareCode(middlewareDir: string): Promise<string> {
|
|
10
|
-
if (!existsSync(middlewareDir)) {
|
|
11
|
-
return `// AUTO-GENERATED by @jasonshimmy/vite-plugin-cer-app\nexport const middleware = {}\nexport default middleware\n`
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
const files = await scanDirectory('**/*.ts', middlewareDir)
|
|
15
|
-
|
|
16
|
-
if (files.length === 0) {
|
|
17
|
-
return `// AUTO-GENERATED by @jasonshimmy/vite-plugin-cer-app\nexport const middleware = {}\nexport default middleware\n`
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const lines: string[] = ['// AUTO-GENERATED by @jasonshimmy/vite-plugin-cer-app', '']
|
|
21
|
-
|
|
22
|
-
const entries: Array<{ alias: string; name: string }> = []
|
|
23
|
-
|
|
24
|
-
for (const file of files) {
|
|
25
|
-
// Key is the filename without extension
|
|
26
|
-
const name = basename(file).replace(/\.[jt]s$/, '')
|
|
27
|
-
// Create a safe JS identifier
|
|
28
|
-
const alias = `_m_${name.replace(/[^a-zA-Z0-9_]/g, '_').replace(/^(\d)/, '_$1')}`
|
|
29
|
-
entries.push({ alias, name })
|
|
30
|
-
lines.push(`import ${alias} from ${JSON.stringify(file)}`)
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
lines.push('')
|
|
34
|
-
lines.push('export const middleware = {')
|
|
35
|
-
|
|
36
|
-
for (const { alias, name } of entries) {
|
|
37
|
-
lines.push(` ${JSON.stringify(name)}: ${alias},`)
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
lines.push('}')
|
|
41
|
-
lines.push('export default middleware')
|
|
42
|
-
lines.push('')
|
|
43
|
-
|
|
44
|
-
return lines.join('\n')
|
|
45
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { existsSync } from 'node:fs'
|
|
2
|
-
import { scanDirectory } from '../scanner.js'
|
|
3
|
-
import { sortPluginFiles } from '../path-utils.js'
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Generates the virtual:cer-plugins module code.
|
|
7
|
-
* Scans app/plugins/ and produces an ordered array of plugin imports.
|
|
8
|
-
*
|
|
9
|
-
* @param pluginsDir - Absolute path to app/plugins/
|
|
10
|
-
* @param serverSafeOnly - When true, excludes files ending in `.client.ts`.
|
|
11
|
-
* These are client-only plugins (CSS injections, browser component libraries,
|
|
12
|
-
* etc.) that must not be imported in the SSR server entry. Naming convention:
|
|
13
|
-
* `app/plugins/my-plugin.client.ts` → excluded from the server bundle.
|
|
14
|
-
*/
|
|
15
|
-
export async function generatePluginsCode(pluginsDir: string, serverSafeOnly = false): Promise<string> {
|
|
16
|
-
if (!existsSync(pluginsDir)) {
|
|
17
|
-
return `// AUTO-GENERATED by @jasonshimmy/vite-plugin-cer-app\nexport const plugins = []\nexport default plugins\n`
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const files = await scanDirectory('**/*.ts', pluginsDir)
|
|
21
|
-
|
|
22
|
-
if (files.length === 0) {
|
|
23
|
-
return `// AUTO-GENERATED by @jasonshimmy/vite-plugin-cer-app\nexport const plugins = []\nexport default plugins\n`
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const sorted = sortPluginFiles(files)
|
|
27
|
-
// In server-safe mode, exclude `.client.ts` plugins — they are browser-only
|
|
28
|
-
// (CSS imports, client component libraries, etc.) and must not be loaded
|
|
29
|
-
// server-side. Rename the file to `*.client.ts` to mark it as client-only.
|
|
30
|
-
const filtered = serverSafeOnly ? sorted.filter(f => !f.endsWith('.client.ts')) : sorted
|
|
31
|
-
const lines: string[] = ['// AUTO-GENERATED by @jasonshimmy/vite-plugin-cer-app', '']
|
|
32
|
-
|
|
33
|
-
const aliases: string[] = []
|
|
34
|
-
filtered.forEach((file, i) => {
|
|
35
|
-
const alias = `_p${i}`
|
|
36
|
-
aliases.push(alias)
|
|
37
|
-
lines.push(`import ${alias} from ${JSON.stringify(file)}`)
|
|
38
|
-
})
|
|
39
|
-
|
|
40
|
-
lines.push('')
|
|
41
|
-
lines.push(`export const plugins = [${aliases.join(', ')}]`)
|
|
42
|
-
lines.push('export default plugins')
|
|
43
|
-
lines.push('')
|
|
44
|
-
|
|
45
|
-
return lines.join('\n')
|
|
46
|
-
}
|