@sarcio/vite-plugin
v0.3.0
Published
Makes a Vite + React app fixable by Sarcio: approved code fixes take effect in the running page, without a deploy.
Readme
@sarcio/vite-plugin
Makes a Vite + React app fixable by Sarcio: an approved code fix takes effect in the running page, with component state preserved and no deploy.
Setup guides and the full reference are in the Sarcio docs.
Install
npm install --save-dev @sarcio/vite-plugin// vite.config.ts
import { sarcio } from '@sarcio/vite-plugin';
import react from '@vitejs/plugin-react';
import { defineConfig } from 'vite';
export default defineConfig({
plugins: [react(), sarcio({ entry: 'src/App.tsx', siteKey: 'pk_your_site' })]
});That is the whole integration: there is nothing to add to your app, and your
startup file stays as it is. In a production build the plugin builds everything
under entry a second way, one that can be swapped a file at a time, has the
page run it, and applies approved fixes as they go live. Under vite dev it does
nothing.
| Option | Default | Meaning |
| ------------------ | ------------- | ------------------------------------------ |
| entry | required | Your root component's module |
| siteKey | required | Your site's pk_ key |
| root | config.root | Project root |
| outDir | .sarcio | Output folder, inside the build output |
| reactDevelopment | true | Use React's development build (see below) |
| dev | true | Use React's development JSX transform |
| apiBase | Sarcio's | Where your Sarcio workspace is served from |
React ships as its development build. React can only swap a component in
place in that build, so the plugin uses it for React itself. Your app and every
other library still build for production, and you don't set NODE_ENV. Expect
about 60 KB more JavaScript after gzip, and React's development warnings in the
console.
A fix can use any npm package your app already imports, not a new one. Under
entry, import only your own .ts, .tsx, .js and .jsx files by relative
path, plus npm packages; keep stylesheet and asset imports in your startup file.
License
Business Source License 1.1: production use to connect your own applications to a Sarcio subscription or trial is granted; offering a competing service is not. Each version converts to Apache-2.0 four years after its release.
