Refactor the remaining logic from gulp. Part of the browser build script
refactor effort.
Webpack is now responsible for performing most of the operations previously
done by gulp. This includes: - Setting browser specific class - Building the
manifest file The `package.json` is modified to include browser specific
commands for `build`, `build:prod`, `build:watch` and `dist`.
# Manifests
Manifests now uses the `copy-webpack-plugin` `transform` feature. The logic is
located in `apps/browser/webpack/manifest.js`. It reads a template, which
supports some basic operations primarily overriding with browser specific
fields using `__browser__`. The `manifest.json` for both regular and mv3
builds are identical to our existing manifests except:
- `applications` renamed to `browser_specific_settings`.
- `permissions` sorted alphabetically.
# Safari build
Safari requires additional packaging commands. This is implemented as a
powershell script due to the cross-platform nature, and since we generally
require powershell in our distribution pipelines. An alternative would be to
write it in bash, but bash is less powerful and would require some additional
commands like `jq`. Another alternative is to write it using js, but that would
require additional dependencies.
Refactor the remaining logic from gulp. Part of the browser build script
refactor effort.
Webpack is now responsible for performing most of the operations previously
done by gulp. This includes: - Setting browser specific class - Building the
manifest file The `package.json` is modified to include browser specific
commands for `build`, `build:prod`, `build:watch` and `dist`.
# Manifests
Manifests now uses the `copy-webpack-plugin` `transform` feature. The logic is
located in `apps/browser/webpack/manifest.js`. It reads a template, which
supports some basic operations primarily overriding with browser specific
fields using `__browser__`. The `manifest.json` for both regular and mv3
builds are identical to our existing manifests except:
- `applications` renamed to `browser_specific_settings`.
- `permissions` sorted alphabetically.
# Safari build
Safari requires additional packaging commands. This is implemented as a
powershell script due to the cross-platform nature, and since we generally
require powershell in our distribution pipelines. An alternative would be to
write it in bash, but bash is less powerful and would require some additional
commands like `jq`. Another alternative is to write it using js, but that would
require additional dependencies.
Part of the browser build script refactor effort. bitwarden.atlassian.net/browse/PM-6683
The beta logic adds a fair bit of complexity and is currently unused. Let’s remove it and we can look into re-add it after migrating to our new build system.
* [PM-10667] Implement manifest v3 on Firefox and Safari
* [PM-10667] Fixing issues with CORS present in sandboxed iframe on Firefox
* [PM-10667] Updating gulp build process to ensure dist files are created correctly
* [PM-10667] Adding build processes to the Github workflow
* [PM-10667] Removing faulty Safari mv3 build workflow
* [PM-10667] Fixing jest tests
* [PM-10667] Reworking logic within inline menu
* Update apps/browser/webpack.config.js
Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>
---------
Co-authored-by: Jonathan Prusik <jprusik@users.noreply.github.com>
* [PM-7663] Update build pipeline for beta labeling
* [PM-7663] Update build pipeline for beta labelling
* [PM-7663] Update build pipeline for beta labelling
* [PM-7663] Update build pipeline for beta labelling
* [PM-7663] Update build pipeline for beta labelling
* [PM-7663] Incorporate build workflow for the Chrome manifest v3 beta
* [PM-7663] Update build pipeline for beta labeling
* [PM-7663] Update build pipeline for beta labeling
* [PM-7663] Update build pipeline for beta labeling
* [PM-7663] Ensure we can have a valid version number based on the github run id
* [PM-7663] Ensure we can have a valid version number based on the github run id
* [PM-7663] Reverting change made to the run id, as it will not function
* [PM-7663] Reverting change made to the run id, as it will not function
* [PM-7663] Reverting change made to the run id, as it will not function
* [PM-7663] Reverting change made to the run id, as it will not function
* [PM-7663] Reverting a typo
* Fix Duplicate `process.env
* Learn how to use
---------
Co-authored-by: Justin Baur <19896123+justindbaur@users.noreply.github.com>