* Manual changes to support using openapi
.devcontainer/Dockerfile
- Install java in devcontainer
.devcontainer/devcontainer.json
- Make devcontainer automatically install VSCode OpenAPI plugin mentioned in #2769
- Make devcontainer automatically install VSCode plugin for Lit
client-src/elements/chromedash-app.js
- Use the generated client in the frontend.
- Leverage lit-labs/context to provide the client.
- Docs about context and use-cases: https://lit.dev/docs/data/context/
client-src/elements/chromedash-app_test.js
- Add tests for the changes in client-src/elements/chromedash-app.js
client-src/contexts/openapi-context.js
- Declare a context for the openapi client.
framework/basehandlers.py
- add do_put function. previously, all other HTTP verbs had a `do_<verb>` version except PUT.
- Add put function that uses defensive_jsonify. This enables XSSI for PUT requests.
- This needed change is safe to do because the only route using PUT is the admin/blink page which I am migrating into the SPA.
gulpfile.babel.js
- Fix usage of rollupBabel. Previously, @rollup/plugin-node-resolve's default export was named rollupBabel. Which is the wrong package. Fixed to use @rollup/plugin-babel
- Using the correct parameters to rollupBabel from https://www.npmjs.com/package/@rollup/plugin-babel
- Add client-src/contexts/*.js to lint and watch targets
- Add custom onwarn for rollup that comes from using the generated frontend code. Check comment for explanation
package.json
- Add lit-labs/context. Needed for changes in client-src/contexts/openapi-context.js
- Tell NPM to use the generated javascript changes via the `workspaces` key.
- Instead of adding as a dependency like [I initially did here](ccd5c8e71b (diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519R101)), rather keep the "dependencies" only for ones pulled from npm remotely.
- workspaces are meant more for packages that comes from the filesystem
- Docs: https://docs.npmjs.com/cli/v9/using-npm/workspaces?v=true
requirements.txt
- Tell pip to install the python package.
package-lock.json
- Generated changes from adding context and workspaces.
* revert accidental Werkzeug upgrade
* fix devcontainer
* Remove context & failed attempt at global
changes:
- Remove the context
- Move the openapi client to js-src
- modify gulp task to:
- ignore the test file
- add the openapi-client to the rollup task instead of the js task since it is a es6 module (because it has an import / require statement)
- Attempt to construct the object in the spa template. It failed to work at load time. More details below:
When trying to call my exported class at page load like the regular client, I get a not defined error.
There are thoughts about this:
- https://stackoverflow.com/a/75026222
- https://stackoverflow.com/a/53630402
- https://stackoverflow.com/a/69888825
This commit serves as an attempt to try it out
Turns out, script type "module" is automatically set to defer and cannot be disabled.
* add new rollup for cjs for openapi client
* add more tests
* fix middleware
* Migrate from node 12 to node 18
* update all packages from npm outdated
* next round of updates
* fix most vulnerabilities
* remaining vulnerabilites
* remove unused dependencies
* Remove python2 scripts. Add `npm stop`.
* Add py2 scripts back in.
* Add dialog before drafting email
* Fix computation of prerequests.
* Fix broken "Edit fields" button by removing it.
* Move the item_stage_map setup to willUpdate.
* Add shoelace, and gulp-concat. Replace dialog in process-overview with shoelace dialog.
* Vulcanized imports are now pre-cached (except for the admin pages)
* Runtime caching for features, samples, and metrics pages
* Runtime caching for the data to support the above pages
* Use sw-precache to generate a service worker script to cache static resources
* Generated/included scripts are put into a `dist` directory, ignored by source control
* Add initial support for Gulp
* Implement clean task to match Grunt behaviour
* Copy from Gulp implementation in Web Starter Kit 0.6.4
* Implement sass task using Gulp
* Implement vulcanize task using Gulp
* Implement Gulp task to minify scripts
* Simplify the Gulp vulcanize task
* Implement Gulp default task to match Grunt behaviour
* Change to use Gulp for build/post install
* Cleanup obsolete Grunt tasks and config
* Grunt is still used for serve task (for now)
* Remove unused Gulp tasks
* Clean up tasks that are not needed, which were copied from
the Web Starter Kit
* Leaving the service worker tasks, as expect those to be used
* Address comments
* Address more comments
* Enable autoprefixer for CSS
* Remove unused tasks