mirror of
https://github.com/bitwarden/browser
synced 2025-12-15 07:43:35 +00:00
chore(dev): Switch to using build constant for isDev check
This commit is contained in:
@@ -20,9 +20,10 @@
|
|||||||
"start": "cross-env ELECTRON_IS_DEV=0 ELECTRON_NO_UPDATER=1 electron ./build",
|
"start": "cross-env ELECTRON_IS_DEV=0 ELECTRON_NO_UPDATER=1 electron ./build",
|
||||||
"build-native": "cd desktop_native && node build.js",
|
"build-native": "cd desktop_native && node build.js",
|
||||||
"build": "concurrently -n Main,Rend,Prel -c yellow,cyan \"npm run build:main\" \"npm run build:renderer\" \"npm run build:preload\"",
|
"build": "concurrently -n Main,Rend,Prel -c yellow,cyan \"npm run build:main\" \"npm run build:renderer\" \"npm run build:preload\"",
|
||||||
"build:dev": "concurrently -n Main,Rend -c yellow,cyan \"npm run build:main:dev\" \"npm run build:renderer:dev\"",
|
"build:dev": "concurrently -n Main,Rend,Prel -c yellow,cyan \"npm run build:main:dev\" \"npm run build:renderer:dev\" \"npm run build:preload:dev\"",
|
||||||
"build:preload": "cross-env NODE_ENV=production webpack --config webpack.preload.js",
|
"build:preload": "cross-env NODE_ENV=production webpack --config webpack.preload.js",
|
||||||
"build:preload:watch": "cross-env NODE_ENV=production webpack --config webpack.preload.js --watch",
|
"build:preload:dev": "cross-env NODE_ENV=development webpack --config webpack.preload.js",
|
||||||
|
"build:preload:watch": "cross-env NODE_ENV=development webpack --config webpack.preload.js --watch",
|
||||||
"build:macos-extension:mac": "./desktop_native/macos_provider/build.sh && node scripts/build-macos-extension.js mac",
|
"build:macos-extension:mac": "./desktop_native/macos_provider/build.sh && node scripts/build-macos-extension.js mac",
|
||||||
"build:macos-extension:mas": "./desktop_native/macos_provider/build.sh && node scripts/build-macos-extension.js mas",
|
"build:macos-extension:mas": "./desktop_native/macos_provider/build.sh && node scripts/build-macos-extension.js mas",
|
||||||
"build:macos-extension:masdev": "./desktop_native/macos_provider/build.sh && node scripts/build-macos-extension.js mas-dev",
|
"build:macos-extension:masdev": "./desktop_native/macos_provider/build.sh && node scripts/build-macos-extension.js mas-dev",
|
||||||
@@ -55,15 +56,15 @@
|
|||||||
"dist:mac:with-extension": "npm run build && npm run pack:mac:with-extension",
|
"dist:mac:with-extension": "npm run build && npm run pack:mac:with-extension",
|
||||||
"dist:mac:mas": "npm run build && npm run pack:mac:mas",
|
"dist:mac:mas": "npm run build && npm run pack:mac:mas",
|
||||||
"dist:mac:mas:with-extension": "npm run build && npm run pack:mac:mas:with-extension",
|
"dist:mac:mas:with-extension": "npm run build && npm run pack:mac:mas:with-extension",
|
||||||
"dist:mac:masdev": "npm run build && npm run pack:mac:masdev",
|
"dist:mac:masdev": "npm run build:dev && npm run pack:mac:masdev",
|
||||||
"dist:mac:masdev:with-extension": "npm run build && npm run pack:mac:masdev:with-extension",
|
"dist:mac:masdev:with-extension": "npm run build:dev && npm run pack:mac:masdev:with-extension",
|
||||||
"dist:win": "npm run build && npm run pack:win",
|
"dist:win": "npm run build && npm run pack:win",
|
||||||
"dist:win:ci": "npm run build && npm run pack:win:ci",
|
"dist:win:ci": "npm run build && npm run pack:win:ci",
|
||||||
"publish:lin": "npm run build && npm run clean:dist && electron-builder --linux --x64 -p always",
|
"publish:lin": "npm run build && npm run clean:dist && electron-builder --linux --x64 -p always",
|
||||||
"publish:mac": "npm run build && npm run clean:dist && electron-builder --mac -p always",
|
"publish:mac": "npm run build && npm run clean:dist && electron-builder --mac -p always",
|
||||||
"publish:mac:mas": "npm run dist:mac:mas && npm run upload:mas",
|
"publish:mac:mas": "npm run dist:mac:mas && npm run upload:mas",
|
||||||
"publish:win": "npm run build && npm run clean:dist && electron-builder --win --x64 --arm64 --ia32 -p always -c.win.signtoolOptions.certificateSubjectName=\"8bit Solutions LLC\"",
|
"publish:win": "npm run build && npm run clean:dist && electron-builder --win --x64 --arm64 --ia32 -p always -c.win.signtoolOptions.certificateSubjectName=\"8bit Solutions LLC\"",
|
||||||
"publish:win:dev": "npm run build && npm run clean:dist && electron-builder --win --x64 --arm64 --ia32 -p always",
|
"publish:win:dev": "npm run build:dev && npm run clean:dist && electron-builder --win --x64 --arm64 --ia32 -p always",
|
||||||
"upload:mas": "xcrun altool --upload-app --type osx --file \"$(find ./dist/mas-universal/Bitwarden*.pkg)\" --apiKey $APP_STORE_CONNECT_AUTH_KEY --apiIssuer $APP_STORE_CONNECT_TEAM_ISSUER",
|
"upload:mas": "xcrun altool --upload-app --type osx --file \"$(find ./dist/mas-universal/Bitwarden*.pkg)\" --apiKey $APP_STORE_CONNECT_AUTH_KEY --apiIssuer $APP_STORE_CONNECT_TEAM_ISSUER",
|
||||||
"test": "jest",
|
"test": "jest",
|
||||||
"test:watch": "jest --watch",
|
"test:watch": "jest --watch",
|
||||||
|
|||||||
8
apps/desktop/src/global.d.ts
vendored
8
apps/desktop/src/global.d.ts
vendored
@@ -1,2 +1,10 @@
|
|||||||
declare module "forcefocus";
|
declare module "forcefocus";
|
||||||
declare const ipc: typeof import("./preload").ipc;
|
declare const ipc: typeof import("./preload").ipc;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Will be turned into a constant string in the main process only
|
||||||
|
* likely either `"development"` or `"production"`.
|
||||||
|
*
|
||||||
|
* This is done using the `DefinePlugin` in our webpack files.
|
||||||
|
*/
|
||||||
|
declare const BIT_ENVIRONMENT: string;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ jest.mock("@bitwarden/desktop-napi", () => {
|
|||||||
|
|
||||||
describe("ElectronLogMainService", () => {
|
describe("ElectronLogMainService", () => {
|
||||||
it("sets dev based on electron method", () => {
|
it("sets dev based on electron method", () => {
|
||||||
process.env.ELECTRON_IS_DEV = "1";
|
globalThis.BIT_ENVIRONMENT = "development";
|
||||||
const logService = new ElectronLogMainService();
|
const logService = new ElectronLogMainService();
|
||||||
expect(logService).toEqual(expect.objectContaining({ isDev: true }) as any);
|
expect(logService).toEqual(expect.objectContaining({ isDev: true }) as any);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -20,11 +20,7 @@ export function invokeMenu(menu: RendererMenuItem[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function isDev() {
|
export function isDev() {
|
||||||
// ref: https://github.com/sindresorhus/electron-is-dev
|
return BIT_ENVIRONMENT === "development";
|
||||||
if ("ELECTRON_IS_DEV" in process.env) {
|
|
||||||
return parseInt(process.env.ELECTRON_IS_DEV, 10) === 1;
|
|
||||||
}
|
|
||||||
return process.defaultApp || /node_modules[\\/]electron[\\/]/.test(process.execPath);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isLinux() {
|
export function isLinux() {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ const { merge } = require("webpack-merge");
|
|||||||
const CopyWebpackPlugin = require("copy-webpack-plugin");
|
const CopyWebpackPlugin = require("copy-webpack-plugin");
|
||||||
const TsconfigPathsPlugin = require("tsconfig-paths-webpack-plugin");
|
const TsconfigPathsPlugin = require("tsconfig-paths-webpack-plugin");
|
||||||
const configurator = require("./config/config");
|
const configurator = require("./config/config");
|
||||||
const { EnvironmentPlugin } = require("webpack");
|
const { EnvironmentPlugin, DefinePlugin } = require("webpack");
|
||||||
|
|
||||||
const NODE_ENV = process.env.NODE_ENV == null ? "development" : process.env.NODE_ENV;
|
const NODE_ENV = process.env.NODE_ENV == null ? "development" : process.env.NODE_ENV;
|
||||||
|
|
||||||
@@ -76,6 +76,9 @@ const main = {
|
|||||||
{ from: "./src/locales", to: "locales" },
|
{ from: "./src/locales", to: "locales" },
|
||||||
],
|
],
|
||||||
}),
|
}),
|
||||||
|
new DefinePlugin({
|
||||||
|
BIT_ENVIRONMENT: JSON.stringify(NODE_ENV),
|
||||||
|
}),
|
||||||
new EnvironmentPlugin({
|
new EnvironmentPlugin({
|
||||||
FLAGS: envConfig.flags,
|
FLAGS: envConfig.flags,
|
||||||
DEV_FLAGS: NODE_ENV === "development" ? envConfig.devFlags : {},
|
DEV_FLAGS: NODE_ENV === "development" ? envConfig.devFlags : {},
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ const { merge } = require("webpack-merge");
|
|||||||
const CopyWebpackPlugin = require("copy-webpack-plugin");
|
const CopyWebpackPlugin = require("copy-webpack-plugin");
|
||||||
const TsconfigPathsPlugin = require("tsconfig-paths-webpack-plugin");
|
const TsconfigPathsPlugin = require("tsconfig-paths-webpack-plugin");
|
||||||
const configurator = require("./config/config");
|
const configurator = require("./config/config");
|
||||||
const { EnvironmentPlugin } = require("webpack");
|
const { EnvironmentPlugin, DefinePlugin } = require("webpack");
|
||||||
|
|
||||||
const NODE_ENV = process.env.NODE_ENV == null ? "development" : process.env.NODE_ENV;
|
const NODE_ENV = process.env.NODE_ENV == null ? "development" : process.env.NODE_ENV;
|
||||||
|
|
||||||
@@ -21,7 +21,11 @@ const common = {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
plugins: [],
|
plugins: [
|
||||||
|
new DefinePlugin({
|
||||||
|
BIT_ENVIRONMENT: JSON.stringify(NODE_ENV),
|
||||||
|
}),
|
||||||
|
],
|
||||||
resolve: {
|
resolve: {
|
||||||
extensions: [".tsx", ".ts", ".js"],
|
extensions: [".tsx", ".ts", ".js"],
|
||||||
plugins: [new TsconfigPathsPlugin({ configFile: "./tsconfig.json" })],
|
plugins: [new TsconfigPathsPlugin({ configFile: "./tsconfig.json" })],
|
||||||
|
|||||||
@@ -177,6 +177,9 @@ const renderer = {
|
|||||||
filename: "[name].[contenthash].css",
|
filename: "[name].[contenthash].css",
|
||||||
chunkFilename: "[id].[contenthash].css",
|
chunkFilename: "[id].[contenthash].css",
|
||||||
}),
|
}),
|
||||||
|
new webpack.DefinePlugin({
|
||||||
|
BIT_ENVIRONMENT: JSON.stringify(NODE_ENV),
|
||||||
|
}),
|
||||||
new webpack.EnvironmentPlugin({
|
new webpack.EnvironmentPlugin({
|
||||||
ENV: ENV,
|
ENV: ENV,
|
||||||
FLAGS: envConfig.flags,
|
FLAGS: envConfig.flags,
|
||||||
|
|||||||
Reference in New Issue
Block a user