# Making AWS Amplify work with Rollup

Original: https://swyx.io/making-aws-amplify-work-with-rollup-2d9m
Published: 2020-06-02

> AWS Amplify assumes CommonJS, which Rollup is allergic to. I recently discovered that you can make it work with Rollup with a few tweaks.

AWS Amplify assumes CommonJS, which Rollup doesn't work well with (Hence all Amplify web app examples use Webpack). I recently discovered that you can make it work with Rollup with a few tweaks.

Let's take the default Svelte app, which uses Rollup:

```bash
npx degit sveltejs/template my-svelte-project
cd my-svelte-project
npm install
```

This default rollup template lacks just two things you need to use Amplify with Rollup. Install `@rollup/plugin-json`:

```bash
npm i -D @rollup/plugin-json
```

And add it to your `rollup.config.js`. Also set the `node-resolve` plugin's `preferBuiltins` option to false:

```js
import resolve from "@rollup/plugin-node-resolve";
import json from "@rollup/plugin-json"; // new!

export default {
  // ...
  plugins: [
    // ...
    resolve({
      browser: true,
      preferBuiltins: false, // new!
      dedupe: ["svelte"],
    }),
    json(),                  // new!
    // ...
  ]
}
```

And now you are done!

This setup will work fine with Amplify. For a full demo adding a full Amplify CRUD backend to a working Svelte frontend in under 30 mins, check out [my recent practice run here](https://www.youtube.com/watch?v=hCoRYc_FzK0&feature=youtu.be)!

Dev.to Embed: {% youtube hCoRYc_FzK0 %}
