fix: maybe
This commit is contained in:
4
node_modules/@sveltejs/vite-plugin-svelte/package.json
generated
vendored
4
node_modules/@sveltejs/vite-plugin-svelte/package.json
generated
vendored
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@sveltejs/vite-plugin-svelte",
|
||||
"version": "2.5.2",
|
||||
"version": "2.4.6",
|
||||
"license": "MIT",
|
||||
"author": "dominikg",
|
||||
"files": [
|
||||
@ -43,7 +43,7 @@
|
||||
"vitefu": "^0.2.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"svelte": "^3.54.0 || ^4.0.0 || ^5.0.0-next.0",
|
||||
"svelte": "^3.54.0 || ^4.0.0",
|
||||
"vite": "^4.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
10
node_modules/@sveltejs/vite-plugin-svelte/src/index.d.ts
generated
vendored
10
node_modules/@sveltejs/vite-plugin-svelte/src/index.d.ts
generated
vendored
@ -170,16 +170,6 @@ interface ExperimentalOptions {
|
||||
* @default false
|
||||
*/
|
||||
disableSvelteResolveWarnings?: boolean;
|
||||
/**
|
||||
* Options for compiling Svelte JS/TS modules
|
||||
*/
|
||||
compileModule?: CompileModuleOptions;
|
||||
}
|
||||
|
||||
interface CompileModuleOptions {
|
||||
extensions?: string[];
|
||||
include?: Arrayable<string>;
|
||||
exclude?: Arrayable<string>;
|
||||
}
|
||||
|
||||
type ModuleFormat = NonNullable<'esm'>;
|
||||
|
47
node_modules/@sveltejs/vite-plugin-svelte/src/index.js
generated
vendored
47
node_modules/@sveltejs/vite-plugin-svelte/src/index.js
generated
vendored
@ -1,6 +1,5 @@
|
||||
import fs from 'node:fs';
|
||||
import { version as viteVersion } from 'vite';
|
||||
import * as svelteCompiler from 'svelte/compiler';
|
||||
|
||||
import { svelteInspector } from '@sveltejs/vite-plugin-svelte-inspector';
|
||||
|
||||
@ -8,7 +7,7 @@ import { isDepExcluded } from 'vitefu';
|
||||
import { handleHotUpdate } from './handle-hot-update.js';
|
||||
import { log, logCompilerWarnings } from './utils/log.js';
|
||||
import { createCompileSvelte } from './utils/compile.js';
|
||||
import { buildIdParser, buildModuleIdParser } from './utils/id.js';
|
||||
import { buildIdParser } from './utils/id.js';
|
||||
import {
|
||||
buildExtraViteConfig,
|
||||
validateInlineOptions,
|
||||
@ -25,7 +24,7 @@ import { saveSvelteMetadata } from './utils/optimizer.js';
|
||||
import { VitePluginSvelteCache } from './utils/vite-plugin-svelte-cache.js';
|
||||
import { loadRaw } from './utils/load-raw.js';
|
||||
import { FAQ_LINK_CONFLICTS_IN_SVELTE_RESOLVE } from './utils/constants.js';
|
||||
import { isSvelte3, isSvelte5 } from './utils/svelte-version.js';
|
||||
import { isSvelte3 } from './utils/svelte-version.js';
|
||||
|
||||
const isVite4_0 = viteVersion.startsWith('4.0');
|
||||
|
||||
@ -39,8 +38,6 @@ export function svelte(inlineOptions) {
|
||||
// updated in configResolved hook
|
||||
/** @type {import('./types/id.d.ts').IdParser} */
|
||||
let requestParser;
|
||||
/** @type {import('./types/id.d.ts').ModuleIdParser} */
|
||||
let moduleRequestParser;
|
||||
/** @type {import('./types/options.d.ts').ResolvedOptions} */
|
||||
let options;
|
||||
/** @type {import('vite').ResolvedConfig} */
|
||||
@ -271,45 +268,9 @@ export function svelte(inlineOptions) {
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
svelteInspector()
|
||||
];
|
||||
|
||||
if (!isSvelte5) {
|
||||
plugins.push(svelteInspector()); // TODO reenable once svelte5 has support
|
||||
}
|
||||
if (isSvelte5) {
|
||||
log.warn(
|
||||
'svelte 5 support in v-p-s is experimental, breaking changes can occur in any release until this notice is removed'
|
||||
);
|
||||
log.warn('svelte 5 does not support svelte-inspector yet, disabling it');
|
||||
// TODO move to separate file
|
||||
plugins.push({
|
||||
name: 'vite-plugin-svelte-module',
|
||||
enforce: 'post',
|
||||
async configResolved() {
|
||||
moduleRequestParser = buildModuleIdParser(options);
|
||||
},
|
||||
async transform(code, id, opts) {
|
||||
const ssr = !!opts?.ssr;
|
||||
const moduleRequest = moduleRequestParser(id, ssr);
|
||||
if (!moduleRequest) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
// @ts-ignore doesn't exist in Svelte 4
|
||||
const compileResult = await svelteCompiler.compileModule(code, {
|
||||
generate: ssr ? 'server' : 'client',
|
||||
filename: moduleRequest.filename
|
||||
});
|
||||
logCompilerWarnings(moduleRequest, compileResult.warnings, options);
|
||||
return compileResult.js;
|
||||
} catch (e) {
|
||||
throw toRollupError(e, options);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return plugins;
|
||||
}
|
||||
|
||||
|
15
node_modules/@sveltejs/vite-plugin-svelte/src/types/id.d.ts
generated
vendored
15
node_modules/@sveltejs/vite-plugin-svelte/src/types/id.d.ts
generated
vendored
@ -28,19 +28,4 @@ export interface SvelteRequest {
|
||||
raw: boolean;
|
||||
}
|
||||
|
||||
export interface SvelteModuleRequest {
|
||||
id: string;
|
||||
filename: string;
|
||||
normalizedFilename: string;
|
||||
query: RequestQuery;
|
||||
timestamp: number;
|
||||
ssr: boolean;
|
||||
}
|
||||
|
||||
export type IdParser = (id: string, ssr: boolean, timestamp?: number) => SvelteRequest | undefined;
|
||||
|
||||
export type ModuleIdParser = (
|
||||
id: string,
|
||||
ssr: boolean,
|
||||
timestamp?: number
|
||||
) => SvelteModuleRequest | undefined;
|
||||
|
14
node_modules/@sveltejs/vite-plugin-svelte/src/utils/compile.js
generated
vendored
14
node_modules/@sveltejs/vite-plugin-svelte/src/utils/compile.js
generated
vendored
@ -1,4 +1,4 @@
|
||||
import * as svelte from 'svelte/compiler';
|
||||
import { compile, preprocess, walk } from 'svelte/compiler';
|
||||
// @ts-ignore
|
||||
import { createMakeHot } from 'svelte-hmr';
|
||||
import { safeBase64Hash } from './hash.js';
|
||||
@ -9,7 +9,7 @@ import { mapToRelative } from './sourcemaps.js';
|
||||
|
||||
const scriptLangRE = /<script [^>]*lang=["']?([^"' >]+)["']?[^>]*>/;
|
||||
|
||||
import { isSvelte3, isSvelte5 } from './svelte-version.js';
|
||||
import { isSvelte3 } from './svelte-version.js';
|
||||
|
||||
/**
|
||||
* @param {Function} [makeHot]
|
||||
@ -53,8 +53,7 @@ export const _createCompileSvelte = (makeHot) => {
|
||||
const compileOptions = {
|
||||
...options.compilerOptions,
|
||||
filename,
|
||||
// @ts-expect-error generate type is different for svelte5
|
||||
generate: isSvelte5 ? (ssr ? 'server' : 'client') : ssr ? 'ssr' : 'dom'
|
||||
generate: ssr ? 'ssr' : 'dom'
|
||||
};
|
||||
if (isSvelte3) {
|
||||
// @ts-ignore
|
||||
@ -87,7 +86,7 @@ export const _createCompileSvelte = (makeHot) => {
|
||||
}
|
||||
if (preprocessors) {
|
||||
try {
|
||||
preprocessed = await svelte.preprocess(code, preprocessors, { filename }); // full filename here so postcss works
|
||||
preprocessed = await preprocess(code, preprocessors, { filename }); // full filename here so postcss works
|
||||
} catch (e) {
|
||||
e.message = `Error while preprocessing ${filename}${e.message ? ` - ${e.message}` : ''}`;
|
||||
throw e;
|
||||
@ -124,7 +123,7 @@ export const _createCompileSvelte = (makeHot) => {
|
||||
: compileOptions;
|
||||
|
||||
const endStat = stats?.start(filename);
|
||||
const compiled = svelte.compile(finalCode, finalCompileOptions);
|
||||
const compiled = compile(finalCode, finalCompileOptions);
|
||||
|
||||
if (isSvelte3) {
|
||||
// prevent dangling pure comments
|
||||
@ -188,8 +187,7 @@ function buildMakeHot(options) {
|
||||
// @ts-ignore
|
||||
const adapter = options?.hot?.adapter;
|
||||
return createMakeHot({
|
||||
// TODO Svelte 5 doesn't expose walk anymore. If we decide to make v-p-s 2 work with Svelte 5 HMR, we need to import walk from estree-walker
|
||||
walk: svelte.walk,
|
||||
walk,
|
||||
hotApi,
|
||||
adapter,
|
||||
hotOptions: { noOverlay: true, .../** @type {object} */ (options.hot) }
|
||||
|
31
node_modules/@sveltejs/vite-plugin-svelte/src/utils/esbuild.js
generated
vendored
31
node_modules/@sveltejs/vite-plugin-svelte/src/utils/esbuild.js
generated
vendored
@ -1,8 +1,8 @@
|
||||
import { readFileSync } from 'node:fs';
|
||||
import * as svelte from 'svelte/compiler';
|
||||
import { compile, preprocess } from 'svelte/compiler';
|
||||
import { log } from './log.js';
|
||||
import { toESBuildError } from './error.js';
|
||||
import { isSvelte3, isSvelte5 } from './svelte-version.js';
|
||||
import { isSvelte3 } from './svelte-version.js';
|
||||
|
||||
/**
|
||||
* @typedef {NonNullable<import('vite').DepOptimizationOptions['esbuildOptions']>} EsbuildOptions
|
||||
@ -11,8 +11,6 @@ import { isSvelte3, isSvelte5 } from './svelte-version.js';
|
||||
|
||||
export const facadeEsbuildSveltePluginName = 'vite-plugin-svelte:facade';
|
||||
|
||||
const svelteModuleExtension = '.svelte.js';
|
||||
|
||||
/**
|
||||
* @param {import('../types/options.d.ts').ResolvedOptions} options
|
||||
* @returns {EsbuildPlugin}
|
||||
@ -26,9 +24,6 @@ export function esbuildSveltePlugin(options) {
|
||||
if (build.initialOptions.plugins?.some((v) => v.name === 'vite:dep-scan')) return;
|
||||
|
||||
const svelteExtensions = (options.extensions ?? ['.svelte']).map((ext) => ext.slice(1));
|
||||
if (isSvelte5) {
|
||||
svelteExtensions.push(svelteModuleExtension.slice(1));
|
||||
}
|
||||
const svelteFilter = new RegExp('\\.(' + svelteExtensions.join('|') + ')(\\?.*)?$');
|
||||
/** @type {import('../types/vite-plugin-svelte-stats.d.ts').StatCollection | undefined} */
|
||||
let statsCollection;
|
||||
@ -60,21 +55,6 @@ export function esbuildSveltePlugin(options) {
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
async function compileSvelte(options, { filename, code }, statsCollection) {
|
||||
if (isSvelte5 && filename.endsWith(svelteModuleExtension)) {
|
||||
const endStat = statsCollection?.start(filename);
|
||||
// @ts-ignore doesn't exist in Svelte 4
|
||||
const compiled = svelte.compileModule(code, {
|
||||
filename,
|
||||
generate: 'client'
|
||||
});
|
||||
if (endStat) {
|
||||
endStat();
|
||||
}
|
||||
return compiled.js.map
|
||||
? compiled.js.code + '//# sourceMappingURL=' + compiled.js.map.toUrl()
|
||||
: compiled.js.code;
|
||||
}
|
||||
|
||||
let css = options.compilerOptions.css;
|
||||
if (css !== 'none') {
|
||||
// TODO ideally we'd be able to externalize prebundled styles too, but for now always put them in the js
|
||||
@ -85,8 +65,7 @@ async function compileSvelte(options, { filename, code }, statsCollection) {
|
||||
...options.compilerOptions,
|
||||
css,
|
||||
filename,
|
||||
// @ts-expect-error generate type is different for svelte5
|
||||
generate: isSvelte5 ? 'client' : 'dom'
|
||||
generate: 'dom'
|
||||
};
|
||||
if (isSvelte3) {
|
||||
// @ts-ignore
|
||||
@ -96,7 +75,7 @@ async function compileSvelte(options, { filename, code }, statsCollection) {
|
||||
|
||||
if (options.preprocess) {
|
||||
try {
|
||||
preprocessed = await svelte.preprocess(code, options.preprocess, { filename });
|
||||
preprocessed = await preprocess(code, options.preprocess, { filename });
|
||||
} catch (e) {
|
||||
e.message = `Error while preprocessing ${filename}${e.message ? ` - ${e.message}` : ''}`;
|
||||
throw e;
|
||||
@ -123,7 +102,7 @@ async function compileSvelte(options, { filename, code }, statsCollection) {
|
||||
}
|
||||
: compileOptions;
|
||||
const endStat = statsCollection?.start(filename);
|
||||
const compiled = svelte.compile(finalCode, finalCompileOptions);
|
||||
const compiled = compile(finalCode, finalCompileOptions);
|
||||
if (endStat) {
|
||||
endStat();
|
||||
}
|
||||
|
45
node_modules/@sveltejs/vite-plugin-svelte/src/utils/id.js
generated
vendored
45
node_modules/@sveltejs/vite-plugin-svelte/src/utils/id.js
generated
vendored
@ -184,48 +184,3 @@ export function buildIdParser(options) {
|
||||
}
|
||||
};
|
||||
}
|
||||
/**
|
||||
* @param {import('../types/options.d.ts').ResolvedOptions} options
|
||||
* @returns {import('../types/id.d.ts').ModuleIdParser}
|
||||
*/
|
||||
export function buildModuleIdParser(options) {
|
||||
const { include, exclude, extensions } = options?.experimental?.compileModule ?? {};
|
||||
const root = options.root;
|
||||
const normalizedRoot = normalizePath(root);
|
||||
const filter = buildFilter(include, exclude, extensions ?? ['.svelte.js', '.svelte.ts']);
|
||||
return (id, ssr, timestamp = Date.now()) => {
|
||||
const { filename, rawQuery } = splitId(id);
|
||||
if (filter(filename)) {
|
||||
return parseToSvelteModuleRequest(id, filename, rawQuery, normalizedRoot, timestamp, ssr);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} id
|
||||
* @param {string} filename
|
||||
* @param {string} rawQuery
|
||||
* @param {string} root
|
||||
* @param {number} timestamp
|
||||
* @param {boolean} ssr
|
||||
* @returns {import('../types/id.d.ts').SvelteModuleRequest | undefined}
|
||||
*/
|
||||
function parseToSvelteModuleRequest(id, filename, rawQuery, root, timestamp, ssr) {
|
||||
const query = parseRequestQuery(rawQuery);
|
||||
|
||||
if (query.url || query.raw || query.direct) {
|
||||
// skip requests with special vite tags
|
||||
return;
|
||||
}
|
||||
|
||||
const normalizedFilename = normalize(filename, root);
|
||||
|
||||
return {
|
||||
id,
|
||||
filename,
|
||||
normalizedFilename,
|
||||
query,
|
||||
timestamp,
|
||||
ssr
|
||||
};
|
||||
}
|
||||
|
2
node_modules/@sveltejs/vite-plugin-svelte/src/utils/log.js
generated
vendored
2
node_modules/@sveltejs/vite-plugin-svelte/src/utils/log.js
generated
vendored
@ -120,7 +120,7 @@ export const log = {
|
||||
};
|
||||
|
||||
/**
|
||||
* @param {import('../types/id.d.ts').SvelteRequest | import('../types/id.d.ts').SvelteModuleRequest} svelteRequest
|
||||
* @param {import('../types/id.d.ts').SvelteRequest} svelteRequest
|
||||
* @param {import('svelte/types/compiler/interfaces').Warning[]} warnings
|
||||
* @param {import('../types/options.d.ts').ResolvedOptions} options
|
||||
*/
|
||||
|
5
node_modules/@sveltejs/vite-plugin-svelte/src/utils/options.js
generated
vendored
5
node_modules/@sveltejs/vite-plugin-svelte/src/utils/options.js
generated
vendored
@ -25,7 +25,6 @@ import {
|
||||
import { isCommonDepWithoutSvelteField } from './dependencies.js';
|
||||
import { VitePluginSvelteStats } from './vite-plugin-svelte-stats.js';
|
||||
import { VitePluginSvelteCache } from './vite-plugin-svelte-cache.js';
|
||||
import { isSvelte5 } from './svelte-version.js';
|
||||
|
||||
const allowedPluginOptions = new Set([
|
||||
'include',
|
||||
@ -228,10 +227,6 @@ export function resolveOptions(preResolveOptions, viteConfig, cache) {
|
||||
* @param {import('../types/options.d.ts').ResolvedOptions} options
|
||||
*/
|
||||
function enforceOptionsForHmr(options) {
|
||||
if (isSvelte5) {
|
||||
log.warn('svelte 5 does not support hmr api yet, disabling it for now');
|
||||
options.hot = false;
|
||||
}
|
||||
if (options.hot) {
|
||||
if (!options.compilerOptions.dev) {
|
||||
log.warn('hmr is enabled but compilerOptions.dev is false, forcing it to true');
|
||||
|
5
node_modules/@sveltejs/vite-plugin-svelte/src/utils/svelte-version.js
generated
vendored
5
node_modules/@sveltejs/vite-plugin-svelte/src/utils/svelte-version.js
generated
vendored
@ -4,8 +4,3 @@ import { VERSION } from 'svelte/compiler';
|
||||
* @type {boolean}
|
||||
*/
|
||||
export const isSvelte3 = VERSION.startsWith('3.');
|
||||
|
||||
/**
|
||||
* @type {boolean}
|
||||
*/
|
||||
export const isSvelte5 = VERSION.startsWith('5.');
|
||||
|
Reference in New Issue
Block a user