create-svelte-library Svelte Themes

Create Svelte Library

📦 CLI for creating reusable Svelte libraries.

create-svelte-library

CLI for creating reusable, modern Svelte libraries using Rollup.

Features

  • Easy-to-use CLI
  • Handles all modern JS features
  • Bundles commonjs and es module formats
  • Sapper for example usage and local dev
  • Rollup for bundling
  • Babel for transpiling
  • Thorough documentation

Install globally

npm install -g create-svelte-library

Usage with npx

npx create-svelte-library

(npx comes with npm 5.2+ and higher, see instructions for older npm versions)

Creating a New Module

create-svelte-library

Answer some basic prompts about your module, and then the CLI will perform the following steps:

  • copy over the template
  • install dependencies via yarn or npm
  • link packages together for local development
  • initialize local git repo

Development

Local development is broken into two parts (ideally using two tabs).

First, run rollup to build your src/ module and automatically recompile it into dist/ whenever you make changes.

npm run build # runs rollup

The second part will be running the example/ sapper that's linked to the local version of your module.

cd example
npm run dev # runs sapper dev server

Now, anytime you make a change to your library in src/ or to the example app's example/src, sapper will reload your local dev server so you can iterate on your component in real-time.

Publishing to npm

npm publish

This builds commonjs and es versions of your module to dist/ and then publishes your module to npm.

❗ Issues

If you think any of the create-svelte-library can be improved, please do open a PR with any updates and submit any issues. Also, I will continue to improve this, so you might want to watch/star this repository to revisit.

💪 Contribution

We'd love to have your helping hand on contributions to create-svelte-library by forking and sending a pull request!

Your contributions are heartily ♡ welcome, recognized and appreciated. (✿◠‿◠)

How to contribute:

  • Open pull request with improvements
  • Discuss ideas in issues
  • Spread the word
  • Reach out with any feedback

⚖️ License

The MIT License

Top categories

Loading Svelte Themes