mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
parent
c8d054a385
commit
54fa7808c1
@ -147,6 +147,9 @@ async function defineAndRunBuildTasks() {
|
|||||||
browserPlatforms,
|
browserPlatforms,
|
||||||
browserVersionMap,
|
browserVersionMap,
|
||||||
buildType,
|
buildType,
|
||||||
|
applyLavaMoat,
|
||||||
|
shouldIncludeSnow,
|
||||||
|
entryTask,
|
||||||
});
|
});
|
||||||
|
|
||||||
const styleTasks = createStyleTasks({ livereload });
|
const styleTasks = createStyleTasks({ livereload });
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
const { promises: fs } = require('fs');
|
const { promises: fs } = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const { mergeWith, cloneDeep } = require('lodash');
|
const childProcess = require('child_process');
|
||||||
|
const { mergeWith, cloneDeep, capitalize } = require('lodash');
|
||||||
|
|
||||||
const baseManifest = process.env.ENABLE_MV3
|
const baseManifest = process.env.ENABLE_MV3
|
||||||
? require('../../app/manifest/v3/_base.json')
|
? require('../../app/manifest/v3/_base.json')
|
||||||
: require('../../app/manifest/v2/_base.json');
|
: require('../../app/manifest/v2/_base.json');
|
||||||
const { BuildType } = require('../lib/build-type');
|
const { BuildType } = require('../lib/build-type');
|
||||||
|
|
||||||
const { TASKS } = require('./constants');
|
const { TASKS, ENVIRONMENT } = require('./constants');
|
||||||
const { createTask, composeSeries } = require('./task');
|
const { createTask, composeSeries } = require('./task');
|
||||||
|
const { getEnvironment } = require('./utils');
|
||||||
|
|
||||||
module.exports = createManifestTasks;
|
module.exports = createManifestTasks;
|
||||||
|
|
||||||
@ -16,6 +18,9 @@ function createManifestTasks({
|
|||||||
browserPlatforms,
|
browserPlatforms,
|
||||||
browserVersionMap,
|
browserVersionMap,
|
||||||
buildType,
|
buildType,
|
||||||
|
applyLavaMoat,
|
||||||
|
shouldIncludeSnow,
|
||||||
|
entryTask,
|
||||||
}) {
|
}) {
|
||||||
// merge base manifest with per-platform manifests
|
// merge base manifest with per-platform manifests
|
||||||
const prepPlatforms = async () => {
|
const prepPlatforms = async () => {
|
||||||
@ -38,6 +43,9 @@ function createManifestTasks({
|
|||||||
await getBuildModifications(buildType, platform),
|
await getBuildModifications(buildType, platform),
|
||||||
customArrayMerge,
|
customArrayMerge,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
modifyNameAndDescForNonProd(result);
|
||||||
|
|
||||||
const dir = path.join('.', 'dist', platform);
|
const dir = path.join('.', 'dist', platform);
|
||||||
await fs.mkdir(dir, { recursive: true });
|
await fs.mkdir(dir, { recursive: true });
|
||||||
await writeJson(result, path.join(dir, 'manifest.json'));
|
await writeJson(result, path.join(dir, 'manifest.json'));
|
||||||
@ -101,12 +109,39 @@ function createManifestTasks({
|
|||||||
);
|
);
|
||||||
const manifest = await readJson(manifestPath);
|
const manifest = await readJson(manifestPath);
|
||||||
transformFn(manifest);
|
transformFn(manifest);
|
||||||
|
|
||||||
await writeJson(manifest, manifestPath);
|
await writeJson(manifest, manifestPath);
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// For non-production builds only, modify the extension's name and description
|
||||||
|
function modifyNameAndDescForNonProd(manifest) {
|
||||||
|
const environment = getEnvironment({ buildTarget: entryTask });
|
||||||
|
|
||||||
|
if (environment === ENVIRONMENT.PRODUCTION) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const mv3Str = process.env.ENABLE_MV3 ? ' MV3' : '';
|
||||||
|
const lavamoatStr = applyLavaMoat ? ' lavamoat' : '';
|
||||||
|
const snowStr = shouldIncludeSnow ? ' snow' : '';
|
||||||
|
|
||||||
|
// Get the first 8 characters of the git revision id
|
||||||
|
const gitRevisionStr = childProcess
|
||||||
|
.execSync('git rev-parse HEAD')
|
||||||
|
.toString()
|
||||||
|
.trim()
|
||||||
|
.substring(0, 8);
|
||||||
|
|
||||||
|
manifest.name = `MetaMask ${capitalize(
|
||||||
|
buildType,
|
||||||
|
)}${mv3Str}${lavamoatStr}${snowStr}`;
|
||||||
|
|
||||||
|
manifest.description = `${environment} build from git id: ${gitRevisionStr}`;
|
||||||
|
}
|
||||||
|
|
||||||
// helper for merging obj value
|
// helper for merging obj value
|
||||||
function customArrayMerge(objValue, srcValue) {
|
function customArrayMerge(objValue, srcValue) {
|
||||||
if (Array.isArray(objValue)) {
|
if (Array.isArray(objValue)) {
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
"start": "yarn build:dev dev --apply-lavamoat=false --snow=false",
|
"start": "yarn build:dev dev --apply-lavamoat=false --snow=false",
|
||||||
"start:lavamoat": "yarn build:dev dev --apply-lavamoat=true",
|
"start:lavamoat": "yarn build:dev dev --apply-lavamoat=true",
|
||||||
"start:mv3": "ENABLE_MV3=true yarn build:dev dev --apply-lavamoat=false",
|
"start:mv3": "ENABLE_MV3=true yarn build:dev dev --apply-lavamoat=false",
|
||||||
|
"start:flask": "yarn start --build-type flask",
|
||||||
"dist": "yarn build dist",
|
"dist": "yarn build dist",
|
||||||
"build": "yarn lavamoat:build",
|
"build": "yarn lavamoat:build",
|
||||||
"build:dev": "node development/build/index.js",
|
"build:dev": "node development/build/index.js",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user