From c2f77b10364ccf8f369e51cbc5f56c38ba913c5d Mon Sep 17 00:00:00 2001 From: Aaron Date: Sat, 16 Nov 2024 15:44:42 -0600 Subject: [PATCH] fix!: Remove `transformManfiest` option (#1181) --- packages/wxt/src/core/resolve-config.ts | 8 ------ .../src/core/utils/__tests__/manifest.test.ts | 25 ------------------- packages/wxt/src/core/utils/manifest.ts | 2 -- .../src/core/utils/testing/fake-objects.ts | 1 - packages/wxt/src/types.ts | 24 ------------------ 5 files changed, 60 deletions(-) diff --git a/packages/wxt/src/core/resolve-config.ts b/packages/wxt/src/core/resolve-config.ts index d4461df6..03dc263e 100644 --- a/packages/wxt/src/core/resolve-config.ts +++ b/packages/wxt/src/core/resolve-config.ts @@ -202,7 +202,6 @@ export async function resolveConfig( typesDir, wxtDir, zip: resolveZipConfig(root, browser, outBaseDir, mergedConfig), - transformManifest: mergedConfig.transformManifest, analysis: resolveAnalysisConfig(root, mergedConfig), userConfigMetadata: userConfigMetadata ?? {}, alias, @@ -251,12 +250,6 @@ async function mergeInlineConfig( return defu(inline, user); }; - // Merge transformManifest option - const transformManifest: InlineConfig['transformManifest'] = (manifest) => { - userConfig.transformManifest?.(manifest); - inlineConfig.transformManifest?.(manifest); - }; - const merged = defu(inlineConfig, userConfig); // Builders @@ -269,7 +262,6 @@ async function mergeInlineConfig( return { ...merged, // Custom merge values - transformManifest, imports, manifest, ...builderConfig, diff --git a/packages/wxt/src/core/utils/__tests__/manifest.test.ts b/packages/wxt/src/core/utils/__tests__/manifest.test.ts index 1a767d10..99335691 100644 --- a/packages/wxt/src/core/utils/__tests__/manifest.test.ts +++ b/packages/wxt/src/core/utils/__tests__/manifest.test.ts @@ -1091,31 +1091,6 @@ describe('Manifest Utils', () => { }); }); - describe('transformManifest option', () => { - it("should call the transformManifest option after the manifest is generated, but before it's returned", async () => { - const entrypoints: Entrypoint[] = []; - const buildOutput = fakeBuildOutput(); - const newAuthor = 'Custom Author'; - setFakeWxt({ - config: { - transformManifest(manifest: any) { - manifest.author = newAuthor; - }, - }, - }); - const expected = { - author: newAuthor, - }; - - const { manifest: actual } = await generateManifest( - entrypoints, - buildOutput, - ); - - expect(actual).toMatchObject(expected); - }); - }); - describe('version', () => { it.each(['chrome', 'safari', 'edge'] as const)( 'should include version and version_name as is on %s', diff --git a/packages/wxt/src/core/utils/manifest.ts b/packages/wxt/src/core/utils/manifest.ts index 7b0d3388..70ff1039 100644 --- a/packages/wxt/src/core/utils/manifest.ts +++ b/packages/wxt/src/core/utils/manifest.ts @@ -123,8 +123,6 @@ export async function generateManifest( if (wxt.config.command === 'serve') addDevModeCsp(manifest); if (wxt.config.command === 'serve') addDevModePermissions(manifest); - // TODO: Remove in v1 - wxt.config.transformManifest?.(manifest); await wxt.hooks.callHook('build:manifestGenerated', wxt, manifest); if (wxt.config.manifestVersion === 2) { diff --git a/packages/wxt/src/core/utils/testing/fake-objects.ts b/packages/wxt/src/core/utils/testing/fake-objects.ts index a5b56c83..dc6ec743 100644 --- a/packages/wxt/src/core/utils/testing/fake-objects.ts +++ b/packages/wxt/src/core/utils/testing/fake-objects.ts @@ -294,7 +294,6 @@ export const fakeResolvedConfig = fakeObjectCreator(() => { compressionLevel: 9, zipSources: false, }, - transformManifest: () => {}, userConfigMetadata: {}, alias: {}, experimental: {}, diff --git a/packages/wxt/src/types.ts b/packages/wxt/src/types.ts index f56d1685..9383b575 100644 --- a/packages/wxt/src/types.ts +++ b/packages/wxt/src/types.ts @@ -253,26 +253,6 @@ export interface InlineConfig { */ compressionLevel?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9; }; - - /** - * @deprecated Use `hooks.build.manifestGenerated` to modify your manifest instead. This option - * will be removed in v1.0 - * - * Transform the final manifest before it's written to the file system. Edit the `manifest` - * parameter directly, do not return a new object. Return values are ignored. - * - * @example - * defineConfig({ - * // Add a CSS-only content script. - * transformManifest(manifest) { - * manifest.content_scripts.push({ - * matches: ["*://google.com/*"], - * css: ["content-scripts/some-example.css"], - * }); - * } - * }) - */ - transformManifest?: (manifest: Browser.runtime.Manifest) => void; analysis?: { /** * Explicitly include bundle analysis when running `wxt build`. This can be overridden by the @@ -1337,10 +1317,6 @@ export interface ResolvedConfig { */ zipSources: boolean; }; - /** - * @deprecated Use `build:manifestGenerated` hook instead. - */ - transformManifest?: (manifest: Browser.runtime.Manifest) => void; analysis: { enabled: boolean; open: boolean;