@sarcio/webpack-plugin
v0.3.0
Published
Makes a webpack + React app fixable by Sarcio: approved code fixes take effect in the running page, without a deploy.
Readme
@sarcio/webpack-plugin
Makes a webpack + 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/webpack-plugin// webpack.config.js
const { SarcioWebpackPlugin } = require('@sarcio/webpack-plugin');
module.exports = {
// ...your normal React config...
plugins: [
new SarcioWebpackPlugin({
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.
| Option | Default | Meaning |
| ------------------ | ------------------ | ------------------------------------------ |
| entry | required | Your root component's module |
| siteKey | required | Your site's pk_ key |
| root | compiler.context | 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.
