@typed/vite-plugin 0.0.26 → 0.0.27

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.
@@ -1,490 +1,184 @@
1
- import { existsSync, readFileSync, writeFileSync } from 'fs';
2
- import { readFile } from 'fs/promises';
1
+ import { existsSync, writeFileSync } from 'fs';
3
2
  import { EOL } from 'os';
4
- import { basename, dirname, join, relative, resolve } from 'path';
5
- import effectTransformer from '@effect/language-service/transformer';
6
- import { setupTsProject, makeHtmlModule, makeRuntimeModule, readDirectory, readModules, readApiModules, makeApiModule, moduleTreeToJson, apiModuleTreeToJson, addOrUpdateBase, } from '@typed/compiler';
3
+ import { basename, join, resolve } from 'path';
4
+ import { pipe } from '@fp-ts/core/Function';
5
+ import * as Option from '@fp-ts/core/Option';
6
+ import { Compiler, getRelativePath } from '@typed/compiler';
7
7
  import glob from 'fast-glob';
8
- import { Project, SourceFile, ts } from 'ts-morph';
9
8
  // @ts-expect-error Unable to resolve types w/ NodeNext
10
9
  import vavite from 'vavite';
11
10
  import compression from 'vite-plugin-compression';
12
11
  import tsconfigPaths from 'vite-tsconfig-paths';
12
+ import { PLUGIN_NAME } from './constants.js';
13
13
  const cwd = process.cwd();
14
- export const PLUGIN_NAME = '@typed/vite-plugin';
15
- const RUNTIME_VIRTUAL_ENTRYPOINT_PREFIX = 'runtime';
16
- const BROWSER_VIRTUAL_ENTRYPOINT_PREFIX = 'browser';
17
- const HTML_VIRTUAL_ENTRYPOINT_PREFIX = 'html';
18
- const API_VIRTUAL_ENTRYPOINT_PREFIX = 'api';
19
- const EXPRESS_VIRTUAL_ENTRYPOINT_PREFIX = 'express';
20
- const TYPED_CONFIG_IMPORT = 'typed:config';
21
- const PREFIXES = [
22
- RUNTIME_VIRTUAL_ENTRYPOINT_PREFIX,
23
- BROWSER_VIRTUAL_ENTRYPOINT_PREFIX,
24
- HTML_VIRTUAL_ENTRYPOINT_PREFIX,
25
- API_VIRTUAL_ENTRYPOINT_PREFIX,
26
- EXPRESS_VIRTUAL_ENTRYPOINT_PREFIX,
27
- ];
28
- const VIRTUAL_ID_PREFIX = '\0';
29
- export default function makePlugin({ sourceDirectory: directory, tsConfig, serverFilePath, clientOutputDirectory, serverOutputDirectory, htmlFileGlobs, debug = false, saveGeneratedModules = false, isStaticBuild = process.env.STATIC_BUILD === 'true', }) {
30
- // Resolved options
31
- const sourceDirectory = resolve(cwd, directory);
32
- const tsConfigFilePath = resolve(sourceDirectory, tsConfig ?? 'tsconfig.json');
33
- const resolvedServerFilePath = resolve(sourceDirectory, serverFilePath ?? 'server.ts');
34
- const resolvedServerOutputDirectory = resolve(sourceDirectory, serverOutputDirectory ?? 'dist/server');
35
- const resolvedClientOutputDirectory = resolve(sourceDirectory, clientOutputDirectory ?? 'dist/client');
36
- const defaultIncludeExcludeTs = {
37
- include: ['**/*.ts', '**/*.tsx'],
38
- exclude: ['dist/**/*'],
39
- };
40
- const resolvedEffectTsOptions = {
41
- trace: defaultIncludeExcludeTs,
42
- optimize: defaultIncludeExcludeTs,
43
- debug: debug ? defaultIncludeExcludeTs : {},
44
- };
45
- const resolvedOptions = {
46
- sourceDirectory,
47
- tsConfig: tsConfigFilePath,
48
- serverFilePath: resolvedServerFilePath,
49
- serverOutputDirectory: resolvedServerOutputDirectory,
50
- clientOutputDirectory: resolvedClientOutputDirectory,
51
- htmlFiles: findHtmlFiles(sourceDirectory, htmlFileGlobs).map((p) => resolve(sourceDirectory, p)),
52
- debug,
53
- saveGeneratedModules,
54
- isStaticBuild,
55
- base: '/',
56
- };
57
- const dependentsMap = new Map();
58
- const filePathToModule = new Map();
59
- const manifest = {
60
- entryFiles: [],
61
- modules: {},
62
- };
63
- const addManifestEntry = (entry, importer, id) => {
64
- if (!manifest.modules[importer]) {
65
- manifest.modules[importer] = {};
66
- }
67
- manifest.modules[importer][id] = entry;
68
- };
14
+ export default function makePlugin(pluginOptions) {
15
+ const options = resolveOptions(pluginOptions);
16
+ let compiler;
69
17
  let devServer;
70
- let logger;
71
18
  let isSsr = false;
72
- let project;
73
- let transformers;
74
- const serverExists = existsSync(resolvedServerFilePath);
75
19
  const plugins = [
76
20
  tsconfigPaths({
77
- projects: [tsConfigFilePath],
21
+ projects: [options.tsConfig],
78
22
  }),
79
- serverExists &&
80
- !isStaticBuild &&
81
- vavite({
82
- serverEntry: resolvedServerFilePath,
83
- serveClientAssetsInDev: true,
84
- }),
23
+ pipe(options.serverFilePath, Option.filter(() => !options.isStaticBuild), Option.map((serverEntry) => vavite({
24
+ serverEntry,
25
+ serveClientAssetsInDev: true,
26
+ })), Option.getOrNull),
85
27
  ];
86
- const setupProject = () => {
87
- if (project) {
88
- return;
89
- }
90
- info(`Setting up TypeScript project...`, logger);
91
- project = setupTsProject(tsConfigFilePath);
92
- info(`Setup TypeScript project.`, logger);
93
- // Setup transformer for virtual modules.
94
- transformers = {
95
- before: [
96
- // Types are weird for some reason
97
- effectTransformer(project.getProgram().compilerObject, resolvedEffectTsOptions).before,
98
- ],
99
- };
100
- };
101
- const transpilerCompilerOptions = () => {
102
- setupProject();
103
- return {
104
- ...project.getCompilerOptions(),
105
- inlineSourceMap: false,
106
- inlineSources: saveGeneratedModules,
107
- sourceMap: true,
108
- };
109
- };
110
- const handleFileChange = async (path, event) => {
111
- if (/\.tsx?$/.test(path)) {
112
- switch (event) {
113
- case 'create': {
114
- project.addSourceFileAtPath(path);
115
- break;
116
- }
117
- case 'update': {
118
- const sourceFile = project.getSourceFile(path);
119
- if (sourceFile) {
120
- sourceFile.refreshFromFileSystemSync();
121
- }
122
- else {
123
- project.addSourceFileAtPath(path);
124
- }
125
- if (devServer) {
126
- const dependents = dependentsMap.get(path.replace(/.ts(x)?/, '.js$1'));
127
- for (const dependent of dependents ?? []) {
128
- const mod = devServer.moduleGraph.getModuleById(dependent);
129
- if (mod) {
130
- info(`reloading ${dependent}`, logger);
131
- await devServer.reloadModule(mod);
132
- }
133
- }
134
- }
135
- break;
136
- }
137
- case 'delete': {
138
- await project.getSourceFile(path)?.deleteImmediately();
139
- break;
140
- }
141
- }
142
- }
143
- };
144
- const buildRuntimeModule = async (importer, id) => {
145
- // Setup the TypeScript project if it hasn't been already
146
- setupProject();
147
- const moduleDirectory = resolve(dirname(importer), parseModulesFromId(id, importer));
148
- const relativeDirectory = relative(sourceDirectory, moduleDirectory);
149
- const isBrowser = id.startsWith(BROWSER_VIRTUAL_ENTRYPOINT_PREFIX);
150
- const moduleType = isBrowser ? 'browser' : 'runtime';
151
- const filePath = `${moduleDirectory}.${moduleType}.__generated__.ts`;
152
- const directory = await readDirectory(moduleDirectory);
153
- const moduleTree = readModules(project, directory);
154
- addManifestEntry({
155
- type: moduleType,
156
- ...moduleTreeToJson(sourceDirectory, moduleTree),
157
- }, relative(sourceDirectory, importer), id);
158
- const sourceFile = makeRuntimeModule(project, moduleTree, importer, filePath, isBrowser);
159
- addDependents(sourceFile);
160
- info(`Built ${moduleType} module for ${relativeDirectory}.`, logger);
161
- filePathToModule.set(filePath, sourceFile);
162
- if (saveGeneratedModules) {
163
- await sourceFile.save();
164
- }
165
- return filePath;
166
- };
167
- const buildHtmlModule = async (importer, id) => {
168
- // Setup the TypeScript project if it hasn't been already
169
- setupProject();
170
- const htmlFileName = parseModulesFromId(id, importer);
171
- const htmlFilePath = resolve(dirname(importer), htmlFileName + '.html');
172
- const relativeHtmlFilePath = relative(sourceDirectory, htmlFilePath);
173
- let html = '';
174
- // If there's a dev server, use it to transform the HTML for development
175
- if (!isStaticBuild && devServer) {
176
- html = (await readFile(htmlFilePath, 'utf-8')).toString();
177
- html = await devServer.transformIndexHtml(getRelativePath(sourceDirectory, htmlFilePath), html);
178
- }
179
- else {
180
- // Otherwise, read the already transformed file from the output directory.
181
- html = (await readFile(resolve(resolvedClientOutputDirectory, relativeHtmlFilePath), 'utf-8')).toString();
182
- }
183
- const sourceFile = await makeHtmlModule({
184
- project,
185
- base: parseBasePath(html),
186
- filePath: htmlFilePath,
187
- html,
188
- importer,
189
- serverOutputDirectory: resolvedServerOutputDirectory,
190
- clientOutputDirectory: resolvedClientOutputDirectory,
191
- build: isStaticBuild ? 'static' : devServer ? 'development' : 'production',
192
- });
193
- addManifestEntry({
194
- type: 'html',
195
- filePath: relativeHtmlFilePath,
196
- }, relative(sourceDirectory, importer), id);
197
- addDependents(sourceFile);
198
- info(`Built html module for ${relativeHtmlFilePath}.`, logger);
199
- const filePath = sourceFile.getFilePath();
200
- filePathToModule.set(filePath, sourceFile);
201
- if (saveGeneratedModules) {
202
- await sourceFile.save();
203
- }
204
- return filePath;
205
- };
206
- const buildApiModule = async (importer, id) => {
207
- // Setup the TypeScript project if it hasn't been already
208
- setupProject();
209
- const importDirectory = dirname(importer);
210
- const moduleName = parseModulesFromId(id, importer);
211
- const moduleDirectory = resolve(importDirectory, moduleName);
212
- const relativeDirectory = relative(sourceDirectory, moduleDirectory);
213
- const moduleType = id.startsWith(EXPRESS_VIRTUAL_ENTRYPOINT_PREFIX) ? 'express' : 'api';
214
- const directory = await readDirectory(moduleDirectory);
215
- const moduleTree = readApiModules(project, directory);
216
- const filePath = `${importDirectory}/${basename(moduleName)}.${moduleType.toLowerCase()}.__generated__.ts`;
217
- const sourceFile = makeApiModule(project, moduleTree, filePath, importer, id.startsWith(EXPRESS_VIRTUAL_ENTRYPOINT_PREFIX));
218
- addManifestEntry({
219
- type: moduleType,
220
- ...apiModuleTreeToJson(sourceDirectory, moduleTree),
221
- }, relative(sourceDirectory, importer), id);
222
- addDependents(sourceFile);
223
- info(`Built ${moduleType} module for ${relativeDirectory}.`, logger);
224
- filePathToModule.set(filePath, sourceFile);
225
- if (saveGeneratedModules) {
226
- await sourceFile.save();
227
- }
228
- return filePath;
229
- };
230
- const addDependents = (sourceFile) => {
231
- const importer = sourceFile.getFilePath();
232
- const imports = sourceFile
233
- .getLiteralsReferencingOtherSourceFiles()
234
- .map((i) => i.getLiteralValue());
235
- for (const i of imports) {
236
- const dependents = dependentsMap.get(i) ?? new Set();
237
- dependents.add(importer);
238
- dependentsMap.set(i, dependents);
28
+ const getCompiler = () => {
29
+ if (compiler) {
30
+ return compiler;
239
31
  }
32
+ return (compiler = new Compiler(PLUGIN_NAME, options));
240
33
  };
241
34
  const virtualModulePlugin = {
242
35
  name: PLUGIN_NAME,
243
- resolvedOptions,
36
+ resolvedOptions: options,
37
+ /**
38
+ * Configures our production build using vavite
39
+ */
244
40
  config(config, env) {
245
41
  isSsr = env.ssrBuild ?? false;
246
42
  // Configure Build steps when running with vavite
247
43
  if (env.mode === 'multibuild') {
248
44
  const clientBuild = {
249
- outDir: resolvedClientOutputDirectory,
45
+ outDir: options.clientOutputDirectory,
250
46
  rollupOptions: {
251
- input: buildClientInput(resolvedOptions.htmlFiles),
47
+ input: buildClientInput(options.htmlFiles),
252
48
  },
253
49
  };
254
- const serverBuild = {
50
+ const serverBuild = pipe(options.serverFilePath, Option.map((index) => ({
255
51
  ssr: true,
256
- outDir: resolvedServerOutputDirectory,
52
+ outDir: options.serverOutputDirectory,
257
53
  rollupOptions: {
258
54
  input: {
259
- index: resolvedServerFilePath,
55
+ index,
260
56
  },
261
57
  },
262
- };
58
+ })), Option.getOrNull);
263
59
  config.buildSteps = [
264
60
  {
265
61
  name: 'client',
266
62
  // @ts-expect-error Unable to resolve types w/ NodeNext
267
63
  config: { build: clientBuild, plugins: [compression()] },
268
64
  },
269
- ...(serverExists
270
- ? [
271
- {
272
- name: 'server',
273
- config: { build: serverBuild },
274
- },
275
- ]
276
- : []),
65
+ serverBuild,
277
66
  ];
278
67
  return;
279
68
  }
280
69
  },
70
+ /**
71
+ * Updates our resolved options with the correct base path
72
+ * and parses our input files for our manifest
73
+ */
281
74
  configResolved(resolvedConfig) {
282
- logger = resolvedConfig.logger;
283
- const input = resolvedConfig.build.rollupOptions.input;
284
- Object.assign(resolvedOptions, { base: resolvedConfig.base });
285
- if (!input)
286
- return;
287
- if (typeof input === 'string') {
288
- manifest.entryFiles.push(parseEntryFile(sourceDirectory, input));
289
- }
290
- else if (Array.isArray(input)) {
291
- manifest.entryFiles.push(...input.map((i) => parseEntryFile(sourceDirectory, i)));
292
- }
293
- else {
294
- manifest.entryFiles.push(...Object.values(input).map((i) => parseEntryFile(sourceDirectory, i)));
295
- }
75
+ // Ensure options have the correct base path
76
+ Object.assign(options, { base: resolvedConfig.base });
77
+ getCompiler().parseInput(resolvedConfig.build.rollupOptions.input);
296
78
  },
79
+ /**
80
+ * Configures our dev server to watch for changes to our input files
81
+ * and exposes the dev server to our compiler methods
82
+ */
297
83
  configureServer(server) {
298
84
  devServer = server;
299
85
  server.watcher.on('all', (event, path) => {
300
86
  if (event === 'change') {
301
- handleFileChange(path, 'update');
87
+ getCompiler().handleFileChange(path, 'update', server);
302
88
  }
303
89
  else if (event === 'add') {
304
- handleFileChange(path, 'create');
90
+ getCompiler().handleFileChange(path, 'create', server);
305
91
  }
306
92
  else if (event === 'unlink') {
307
- handleFileChange(path, 'delete');
93
+ getCompiler().handleFileChange(path, 'delete', server);
308
94
  }
309
95
  });
310
96
  },
97
+ /**
98
+ * Handles file changes
99
+ */
311
100
  async watchChange(path, { event }) {
312
- handleFileChange(path, event);
101
+ getCompiler().handleFileChange(path, event, devServer);
313
102
  },
103
+ /**
104
+ * Type-check our project and fail the build if there are any errors.
105
+ * If successful, save our manifest to disk.
106
+ */
314
107
  async closeBundle() {
315
- if (Object.keys(manifest).length > 0 && !isStaticBuild) {
316
- writeFileSync(resolve(isSsr ? resolvedServerOutputDirectory : resolvedClientOutputDirectory, 'typed-manifest.json'), JSON.stringify(manifest, null, 2) + EOL);
108
+ const { manifest, throwDiagnostics } = getCompiler();
109
+ // Throw any diagnostics that were collected during the build
110
+ throwDiagnostics();
111
+ if (Object.keys(manifest).length > 0 && !options.isStaticBuild) {
112
+ writeFileSync(resolve(isSsr ? options.serverOutputDirectory : options.clientOutputDirectory, 'typed-manifest.json'), JSON.stringify(manifest, null, 2) + EOL);
317
113
  }
318
114
  },
115
+ /**
116
+ * Resolve and build our virtual modules
117
+ */
319
118
  async resolveId(id, importer) {
320
- if (!importer) {
321
- return;
322
- }
323
- if (id.startsWith(RUNTIME_VIRTUAL_ENTRYPOINT_PREFIX) ||
324
- id.startsWith(BROWSER_VIRTUAL_ENTRYPOINT_PREFIX)) {
325
- return VIRTUAL_ID_PREFIX + (await buildRuntimeModule(importer, id));
326
- }
327
- if (id.startsWith(HTML_VIRTUAL_ENTRYPOINT_PREFIX)) {
328
- return VIRTUAL_ID_PREFIX + (await buildHtmlModule(importer, id));
329
- }
330
- if (id.startsWith(API_VIRTUAL_ENTRYPOINT_PREFIX) ||
331
- id.startsWith(EXPRESS_VIRTUAL_ENTRYPOINT_PREFIX)) {
332
- return VIRTUAL_ID_PREFIX + (await buildApiModule(importer, id));
333
- }
334
- if (id === TYPED_CONFIG_IMPORT) {
335
- return VIRTUAL_ID_PREFIX + TYPED_CONFIG_IMPORT;
336
- }
337
- importer = importer.replace(VIRTUAL_ID_PREFIX, '');
338
- // Virtual modules have problems with resolving relative paths due to not
339
- // having a real directory to work with thus the need to resolve them manually.
340
- if (filePathToModule.has(importer) && id.startsWith('.')) {
341
- return findRelativeFile(importer, id);
342
- }
119
+ return await getCompiler().resolveId(id, importer, devServer);
343
120
  },
121
+ /**
122
+ * Load our virtual modules
123
+ */
344
124
  async load(id) {
345
- id = id.replace(VIRTUAL_ID_PREFIX, '');
346
- const sourceFile = filePathToModule.get(id) ?? project?.getSourceFile(id);
347
- if (sourceFile) {
348
- logDiagnostics(project, sourceFile, sourceDirectory, id, logger);
349
- return {
350
- code: sourceFile.getFullText(),
351
- };
352
- }
353
- if (id === TYPED_CONFIG_IMPORT) {
354
- return {
355
- code: Object.entries(resolvedOptions)
356
- .map(([key, value]) => `export const ${key} = ${JSON.stringify(value)}`)
357
- .join(EOL),
358
- };
359
- }
125
+ return await getCompiler().load(id);
360
126
  },
127
+ /**
128
+ * Transorm TypeScript modules
129
+ */
361
130
  transform(text, id) {
362
- if (/.[c|m]?tsx?$/.test(id)) {
363
- const output = ts.transpileModule(text, {
364
- fileName: id,
365
- compilerOptions: transpilerCompilerOptions(),
366
- transformers,
367
- });
368
- return {
369
- code: output.outputText,
370
- map: output.sourceMapText,
371
- };
372
- }
131
+ return getCompiler().transpileTsModule(text, id, devServer);
373
132
  },
133
+ /**
134
+ * Transform HTML files
135
+ */
374
136
  transformIndexHtml(html) {
375
- // Add vite's base path to all HTML files
376
- return addOrUpdateBase(html, resolvedOptions.base);
137
+ return getCompiler().transformHtml(html);
377
138
  },
378
139
  };
379
140
  plugins.push(virtualModulePlugin);
380
141
  return plugins;
381
142
  }
382
- function logDiagnostics(project, sourceFile, sourceDirectory, filePath, logger) {
383
- const diagnostics = sourceFile.getPreEmitDiagnostics();
384
- const relativeFilePath = relative(sourceDirectory, filePath);
385
- if (diagnostics.length > 0) {
386
- info(`Type-checking errors found at ${relativeFilePath}`, logger);
387
- info(`Source:` + EOL + sourceFile.getFullText(), logger);
388
- info(project.formatDiagnosticsWithColorAndContext(diagnostics), logger);
389
- }
390
- }
391
- function findRelativeFile(importer, id) {
392
- const dir = dirname(importer);
393
- const tsPath = resolve(dir, id.replace(/.([c|m])?js(x)?$/, '.$1ts$2'));
394
- if (existsSync(tsPath)) {
395
- return tsPath;
396
- }
397
- const jsPath = resolve(dir, id);
398
- if (existsSync(jsPath)) {
399
- return tsPath;
400
- }
401
- }
402
- function parseModulesFromId(id, importer) {
403
- let pages = id;
404
- for (const prefix of PREFIXES) {
405
- pages = pages.replace(prefix + ':', '');
406
- }
407
- if (pages === '') {
408
- throw new Error(`[${PLUGIN_NAME}]: No pages were specified from ${importer}`);
409
- }
410
- return pages;
143
+ function resolveOptions({ sourceDirectory: directory, tsConfig, serverFilePath, clientOutputDirectory, serverOutputDirectory, htmlFileGlobs, debug = false, saveGeneratedModules = false, isStaticBuild = process.env.STATIC_BUILD === 'true', }) {
144
+ // Resolved options
145
+ const sourceDirectory = resolve(cwd, directory);
146
+ const tsConfigFilePath = resolve(sourceDirectory, tsConfig ?? 'tsconfig.json');
147
+ const resolvedServerFilePath = resolve(sourceDirectory, serverFilePath ?? 'server.ts');
148
+ const serverExists = existsSync(resolvedServerFilePath);
149
+ const resolvedServerOutputDirectory = resolve(sourceDirectory, serverOutputDirectory ?? 'dist/server');
150
+ const resolvedClientOutputDirectory = resolve(sourceDirectory, clientOutputDirectory ?? 'dist/client');
151
+ const exclusions = [
152
+ getRelativePath(sourceDirectory, join(resolvedServerOutputDirectory, '/**/*')),
153
+ getRelativePath(sourceDirectory, join(resolvedClientOutputDirectory, '/**/*')),
154
+ '**/node_modules/**',
155
+ ];
156
+ const resolvedOptions = {
157
+ base: '/',
158
+ clientOutputDirectory: resolvedClientOutputDirectory,
159
+ debug,
160
+ exclusions,
161
+ htmlFiles: findHtmlFiles(sourceDirectory, htmlFileGlobs, exclusions).map((p) => resolve(sourceDirectory, p)),
162
+ isStaticBuild,
163
+ saveGeneratedModules,
164
+ serverFilePath: serverExists ? Option.some(resolvedServerFilePath) : Option.none(),
165
+ serverOutputDirectory: resolvedServerOutputDirectory,
166
+ sourceDirectory,
167
+ tsConfig: tsConfigFilePath,
168
+ };
169
+ return resolvedOptions;
411
170
  }
412
- function findHtmlFiles(directory, htmlFileGlobs) {
171
+ function findHtmlFiles(directory, htmlFileGlobs, exclusions) {
413
172
  if (htmlFileGlobs) {
414
173
  // eslint-disable-next-line import/no-named-as-default-member
415
- return glob.sync([...htmlFileGlobs], { cwd: directory });
174
+ return glob.sync([...htmlFileGlobs, ...exclusions.map((x) => '!' + x)], { cwd: directory });
416
175
  }
417
176
  // eslint-disable-next-line import/no-named-as-default-member
418
- return glob.sync(['**/*.html', '!' + '**/node_modules/**', '!' + '**/dist/**'], {
177
+ return glob.sync(['**/*.html', ...exclusions.map((x) => '!' + x)], {
419
178
  cwd: directory,
420
179
  });
421
180
  }
422
181
  function buildClientInput(htmlFilePaths) {
423
182
  return htmlFilePaths.reduce((acc, htmlFilePath) => ({ ...acc, [basename(htmlFilePath, '.html')]: htmlFilePath }), {});
424
183
  }
425
- function getRelativePath(from, to) {
426
- const path = relative(from, to);
427
- if (!path.startsWith('.')) {
428
- return './' + path;
429
- }
430
- return path;
431
- }
432
- function info(message, logger) {
433
- if (logger) {
434
- logger.info(`[${PLUGIN_NAME}]: ${message}`);
435
- }
436
- else {
437
- console.info(`[${PLUGIN_NAME}]:`, `${message}`);
438
- }
439
- }
440
- function parseEntryFile(sourceDirectory, filePath) {
441
- if (filePath.endsWith('.html')) {
442
- return parseHtmlEntryFile(sourceDirectory, filePath);
443
- }
444
- return parseTsEntryFile(sourceDirectory, filePath);
445
- }
446
- function parseHtmlEntryFile(sourceDirectory, filePath) {
447
- const content = readFileSync(filePath, 'utf-8').toString();
448
- return {
449
- type: 'html',
450
- filePath: relative(sourceDirectory, filePath),
451
- imports: parseHtmlImports(sourceDirectory, content),
452
- basePath: parseBasePath(content),
453
- };
454
- }
455
- function parseHtmlImports(sourceDirectory, content) {
456
- const imports = [];
457
- const matches = content.match(/<script[^>]*src="([^"]*)"[^>]*>/g);
458
- if (matches) {
459
- for (const match of matches) {
460
- // If script is not type=module then skip
461
- if (!match.includes('type="module"')) {
462
- continue;
463
- }
464
- const src = match.match(/src="([^"]*)"/)?.[1];
465
- if (src) {
466
- const fullPath = join(sourceDirectory, src);
467
- const relativePath = relative(sourceDirectory, fullPath);
468
- imports.push(relativePath);
469
- }
470
- }
471
- }
472
- return imports;
473
- }
474
- function parseBasePath(content) {
475
- const baseTag = content.match(/<base[^>]*>/)?.[0];
476
- if (baseTag) {
477
- const href = baseTag.match(/href="([^"]*)"/)?.[1];
478
- if (href) {
479
- return href;
480
- }
481
- }
482
- return '/';
483
- }
484
- function parseTsEntryFile(sourceDirectory, filePath) {
485
- return {
486
- type: 'ts',
487
- filePath: relative(sourceDirectory, filePath),
488
- };
489
- }
490
184
  //# sourceMappingURL=vite-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-plugin.js","sourceRoot":"","sources":["../src/vite-plugin.ts"],"names":[],"mappings":"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"}