Bumps [webpack](https://github.com/webpack/webpack) from 5.76.1 to 5.94.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack/releases">webpack's releases</a>.</em></p> <blockquote> <h2>v5.94.0</h2> <h2>Bug Fixes</h2> <ul> <li>Added runtime condition for harmony reexport checked</li> <li>Handle properly <code>data</code>/<code>http</code>/<code>https</code> protocols in source maps</li> <li>Make <code>bigint</code> optimistic when browserslist not found</li> <li>Move <code>@types/eslint-scope</code> to dev deps</li> <li>Related in asset stats is now always an array when no related found</li> <li>Handle ASI for export declarations</li> <li>Mangle destruction incorrect with export named default properly</li> <li>Fixed unexpected asi generation with sequence expression</li> <li>Fixed a lot of types</li> </ul> <h2>New Features</h2> <ul> <li>Added new external type "module-import"</li> <li>Support <code>webpackIgnore</code> for <code>new URL()</code> construction</li> <li>[CSS] <code>@import</code> pathinfo support</li> </ul> <h2>Security</h2> <ul> <li>Fixed DOM clobbering in auto public path</li> </ul> <h2>v5.93.0</h2> <h2>Bug Fixes</h2> <ul> <li>Generate correct relative path to runtime chunks</li> <li>Makes <code>DefinePlugin</code> quieter under default log level</li> <li>Fixed mangle destructuring default in namespace import</li> <li>Fixed consumption of eager shared modules for module federation</li> <li>Strip slash for pretty regexp</li> <li>Calculate correct contenthash for CSS generator options</li> </ul> <h2>New Features</h2> <ul> <li>Added the <code>binary</code> generator option for asset modules to explicitly keep source maps produced by loaders</li> <li>Added the <code>modern-module</code> library value for tree shakable output</li> <li>Added the <code>overrideStrict</code> option to override strict or non-strict mode for javascript modules</li> </ul> <h2>v5.92.1</h2> <h2>Bug Fixes</h2> <ul> <li>Doesn't crash with an error when the css experiment is enabled and contenthash is used</li> </ul> <h2>v5.92.0</h2> <h2>Bug Fixes</h2> <ul> <li>Correct tidle range's comutation for module federation</li> <li>Consider runtime for pure expression dependency update hash</li> <li>Return value in the <code>subtractRuntime</code> function for runtime logic</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|---|---|---|
| .. | ||
| changes | ||
| src | ||
| .gitignore | ||
| CHANGELOG.md | ||
| jest.config.ts | ||
| jest.setup.ts | ||
| jsdomwithfetch.ts | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| server.go | ||
| tsconfig.json | ||
| updates-beta.xml | ||
| updates.xml | ||
| webpack.common.js | ||
| webpack.dev.js | ||
| webpack.prod.js | ||
Fleetd Chrome Extension
Packaging the extension locally
Generate a .pem file to be the key for the chrome extension.
(In parent dir) Run the following command to generate an extension.
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --pack-extension=./fleetd-chrome --pack-extension-key=path/to/chrome.pem
Adding Chrome to Fleet
To learn how to package and add hosts to Fleet, visit: https://fleetdm.com/docs/using-fleet/enroll-hosts#enroll-chromebooks.
Debugging
Service worker
View service worker logs in chrome://serviceworker-internals/?devtools (in production), or in chrome://extensions (only during development).
Manual Enroll
Steps 1 and 2 can be performed on your workstation. Step 3 and 4 are to be executed on the target Chromebook.
- Create your .env file:
IMPORTANT: The address in
FLEET_URLmust have a valid TLS certificate.
echo 'FLEET_URL="https://your-fleet-server.example.com"' >> .env
echo 'FLEET_ENROLL_SECRET="<your enroll secret>"' >> .env
To test with your local Fleet server, you can use Tunnelmole or ngrok.
Tunnelmole:
tmole 8080
ngrok:
ngrok http https://localhost:8080
- Build the "unpacked extension":
npm install && npm run build
The above command will generate an unpacked extension in ./dist.
-
Send the
./distfolder to the target Chromebook. -
In the target Chromebook, go to
chrome://extensions, toggleDeveloper modeand click onLoad unpackedand select thedistfolder.
Testing
Run tests
npm run test
Release
- At the top of the repo, update CHANGELOG.md by running
version="X.X.X" make changelog-chrome - Review CHANGELOG.md
- At
ee/fleetd-chrome, runnpm version X.X.Xto update the version inpackage.jsonandpackage-lock.json - Commit the changes and tag the commit with
fleetd-chrome-vX.X.X-beta. This will trigger the beta release workflow. - Once the beta release is tested and PR merged, tag the commit with
fleetd-chrome-vX.X.X. This will trigger the release workflow. - Announce the release in the #help-engineering channel in Slack.
Using GitHub Actions, the build is automatically uploaded to R2 and properly configured clients should be able to update immediately when the job completes. Note that automatic updates seem to only happen about once a day in Chrome -- Hit the "Update" button in chrome://extensions to trigger the update manually.
Beta releases
Beta releases are pushed to https://chrome-beta.fleetdm.com/updates.xml with the extension ID bfleegjcoffelppfmadimianphbcdjkb.
Kick off a beta release by updating the package.json, then tag a commit with fleetd-chrome-vX.X.X-beta to kick off the build and deploy.