Skip to content

Commit 04d3543

Browse files
committed
feat(app-vite): BEX manifest v3 - support for _locales folder #12968
1 parent b77d793 commit 04d3543

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

app-vite/lib/modes/bex/utils.js

+13-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11

2-
const { writeFileSync, copySync } = require('fs-extra')
2+
const { writeFileSync, copySync, existsSync } = require('fs-extra')
33
const { join } = require('path')
44

55
const appPaths = require('../../app-paths')
66
const { warn } = require('../../helpers/logger')
77

88
const { name, productName, description, version } = require(appPaths.resolve.app('package.json'))
9+
const assetsFolder = appPaths.resolve.bex('assets')
10+
const iconsFolder = appPaths.resolve.bex('icons')
11+
const localesFolder = appPaths.resolve.bex('_locales')
912

1013
module.exports.createManifest = function createManifest (quasarConf) {
1114
let json
@@ -57,11 +60,15 @@ module.exports.createManifest = function createManifest (quasarConf) {
5760
}
5861

5962
module.exports.copyBexAssets = function copyBexAssets (quasarConf) {
60-
const assets = appPaths.resolve.bex('assets')
61-
copySync(assets, join(quasarConf.build.distDir, 'assets'))
63+
const folders = [ assetsFolder, iconsFolder ]
6264

63-
const icons = appPaths.resolve.bex('icons')
64-
copySync(icons, join(quasarConf.build.distDir, 'icons'))
65+
copySync(assetsFolder, join(quasarConf.build.distDir, 'assets'))
66+
copySync(iconsFolder, join(quasarConf.build.distDir, 'icons'))
6567

66-
return [ assets, icons ]
68+
if (existsSync(localesFolder) === true) {
69+
folders.push(localesFolder)
70+
copySync(localesFolder, join(quasarConf.build.distDir, '_locales'))
71+
}
72+
73+
return folders
6774
}

docs/src/pages/quasar-cli-vite/developing-browser-extensions/preparation.md

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ The new folder has the following structure:
4343
   │   ├── icon-128x128.png # Icon file at 128px x 128px
4444
   │   ├── icon-16x16.png # Icon file at 16px x 16px
4545
   │   └── icon-48x48.png # Icon file at 48px x 48px
46+
  ├── _locales # Optional BEX locales files that you might define in manifest
4647
   ├── manifest.json # The browser extension manifest file
4748
   └── my-content-script.js # Standard content script BEX file - auto injected via manifest.json
4849
# (you can have multiple content scripts)

0 commit comments

Comments
 (0)