Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V3: Migrate to Vite #221

Merged
merged 56 commits into from
May 20, 2024
Merged

V3: Migrate to Vite #221

merged 56 commits into from
May 20, 2024

Conversation

enuchi
Copy link
Owner

@enuchi enuchi commented May 19, 2024

This is version 3 of the boilerplate, which makes significant changes to the build script and local development tooling. It replaces Webpack with Vite, which required some significant changes to how the local development setup works with Google Apps Script.

A new dev-server-wrapper.html file is used as the wrapper app in development, which is a standalone html + js file instead of a React app. This reduces the need for a complex build step for the wrapper app. Instead the file is just copied over for each entrypoing and the file location is changed with a "replace" step.

Due to the way Vite works, the html templates are changed a bit to support local development.

Vite doesn't easily allow completely separate multiple builds, so some Vite plugins and custom plugins are written to support multiple entrypoints (sidebars/dialogs). The externalization for large packages is now handled in the Vite config instead of a plugin, and by manually adding in the script tags into the index.html templates.

Additional changes here:

  • yarn is now used instead of npm as package manager
  • eslint configs are updated to support vite
  • GitHub workflows for tests are updated to use yarn and other minor changes such as node versions and OS.
  • A VS Code launch.json configuration is provided
  • Dev wrapper setup has been updated (see above description)
  • ES Modules (import/export) updated throughout
  • Unneeded packages supporting webpack configurations are removed. Many packages have been upgraded. NPM scripts have been updated to use yarn.
  • Removed import React due to Vite config.
  • Added script tags to each template since webpack externalization plugin is no longer used
  • Added <script type="module" src="./index.jsx"></script> to index.html templates to support Vite local development
  • Changed src/server/sheets.js to .ts typescript as exemplar
  • Updated tests to support yarn commands, Vite changes, and listening for Vite stdout triggers.
  • Add Vite-style tsconfig.json
  • README is updated

@enuchi enuchi changed the title Migrate to Vite V3: Migrate to Vite May 20, 2024
@enuchi enuchi merged commit 31befe1 into main May 20, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant