vitrify 0.13.2 → 0.14.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/bin/cli.js CHANGED
@@ -80,7 +80,7 @@ cli
80
80
  prerender({
81
81
  outDir: fileURLToPath(new URL('static/', baseOutDir)),
82
82
  templatePath: fileURLToPath(new URL('static/index.html', baseOutDir)),
83
- manifestPath: fileURLToPath(new URL('static/ssr-manifest.json', baseOutDir)),
83
+ manifestPath: fileURLToPath(new URL('static/.vite/ssr-manifest.json', baseOutDir)),
84
84
  entryServerPath: new URL('ssr/server/entry-server.mjs', baseOutDir),
85
85
  onRendered
86
86
  });
package/dist/bin/dev.js CHANGED
@@ -52,7 +52,7 @@ ssr, framework = 'vue', host, appDir, publicDir, base }) {
52
52
  // middlewareMode: mode === 'ssr' ? 'ssr' : undefined,
53
53
  middlewareMode: ssr ? true : false,
54
54
  fs: {
55
- strict: false,
55
+ strict: false, // https://github.com/vitejs/vite/issues/8175
56
56
  allow: [
57
57
  searchForWorkspaceRoot(process.cwd()),
58
58
  searchForWorkspaceRoot(fileURLToPath(appDir)),
@@ -138,7 +138,7 @@ ssr, framework = 'vue', host, appDir, publicDir, vite }) {
138
138
  if (vite && app) {
139
139
  await app.ready();
140
140
  await app.close();
141
- ({ app, server } = await createServer({
141
+ ({ app, server, vite } = await createServer({
142
142
  ssr: 'fastify',
143
143
  host: host,
144
144
  appDir,
@@ -113,7 +113,7 @@ const fastifySsrPlugin = async (fastify, options, done) => {
113
113
  provide
114
114
  };
115
115
  const template = readFileSync(fileURLToPath(new URL('./dist/ssr/client/index.html', options.appDir))).toString();
116
- const manifest = JSON.parse(readFileSync(new URL('./dist/ssr/client/ssr-manifest.json', options.appDir)).toString());
116
+ const manifest = JSON.parse(readFileSync(new URL('./dist/ssr/client/.vite/ssr-manifest.json', options.appDir)).toString());
117
117
  const render = (await import(fileURLToPath(new URL('./dist/ssr/server/entry-server.mjs', options.appDir)))).render;
118
118
  const [appHtml, preloadLinks] = await render(url, manifest, ssrContext);
119
119
  if (!ssrContext.initialState)
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import vuePlugin from '@vitejs/plugin-vue';
2
- import { resolvePackageData } from 'vite';
2
+ import { findDepPkgJsonPath } from 'vitefu';
3
3
  import { mergeConfig } from 'vite';
4
4
  import { build } from 'esbuild';
5
5
  import fs from 'fs';
@@ -190,9 +190,9 @@ export const baseConfig = async ({ ssr, appDir, publicDir, base = '/', command =
190
190
  const packageUrls = vitrifyConfig.vitrify?.urls?.packages || {};
191
191
  await (async () => {
192
192
  for (const val of localPackages) {
193
- const pkg = resolvePackageData(val, fileURLToPath(appDir));
194
- if (pkg)
195
- packageUrls[val] = new URL(`file://${pkg.dir}/`);
193
+ const pkgDir = await findDepPkgJsonPath(val, fileURLToPath(appDir));
194
+ if (pkgDir)
195
+ packageUrls[val] = new URL(`file://${pkgDir}`);
196
196
  }
197
197
  })();
198
198
  // await (async () => {
@@ -384,8 +384,8 @@ export const baseConfig = async ({ ssr, appDir, publicDir, base = '/', command =
384
384
  name: 'html-transform',
385
385
  enforce: 'pre',
386
386
  transformIndexHtml: {
387
- enforce: 'pre',
388
- transform: (html) => {
387
+ order: 'pre',
388
+ handler: (html) => {
389
389
  let entry;
390
390
  switch (ssr) {
391
391
  case 'ssg':
@@ -1,5 +1,5 @@
1
- import { resolvePackageData } from 'vite';
2
1
  import { fileURLToPath } from 'url';
2
+ import { findDepPkgJsonPath } from 'vitefu';
3
3
  export const injectSsrContext = (html, ssrContext) => html
4
4
  .replace(/(<html[^>]*)(>)/i, (found, start, end) => {
5
5
  let matches;
@@ -52,9 +52,9 @@ export const QuasarPlugin = async ({ ssr = false, pwa = false }) => {
52
52
  // const localPackages: string[] = []
53
53
  await (async () => {
54
54
  for (const val of localPackages) {
55
- const pkg = resolvePackageData(val, fileURLToPath(config.vitrify.urls.app));
56
- if (pkg)
57
- urls.packages[val] = new URL(`file://${pkg.dir}/`);
55
+ const pkgDir = await findDepPkgJsonPath(val, fileURLToPath(config.vitrify.urls.app));
56
+ if (pkgDir)
57
+ urls.packages[val] = new URL(`file://${pkgDir}`);
58
58
  }
59
59
  })();
60
60
  const onMountedHooks = [
@@ -47,8 +47,8 @@ export declare function createServer({ port, logLevel, ssr, framework, host, app
47
47
  resolve: Required<import("vite").ResolveOptions> & {
48
48
  alias: import("vite").Alias[];
49
49
  };
50
- plugins: readonly import("vite").Plugin[];
51
- css: import("vite").ResolvedCSSOptions | undefined;
50
+ plugins: readonly import("vite").Plugin<any>[];
51
+ css: import("vite").ResolvedCSSOptions;
52
52
  esbuild: false | import("vite").ESBuildOptions;
53
53
  server: import("vite").ResolvedServerOptions;
54
54
  build: import("vite").ResolvedBuildOptions;
@@ -58,7 +58,7 @@ export declare function createServer({ port, logLevel, ssr, framework, host, app
58
58
  logger: import("vite").Logger;
59
59
  createResolver: (options?: Partial<import("vite").InternalResolveOptions> | undefined) => import("vite").ResolveFn;
60
60
  optimizeDeps: import("vite").DepOptimizationOptions;
61
- worker: import("vite").ResolveWorkerOptions;
61
+ worker: import("vite").ResolvedWorkerOptions;
62
62
  appType: import("vite").AppType;
63
63
  experimental: import("vite").ExperimentalOptions;
64
64
  } & import("vite").PluginHookUtils>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vitrify",
3
- "version": "0.13.2",
3
+ "version": "0.14.0",
4
4
  "license": "MIT",
5
5
  "author": "Stefan van Herwijnen",
6
6
  "description": "Vite as your Full Stack development tool",
@@ -48,45 +48,46 @@
48
48
  "test": "vitest test/"
49
49
  },
50
50
  "dependencies": {
51
- "@fastify/middie": "^8.2.0",
52
- "@fastify/static": "^6.10.1",
53
- "@quasar/extras": "^1.16.3",
54
- "@vitejs/plugin-vue": "^4.2.1",
51
+ "@fastify/middie": "^8.3.0",
52
+ "@fastify/static": "^6.12.0",
53
+ "@quasar/extras": "^1.16.8",
54
+ "@vitejs/plugin-vue": "^4.5.0",
55
55
  "ajv": "^8.12.0",
56
56
  "builtin-modules": "^3.3.0",
57
57
  "cac": "^6.7.14",
58
- "chalk": "^5.2.0",
59
- "critters": "^0.0.16",
58
+ "chalk": "^5.3.0",
59
+ "critters": "^0.0.20",
60
60
  "cross-env": "^7.0.3",
61
- "esbuild": "^0.17.18",
62
- "fastify": "^4.17.0",
63
- "glob": "^10.2.2",
64
- "happy-dom": "^9.10.7",
61
+ "esbuild": "^0.19.8",
62
+ "fastify": "^4.24.3",
63
+ "glob": "^10.3.10",
64
+ "happy-dom": "^12.10.3",
65
65
  "is-port-reachable": "^4.0.0",
66
- "magic-string": "^0.30.0",
66
+ "magic-string": "^0.30.5",
67
67
  "merge-deep": "^3.0.3",
68
68
  "readline": "^1.3.0",
69
- "rollup-plugin-visualizer": "^5.9.0",
70
- "sass": "1.62.1",
69
+ "rollup-plugin-visualizer": "^5.9.3",
70
+ "sass": "1.69.5",
71
71
  "ts-node": "^10.9.1",
72
- "unplugin-vue-components": "^0.24.1",
73
- "vite": "^4.3.4",
74
- "vite-plugin-pwa": "^0.16.5",
75
- "vitest": "^0.30.1",
72
+ "unplugin-vue-components": "^0.25.2",
73
+ "vite": "^5.0.2",
74
+ "vite-plugin-pwa": "^0.17.2",
75
+ "vitefu": "^0.2.5",
76
+ "vitest": "^0.34.6",
76
77
  "workbox-window": "^7.0.0"
77
78
  },
78
79
  "devDependencies": {
79
- "@types/connect": "^3.4.35",
80
+ "@types/connect": "^3.4.38",
80
81
  "@types/glob": "^8.1.0",
81
- "@types/merge-deep": "^3.0.0",
82
- "@types/node": "^18.16.3",
83
- "@types/ws": "^8.5.4",
84
- "@vue/runtime-core": "^3.2.47",
85
- "quasar": "^2.11.10",
86
- "rollup": "^3.21.3",
87
- "typescript": "^5.0.4",
88
- "vue": "^3.2.47",
89
- "vue-router": "^4.1.6"
82
+ "@types/merge-deep": "^3.0.3",
83
+ "@types/node": "^20.10.0",
84
+ "@types/ws": "^8.5.10",
85
+ "@vue/runtime-core": "^3.3.9",
86
+ "quasar": "^2.14.0",
87
+ "rollup": "^4.6.0",
88
+ "typescript": "^5.3.2",
89
+ "vue": "^3.3.9",
90
+ "vue-router": "^4.2.5"
90
91
  },
91
92
  "peerDependencies": {
92
93
  "@fastify/static": "^6.5.0",
@@ -96,7 +96,7 @@ cli
96
96
  outDir: fileURLToPath(new URL('static/', baseOutDir)),
97
97
  templatePath: fileURLToPath(new URL('static/index.html', baseOutDir)),
98
98
  manifestPath: fileURLToPath(
99
- new URL('static/ssr-manifest.json', baseOutDir)
99
+ new URL('static/.vite/ssr-manifest.json', baseOutDir)
100
100
  ),
101
101
  entryServerPath: new URL('ssr/server/entry-server.mjs', baseOutDir),
102
102
  onRendered
@@ -205,7 +205,7 @@ export async function createServer({
205
205
  if (vite && app) {
206
206
  await app.ready()
207
207
  await app.close()
208
- ;({ app, server } = await createServer({
208
+ ;({ app, server, vite } = await createServer({
209
209
  ssr: 'fastify',
210
210
  host: host,
211
211
  appDir,
@@ -174,7 +174,7 @@ const fastifySsrPlugin: FastifyPluginCallback<FastifySsrOptions> = async (
174
174
  ).toString()
175
175
  const manifest = JSON.parse(
176
176
  readFileSync(
177
- new URL('./dist/ssr/client/ssr-manifest.json', options.appDir)
177
+ new URL('./dist/ssr/client/.vite/ssr-manifest.json', options.appDir)
178
178
  ).toString()
179
179
  )
180
180
  const render = (
package/src/node/index.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import vuePlugin from '@vitejs/plugin-vue'
2
2
  import type { Alias, InlineConfig, UserConfig } from 'vite'
3
- import { resolvePackageData } from 'vite'
3
+ import { findDepPkgJsonPath } from 'vitefu'
4
4
  import { mergeConfig } from 'vite'
5
5
  import { build } from 'esbuild'
6
6
  import fs from 'fs'
@@ -261,8 +261,8 @@ export const baseConfig = async ({
261
261
  vitrifyConfig.vitrify?.urls?.packages || {}
262
262
  await (async () => {
263
263
  for (const val of localPackages) {
264
- const pkg = resolvePackageData(val, fileURLToPath(appDir))
265
- if (pkg) packageUrls![val] = new URL(`file://${pkg.dir}/`)
264
+ const pkgDir = await findDepPkgJsonPath(val, fileURLToPath(appDir))
265
+ if (pkgDir) packageUrls![val] = new URL(`file://${pkgDir}`)
266
266
  }
267
267
  })()
268
268
 
@@ -475,8 +475,8 @@ export const baseConfig = async ({
475
475
  name: 'html-transform',
476
476
  enforce: 'pre',
477
477
  transformIndexHtml: {
478
- enforce: 'pre',
479
- transform: (html) => {
478
+ order: 'pre',
479
+ handler: (html) => {
480
480
  let entry: string
481
481
  switch (ssr) {
482
482
  case 'ssg':
@@ -1,13 +1,12 @@
1
1
  import type { Plugin } from 'vite'
2
- import { resolvePackageData } from 'vite'
3
2
  import { fileURLToPath } from 'url'
4
- import Components from 'unplugin-vue-components/vite'
5
3
  import type {
6
4
  OnBootHook,
7
5
  OnMountedHook,
8
6
  VitrifyConfig
9
7
  } from '../vitrify-config.js'
10
8
  import type { VitrifyPlugin } from './index.js'
9
+ import { findDepPkgJsonPath } from 'vitefu'
11
10
  export interface QuasarConf {
12
11
  ctx?: Record<string, any>
13
12
  css?: string[]
@@ -114,11 +113,11 @@ export const QuasarPlugin: VitrifyPlugin = async ({
114
113
  // const localPackages: string[] = []
115
114
  await (async () => {
116
115
  for (const val of localPackages) {
117
- const pkg = resolvePackageData(
116
+ const pkgDir = await findDepPkgJsonPath(
118
117
  val,
119
118
  fileURLToPath(config.vitrify!.urls!.app!)
120
119
  )
121
- if (pkg) urls!.packages![val] = new URL(`file://${pkg.dir}/`)
120
+ if (pkgDir) urls!.packages![val] = new URL(`file://${pkgDir}`)
122
121
  }
123
122
  })()
124
123