Skip to content

Commit 5bb2ffc

Browse files
committed
Gnerate development files for FireFox
1 parent dd82bf7 commit 5bb2ffc

File tree

3 files changed

+35
-6
lines changed

3 files changed

+35
-6
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ node_modules
22

33
dist_dev
44

5+
firefox_dev
6+
57
server/main
68

7-
market_packages
9+
market_packages

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webpack.config.js

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ const resolveEnv = require('./env')
1414

1515
const { env, variables } = resolveEnv(__dirname)
1616

17+
const isDev = env === 'development'
18+
const isProd = env === 'production'
19+
20+
1721
const { name, version } = require('./package.json')
1822

1923
// @since 1.2.1 add url permission
@@ -41,11 +45,16 @@ for (const localeName in chromeMessages) {
4145
const locale = chromeMessages[localeName]
4246
generateJsonPlugins.push(new GenerateJsonPlugin(path.join("_locales", localeName, "messages.json"), locale))
4347
}
48+
const manifestFirefoxName = 'manifest-firefox.json'
49+
if (isDev) {
50+
// The manifest.json is different from Chrome's with add-on ID
51+
const firefoxManifestGeneratePlugin = new GenerateJsonPlugin(manifestFirefoxName, { ...manifest, browser_specific_settings: { gecko: { id: 'make-zero@zhy' } } })
52+
generateJsonPlugins.push(firefoxManifestGeneratePlugin)
53+
}
4454

4555
const plugins = [
4656
new VueLoaderPlugin(),
4757
...generateJsonPlugins,
48-
// new GenerateJsonPlugin('manifest.json', manifest),
4958
new CopyWebpackPlugin({ patterns: [{ from: __dirname + '/public', to: './static' }] }), // copy static resources
5059
// Define environment variables
5160
new webpack.DefinePlugin({
@@ -56,7 +65,7 @@ const plugins = [
5665
})
5766
]
5867

59-
if (env === 'production') {
68+
if (isProd) {
6069
const normalZipFilePath = `./market_packages/${name}-${version}.zip`
6170
const sourceCodeForFireFox = `./market_packages/${name}-${version}-src.zip`
6271

@@ -93,6 +102,24 @@ if (env === 'production') {
93102
}
94103
})
95104
)
105+
} else if (isDev) {
106+
const firefoxDevDir = './firefox_dev'
107+
// Generate FireFox dev files
108+
plugins.push(new FileManagerWebpackPlugin({
109+
events: {
110+
onEnd: [
111+
{
112+
copy: [
113+
{ source: './dist_dev', destination: firefoxDevDir }
114+
],
115+
delete: [`./dist_dev/${manifestFirefoxName}`, `${firefoxDevDir}/manifest.json`],
116+
move: [
117+
{ source: `${firefoxDevDir}/${manifestFirefoxName}`, destination: `${firefoxDevDir}/manifest.json` }
118+
]
119+
}
120+
]
121+
}
122+
}))
96123
}
97124

98125
const options = {
@@ -138,7 +165,7 @@ const options = {
138165
}
139166
}
140167

141-
if (env === 'development') {
168+
if (isDev) {
142169
// no eval with development, but generate *.map.js
143170
options.devtool = 'cheap-module-source-map'
144171
}

0 commit comments

Comments
 (0)