aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--dev/build.js29
-rw-r--r--dev/data/manifest-variants.json20
3 files changed, 37 insertions, 13 deletions
diff --git a/.gitignore b/.gitignore
index 2bb2540a..cb899753 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
node_modules
builds
+.DS_Store
diff --git a/dev/build.js b/dev/build.js
index e9c204c5..496e5865 100644
--- a/dev/build.js
+++ b/dev/build.js
@@ -141,22 +141,25 @@ async function build(buildDir, extDir, manifestUtil, variantNames, manifestPath,
const modifiedManifest = manifestUtil.getManifest(variant.name);
- const fileNameSafe = path.basename(fileName);
- const fullFileName = path.join(buildDir, fileNameSafe);
ensureFilesExist(extDir, excludeFiles);
- if (!dryRun) {
- fs.writeFileSync(manifestPath, ManifestUtil.createManifestString(modifiedManifest));
- }
- if (!dryRun || dryRunBuildZip) {
- await createZip(extDir, excludeFiles, fullFileName, sevenZipExes, onUpdate, dryRun);
- }
+ if (typeof fileName === 'string') {
+ const fileNameSafe = path.basename(fileName);
+ const fullFileName = path.join(buildDir, fileNameSafe);
+ if (!dryRun) {
+ fs.writeFileSync(manifestPath, ManifestUtil.createManifestString(modifiedManifest));
+ }
- if (!dryRun) {
- if (Array.isArray(fileCopies)) {
- for (const fileName2 of fileCopies) {
- const fileName2Safe = path.basename(fileName2);
- fs.copyFileSync(fullFileName, path.join(buildDir, fileName2Safe));
+ if (!dryRun || dryRunBuildZip) {
+ await createZip(extDir, excludeFiles, fullFileName, sevenZipExes, onUpdate, dryRun);
+ }
+
+ if (!dryRun) {
+ if (Array.isArray(fileCopies)) {
+ for (const fileName2 of fileCopies) {
+ const fileName2Safe = path.basename(fileName2);
+ fs.copyFileSync(fullFileName, path.join(buildDir, fileName2Safe));
+ }
}
}
}
diff --git a/dev/data/manifest-variants.json b/dev/data/manifest-variants.json
index 96b6d877..e9672cc0 100644
--- a/dev/data/manifest-variants.json
+++ b/dev/data/manifest-variants.json
@@ -306,6 +306,26 @@
"js/dom/simple-dom-parser.js",
"lib/parse5.js"
]
+ },
+ {
+ "name": "safari",
+ "fileName": null,
+ "modifications": [
+ {"action": "remove", "path": ["optional_permissions"], "item": "clipboardRead"},
+ {"action": "remove", "path": ["permissions"], "item": "webRequestBlocking"},
+ {"action": "delete", "path": ["content_scripts", 0, "match_about_blank"]},
+ {"action": "delete", "path": ["sandbox"]},
+ {
+ "action": "set",
+ "path": ["content_security_policy"],
+ "value": "default-src 'self'; script-src 'self' 'unsafe-eval'; img-src blob: 'self'; style-src 'self' 'unsafe-inline'; media-src *; connect-src *"
+ }
+ ],
+ "excludeFiles": [
+ "sw.js",
+ "js/dom/simple-dom-parser.js",
+ "lib/parse5.js"
+ ]
}
]
}