Skip to content

Commit

Permalink
fix: fix build error
Browse files Browse the repository at this point in the history
  • Loading branch information
DiamondYuan committed Jul 3, 2021
1 parent b7b771b commit 9da9bf9
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 65 deletions.
4 changes: 3 additions & 1 deletion script/release.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { getBuildOptions } from './utils/get-build-options';
import { TDistType, IReleaseProcessEnv } from './utils/types';
import { build } from './utils/build';

const { isBeta } = require('../webpack/utils/manifest');

Expand All @@ -12,6 +13,7 @@ const { isBeta } = require('../webpack/utils/manifest');
}
console.log('buildOptions: \n', buildOptions);
for (const iterator of buildOptions.targetBrowser) {
console.log(`Release ${iterator}`);
console.log(`Release: ${iterator} PublishToStore: ${buildOptions.publishToStore}`);
await build({ targetBrowser: iterator, publishToStore: buildOptions.publishToStore });
}
})();
17 changes: 12 additions & 5 deletions script/utils/build.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,24 @@
import { IWebpackProcessEnv } from './types';
import { IWebpackProcessEnv, TBuildTarget } from './types';
import { fork } from 'child_process';

export function build({ targetBrowser }) {
interface IBuildOptions {
targetBrowser: TBuildTarget;
publishToStore: boolean;
}

export function build(options: IBuildOptions) {
const buildScript = require.resolve('../build');
const buildEnv: IWebpackProcessEnv = Object.create(process.env);
buildEnv.NODE_ENV = 'production';
buildEnv.TARGET_BROWSER = targetBrowser;

buildEnv.TARGET_BROWSER = options.targetBrowser;
if (options.publishToStore) {
buildEnv.PUBLISH_TO_STORE = 'true';
}
const cp = fork(buildScript, [], {
env: (buildEnv as unknown) as typeof process.env,
silent: true,
});
cp.stderr.on('data', e => console.log(e.toString()));
cp.stderr!.on('data', e => console.log(e.toString()));
return new Promise(r => {
cp.on('message', r);
});
Expand Down
Empty file added script/utils/pack.ts
Empty file.
2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"emitDecoratorMetadata": true,
"resolveJsonModule": true,
"experimentalDecorators": true,
"target": "ESNext",
"target": "ES2018",
"module": "CommonJS",
"declaration": false,
"noImplicitAny": true,
Expand Down
64 changes: 6 additions & 58 deletions webpack/webpack.common.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,74 +8,22 @@ const tsImportPluginFactory = require('ts-import-plugin');
const WebpackCreateExtensionManifestPlugin = require('webpack-create-extension-manifest-plugin');
const fs = require('fs');

const { getBasicManifest } = require('./utils/manifest');
const { getBasicManifest, generateManifest } = require('./utils/manifest');
const basicManifest = getBasicManifest();

function resolve(dir) {
return path.join(__dirname, '..', dir);
}

const distFiles = fs.readdirSync(resolve('dist')).filter(o => o !== '.gitkeep');
const publishToStore = process.env.PUBLISH_TO_STORE === 'true';
const targetBrowser = process.env.TARGET_BROWSER || 'Chrome';

let manifestExtra = {
...basicManifest,
permissions: [
'activeTab',
'storage',
'https://api.clipper.website/*',
'https://resource.clipper.website/*',
'contextMenus',
],
commands: {
'toggle-feature-foo': {
suggested_key: {
default: 'Alt+S',
},
description: 'Test',
},
},
optional_permissions: [
'cookies',
'<all_urls>',
'webRequest',
'webRequestBlocking',
'pageCapture',
],
};
const manifestExtra = generateManifest({ targetBrowser, publishToStore, basicManifest });
const distFiles = fs.readdirSync(resolve('dist')).filter(o => o !== '.gitkeep');

let background = resolve('src/main/background.main.chrome.ts');
let tool = resolve('src/main/tool.main.chrome.ts');

if (process.env.TARGET_BROWSER === 'Firefox') {
manifestExtra = {
...basicManifest,
commands: {
'toggle-feature-foo': {
suggested_key: {
default: 'Alt+S',
},
description: 'Test',
},
},
permissions: [
'contextMenus',
'activeTab',
'webRequest',
'webRequestBlocking',
'storage',
'https://api.clipper.website/*',
'https://resource.clipper.website/*',
'cookies',
'<all_urls>',
],
};
if (process.env.FF_RELEASE !== 'true') {
manifestExtra.applications = {
gecko: {
id: 'web-clipper@web-clipper',
},
};
}
if (targetBrowser === 'Firefox') {
background = resolve('src/main/background.main.firefox.ts');
tool = resolve('src/main/tool.main.firefox.ts');
}
Expand Down

0 comments on commit 9da9bf9

Please sign in to comment.