fix(web-extension): Fix types in vite config (#1333)
This commit is contained in:
5
.changeset/mighty-bulldogs-begin.md
Normal file
5
.changeset/mighty-bulldogs-begin.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
'@rrweb/web-extension': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Update `vite.config.ts` to account for all potential entry types.
|
||||||
@@ -1,9 +1,4 @@
|
|||||||
import {
|
import { defineConfig, LibraryFormats, PluginOption } from 'vite';
|
||||||
defineConfig,
|
|
||||||
LibraryFormats,
|
|
||||||
LibraryOptions,
|
|
||||||
PluginOption,
|
|
||||||
} from 'vite';
|
|
||||||
import webExtension, { readJsonFile } from 'vite-plugin-web-extension';
|
import webExtension, { readJsonFile } from 'vite-plugin-web-extension';
|
||||||
import zip from 'vite-plugin-zip-pack';
|
import zip from 'vite-plugin-zip-pack';
|
||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
@@ -17,9 +12,19 @@ function useSpecialFormat(
|
|||||||
return {
|
return {
|
||||||
name: 'use-special-format',
|
name: 'use-special-format',
|
||||||
config(config) {
|
config(config) {
|
||||||
const shouldUse = entriesToUse.includes(
|
// entry can be string | string[] | {[entryAlias: string]: string}
|
||||||
(config.build?.lib as LibraryOptions)?.entry,
|
const entry = config.build?.lib && config.build.lib.entry;
|
||||||
);
|
let shouldUse = false;
|
||||||
|
|
||||||
|
if (typeof entry === 'string') {
|
||||||
|
shouldUse = entriesToUse.includes(entry);
|
||||||
|
} else if (Array.isArray(entry)) {
|
||||||
|
shouldUse = entriesToUse.some((e) => entry.includes(e));
|
||||||
|
} else if (entry && typeof entry === 'object') {
|
||||||
|
const entryKeys = Object.keys(entry);
|
||||||
|
shouldUse = entriesToUse.some((e) => entryKeys.includes(e));
|
||||||
|
}
|
||||||
|
|
||||||
if (shouldUse) {
|
if (shouldUse) {
|
||||||
config.build = config.build ?? {};
|
config.build = config.build ?? {};
|
||||||
// @ts-expect-error: lib needs to be an object, forcing it.
|
// @ts-expect-error: lib needs to be an object, forcing it.
|
||||||
|
|||||||
Reference in New Issue
Block a user