egoist/poi


⚡A zero-config bundler for JavaScript applications.

https://poi.js.org

License: MIT

Language: JavaScript

Keywords: babel, build-tool, bundle, postcss, preact, react, svelte, typescript, vue, vuejs, webpack



npm version build status npm downloads poi twitter

Poi is a bundler built on the top of webpack, trying to make developing and bundling apps with webpack as easy as possible.

The Poi project is supported by our Backers and funded through Patreon.

Features

  • 📦 Out of box support for JS, CSS, File assets and more.
  • ⚛ Framework-agnostic but also support JSX, Vue and more with no configs.
  • 🔌 Great extensibility.
  • 🐙 Fits most web apps, npm libs.
  • 🚨 Great development experience.

Quick Overview

Before we get started, ensure that you have installed Node.js (>=8) and Yarn (or npm) on your machine.

Get Started Immediately

yarn global add create-poi-app
create-poi-app my-app

cd my-app
npm run dev

Then open http://localhost:4000 to see your app.
When you’re ready to deploy to production, create a minified bundle with npm run build.

Get Started Manually

Inside an empty project, run yarn init or npm init to create a package.json and install Poi:

yarn init
yarn add poi --dev

Now all you need is to create an entry file, like if you're building a website, just create an index.js:

const el = document.createElement('div')
el.textContent = 'Hello Poi!'

document.body.appendChild(el)

Now if you run:

yarn poi --serve

You will get a URL like http://localhost:4000 which you can open to preview the app.

Next let's start adding some dependencies like a CSS file style.module.css:

.title {
  color: pink;
}
import styles from './style.module.css'

const el = document.createElement('div')
el.className = styles.title
el.textContent = 'Hello Poi!'

document.body.appendChild(el)

Save it and the browser will automatically reload to apply the changes!

Documentation

📚 https://poi.js.org

You can improve it by sending pull requests to this repository.

Check out this repository for more examples.

Community

All feedback and suggestions are welcome!

Credits

Poi v12 wouldn't exist without the inspirations from following projects:

  • Webpack
  • Parcel 2
  • Poi itself
  • Vue CLI 3
  • Create React App

License

MIT © EGOIST

Project Statistics

Sourcerank 18
Repository Size 8.88 MB
Stars 4,751
Forks 263
Watchers 90
Open issues 78
Dependencies 2,794
Contributors 18
Tags 996
Created
Last updated
Last pushed

Top Contributors See all

Kevin Titor dependabot-preview[bot] 华晨 borna223 dependabot[bot] c4605 HcySunYang _fargustian Marcin Mikołajczak ULIVZ Vincent Xenua Ilya saltysugar Jasper St. Pierre Benjamin Besse NEIL Tim Lingard Cyril Su

Packages Referencing this Repo

@poi/plugin-karma
Automatic (headless) browser testing with [Karma](https://karma-runner.github.io/latest/index.html).
Latest release 13.0.3 - Updated - 4.75K stars
@poi/plugin-typescript
Official TypeScript plugin for Poi.
Latest release 12.2.2-canary.585.f015dbf.0 - Updated - 4.75K stars
poi
A zero-config bundler for JavaScript applications.
Latest release 12.7.3 - Updated - 4.75K stars
@poi/plugin-bundle-report
This is a preset for adding [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-...
Latest release 12.1.2-canary.585.f015dbf.0 - Updated - 4.75K stars
poi-preset-riot
Use [Riot](http://riotjs.com/) with Poi.
Latest release 10.0.0-alpha.0 - Updated - 4.75K stars
@poi/logger
⚡A zero-config bundler for JavaScript applications.
Latest release 12.0.0 - Updated - 4.75K stars
@poi/dev-utils
⚡A zero-config bundler for JavaScript applications.
Latest release 12.1.3 - Updated - 4.75K stars
@poi/plugin-eslint
Use ESLint to lint JavaScript.
Latest release 12.0.1-canary.585.f015dbf.0 - Updated - 4.75K stars

Recent Tags See all

poi@12.7.3 October 03, 2019
@poi/plugin-vue-static@12.0.8 August 09, 2019
@poi/plugin-html-entry@0.2.1 August 09, 2019
@poi/dev-utils@12.1.3 August 09, 2019
poi@12.7.2 August 09, 2019
@poi/test-utils@12.0.1 July 27, 2019
@poi/plugin-puppet@0.1.5 July 27, 2019
@poi/plugin-karma@13.0.3 July 27, 2019
@poi/plugin-astroturf@0.1.1 July 27, 2019
@poi/dev-utils@12.1.2 July 27, 2019
poi@12.7.1 July 27, 2019
poi@12.7.0 July 03, 2019
create-poi-app@12.2.0 July 03, 2019
poi@12.6.10 May 23, 2019
@poi/plugin-html-entry@0.2.0 May 23, 2019

Something wrong with this page? Make a suggestion

Last synced: 2019-10-03 15:56:11 UTC

Login to resync this repository