├── .gitignore ├── .gitattributes ├── .travis.yml ├── contributing.md ├── code-of-conduct.md └── readme.md /.gitignore: -------------------------------------------------------------------------------- 1 | ab-results*.json -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | readme.md merge=union 3 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: ruby 2 | rvm: 2.4.1 3 | before_script: gem install awesome_bot 4 | script: awesome_bot -f readme.md -w "hackernoon.com,codeburst.io,travis-ci" 5 | 6 | notifications: 7 | email: false 8 | -------------------------------------------------------------------------------- /contributing.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | Please note that this project is released with a 4 | [Contributor Code of Conduct](code-of-conduct.md). By participating in this 5 | project you agree to abide by its terms. 6 | 7 | --- 8 | 9 | Ensure your pull request adheres to the following guidelines: 10 | 11 | - Suggested packages should be tested and documented. 12 | - Make an individual pull request for each suggestion. 13 | - Use the following format: [package](link) - Description. 14 | - Additions should be added to the bottom of the relevant category. 15 | - Link to the GitHub repo, not npmjs.com. 16 | - Keep descriptions short and simple, but descriptive. 17 | - Don't mention `parcel` in the description as it's implied. 18 | - Start the description with a capital and end with a full stop/period. 19 | - Don't start the description with A or An. 20 | - Check your spelling and grammar. 21 | - Make sure your text editor is set to remove trailing whitespace. 22 | - The pull request should have a useful title and include a link to the package and why it should be included. 23 | - New categories or improvements to the existing categorization are welcome, but should be done in a separate pull request. 24 | 25 | Thank you for your suggestions! 26 | 27 | 28 | ## Updating your PR 29 | 30 | A lot of times, making a PR adhere to the standards above can be difficult. 31 | If the maintainers notice anything that we'd like changed, we'll ask you to 32 | edit your PR before we merge it. There's no need to open a new PR, just edit 33 | the existing one. If you're not sure how to do that, 34 | [here is a guide](https://github.com/RichardLitt/knowledge/blob/master/github/amending-a-commit-guide.md) 35 | on the different ways you can update your PR so that we can merge it. 36 | -------------------------------------------------------------------------------- /code-of-conduct.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, gender identity and expression, level of experience, 9 | nationality, personal appearance, race, religion, or sexual identity and 10 | orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at max.karelov@gmail.com. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at [http://contributor-covenant.org/version/1/4][version] 72 | 73 | [homepage]: http://contributor-covenant.org 74 | [version]: http://contributor-covenant.org/version/1/4/ 75 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Awesome Parcel [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) [![Slack](https://slack.parceljs.org/badge.svg)](https://slack.parceljs.org) [![Twitter Follow](https://img.shields.io/twitter/follow/parceljs.svg?style=social)](https://twitter.com/parceljs) 2 | 3 | > A curated list of Parcel [plugins](https://www.npmjs.com/search?q=parcel-plugin-), articles, etc. 4 | 5 | 6 | ## Ecosystem 7 | - [Website](https://parceljs.org) 8 | - [Documentation](https://parceljs.org/getting_started.html) 9 | - [Repository](https://github.com/parcel-bundler/parcel) 10 | - [Twitter](https://twitter.com/parceljs) 11 | - [Slack](https://slack.parceljs.org/) 12 | 13 | 14 | ## Contents 15 | 16 | - [Examples](#examples) 17 | - [Plugins](#plugins) 18 | - [Templates](#templates) 19 | - [Frameworks](#frameworks) 20 | - [JavaScript dialects, other languages](#javascript-dialects-other-languages) 21 | - [Other](#other) 22 | - [Integration with other languages, frameworks](#integration-with-other-languages-frameworks) 23 | - [Articles](#articles) 24 | - [English](#english) 25 | - [Portuguese](#portuguese) 26 | - [Russian](#russian) 27 | - [French](#french) 28 | - [Chinese](#chinese) 29 | 30 | 31 | ## Examples 32 | 33 | - [Element UI](https://github.com/bubnenkoff/parcel-vue-template) - Minimal Vue Element UI Parcel template. 34 | - [React](https://github.com/jaredpalmer/react-parcel-example) - Minimum viable React app. 35 | - [React with SSR](https://github.com/gregtillbrook/react-head-start) - React starter app including Server Side Rendering and code splitting. 36 | - [React with TypeScript](https://github.com/adhrinae/ts-react-parcel) - Example code and test cases with React, TypeScript, Jest. 37 | - [Angular](https://github.com/DeMoorJasper/Angular-Parcel-Boilerplate) - Angular boilerplate. 38 | - [Vue.js](https://github.com/parcel-bundler/examples/tree/master/vue) - Basic `Hello, World!` example. 39 | - [Vue.js with Vuex and Vue Router](https://github.com/proYang/vue-parcel-demo) - Quickstart example including Code Splitting, Hot Reloading, Vuex, Vue Router and Less. 40 | - [Metal.js](https://github.com/matuzalemsteles/metal-parcel-example) - Simple example with Metal.js. 41 | - [ReasonReact](https://github.com/Raincal/parcel-reason-react-app) - Simple Reason React app. 42 | - [PixiJS with Typescript](https://github.com/lucas-jones/pixi-ts-parcel-example) - Simple PixiJS starter app. 43 | - [Dart](https://github.com/neutrino2211/parcel-plugin-dart/tree/master/examples/helloworld) - Simple `Hello, World` example. 44 | - [AWS IoT Button logger to git](https://github.com/kachkaev/aws-iot-button-logger-to-git/) - A beginner-friendly AWS Lambda function that logs events from IoT devices into a git repository of your choice. Written in TypeScript, tested with Jest, compiled with Parcel into a single file. The project uses Azure Pipelines as CI. 45 | 46 | 47 | ## Plugins 48 | 49 | ### Templates 50 | 51 | - [Pug](https://github.com/Ty3uK/parcel-plugin-pug) - Pug template support. 52 | - [Markdown](https://github.com/gongpeione/parcel-plugin-markdown) - Plugin for markdown support. 53 | - [Markdown String](https://github.com/jaywcjlove/parcel-plugin-markdown-string) - Plugin for markdown string support. 54 | - [Markdown with Frontmatter](https://github.com/umstek/parcel-plugin-md-fm) - Plugin for markdown with frontmatter support. 55 | - [Mustache](https://github.com/suuzee/parcel-plugin-mustache) - Plugin for Mustache template support. 56 | - [Nunjucks](https://github.com/devmattrick/parcel-plugin-nunjucks) - Plugin to compile Nunjucks templates. 57 | - [Handlebars](https://github.com/robbiedigital/parcel-plugin-handlebars) - Plugin to compile handlebars templates. 58 | - [Handlebars precompile](https://github.com/belicekm/parcel-plugin-handlebars-precompile) - Plugin to precompile handlebars templates into template functions. 59 | - [Protobuf](https://github.com/Jabher/parcel-plugin-pbf) - Plugin to compile [Protocol Buffer](https://developers.google.com/protocol-buffers/) binary protocol schemas with [pbf](https://github.com/mapbox/pbf). 60 | 61 | ### Frameworks 62 | 63 | - [Svelte](https://github.com/DeMoorJasper/parcel-plugin-svelte) - Svelte support. 64 | - [Angular](https://github.com/fathyb/parcel-plugin-angular) - Angular support. 65 | 66 | ### JavaScript dialects, other languages 67 | 68 | - [TypeScript](https://github.com/fathyb/parcel-plugin-typescript) - Enhanced TypeScript integration. 69 | - [BuckleScript](https://github.com/jihchi/parcel-plugin-bucklescript) - Plugin that enables BuckleScript support 70 | - [Elm](https://github.com/ssuman/parcel-plugin-elm) - Plugin that enables Elm support. 71 | - [LightScript](https://github.com/chee/parcel-plugin-lightscript) - Example plugin for loading LightScript. 72 | - [LiveScript](https://github.com/c0deaddict/parcel-plugin-livescript) - Plugin for LiveScript support. 73 | - [Emscripten](https://github.com/taktod/parcel-plugin-emc) - Plugin for Emscripten support. 74 | - [Fable](https://github.com/slogsdon/parcel-plugin-fable) - Enable F# support via Fable + Babel. 75 | - [Dart](https://github.com/neutrino2211/parcel-plugin-dart) - Plugin for Dart support via dart2js 76 | 77 | ### Other 78 | 79 | - [ESLint](https://github.com/BoltDoggy/parcel-plugin-eslint) - Plugin for ESlint support. 80 | - [Bundle Manifest](https://github.com/mugi-uno/parcel-plugin-bundle-manifest) - Plugin for generating a bundle manifest. 81 | - [AppCache](https://github.com/pierredavidbelanger/parcel-plugin-appcache) - Plugin for generating an appcache manifest. 82 | - [parcel-plugin-sw-cache](https://github.com/mischnic/parcel-plugin-sw-cache) - Run workbox-build after every build. 83 | - [Inline SVG](https://github.com/albinotonnina/parcel-plugin-inlinesvg) - Plugin that enables inline svg support. 84 | - [SVG Sprite](https://github.com/Epimodev/parcel-plugin-svg-sprite) - Plugin that generates a sprite of imported svg files. 85 | - [Wrapper](https://github.com/albinotonnina/parcel-plugin-wrapper) - Plugin that wraps output files with custom text or code. 86 | - [Url-Loader](https://github.com/fansenze/parcel-plugin-url-loader) - Plugin that enables convert image to base64 in `js`/`css`. 87 | - [css-url-loader](https://github.com/BarryYan/parcel-plugin-css-url-loader) - Plugin that enables convert image to base64 in `css`. 88 | - [Google Closure](https://github.com/fathyb/parcel-plugin-closure) - Plugin that uses Google Closure compiler to minify and tree-shake JavaScript. 89 | - [Image minification](https://github.com/DeMoorJasper/parcel-plugin-imagemin) - Plugin that uses imagemin to minify images on build 90 | - [Bundle Visualiser](https://github.com/gregtillbrook/parcel-plugin-bundle-visualiser) - Plugin to visualise bundle contents (the parcel version of webpacks [webpack-bundle-analyzer](https://www.npmjs.com/package/webpack-bundle-analyzer)) 91 | - [css to style object](https://www.npmjs.com/package/parcel-plugin-css-object) import css as object 92 | - [SW Precache](https://github.com/cyyyu/parcel-plugin-sw-precache) Plugin to generate a service worker file that will precache resources so they work offline. (PWA) 93 | - [react-native-web](https://github.com/dalcib/parcel-plugin-react-native-web) - Plugin that enables [react-native-web](https://github.com/necolas/react-native-web) support. 94 | - [web-extension](https://github.com/kevincharm/parcel-plugin-web-extension) - Plugin that enables to use a WebExtension `manifest.json` as an entry point. 95 | - [Static Files Copy](https://github.com/elwin013/parcel-plugin-static-files-copy) - Plugin that copies static files into bundle directory. 96 | - [Inliner](https://github.com/shff/parcel-plugin-inliner) - Inlines all your CSS, JS and images in a single HTML file. Great for small websites. 97 | - [PurifyCSS](https://github.com/shff/parcel-plugin-purifycss) - Removes unused selectors from your CSS files using [PurifyCSS](https://github.com/purifycss/purifycss). 98 | - [PurgeCSS](https://github.com/cprecioso/parcel-plugin-purgecss) - Removes unused selectors from your CSS files using [PurgeCSS](https://github.com/FullHuman/purgecss). 99 | - [Modernizr](https://github.com/hirasso/parcel-plugin-modernizr) - Generates a custom modernizr build 100 | - [Watch Reload](https://github.com/hirasso/parcel-plugin-watch-reload) - Watches files outside of parcel bundles and sends a reload request to parcel if they change 101 | - [HTML Interpolation](https://github.com/krotovic/parcel-plugin-interpolate-html) - Interpolation plugin that gives you option to use your .env variable inside HTML 102 | - [Static ZIP](https://github.com/agentcooper/parcel-plugin-static-zip) - Provide archived local directory in the static build. Useful for BrowserFS. 103 | - [Shebang](https://github.com/cyntl3r/parcel-plugin-shebang) - Add a shebang to the output files (useful for CLI applications). 104 | - [data-src](https://github.com/arnellebalane/parcel-plugin-data-src) - Bundles resources defined in `data-srcset` and `data-src` HTML attributes. 105 | - [compress](https://github.com/ralscha/parcel-plugin-compress) - Precompresses (gzip, brotli) build output with [@gfx/zopfli](https://github.com/gfx/universal-zopfli-js) and [brotli](https://www.npmjs.com/package/brotli) 106 | - [parcel-plugin-text](https://www.npmjs.com/package/parcel-plugin-text) Load any asset as text 107 | - [Structurize](https://www.npmjs.com/package/parcel-plugin-structurize) Structurize the build directory using glob matching and update paths as well. 108 | - [parcel-plugin-run-server](https://github.com/qualitybath/parcel-plugin-run-server) Start (and restart) a node server while running in watch mode. 109 | - [parcel-plugin-prerender](https://github.com/ABuffSeagull/parcel-plugin-prerender) Drop-in universal pre-rendering. 110 | - [parcel-plugin-ogimage](https://github.com/lukechilds/parcel-plugin-ogimage) Set absolute URL for og:image meta tags. 111 | - [parcel-plugin-graphql-raw](https://github.com/Ty3uK/parcel-plugin-graphql-raw) Export GraphQL files as plain text. 112 | - [parcel-plugin-goodie-bag](https://github.com/edm00se/parcel-plugin-goodie-bag/) Automatically polyfill `Promise` and `fetch` for Internet Explorer (11) support of importing HTML. 113 | - [parcel-plugin-subresource-integrity](https://github.com/jonathannen/parcel-plugin-subresource-integrity/) Adds Subresource `integrity` attributes to the HTML entry point for CSS and JS assets. 114 | - [CSS Modules](https://github.com/rfgamaral/parcel-plugin-typings-for-css-modules) Plugin to generate `.d.ts` (TypeScript type definitions) files for your CSS Modules, powered by [@Quramy/typed-css-modules](https://github.com/Quramy/typed-css-modules). 115 | - [parcel-plugin-overwolf](https://github.com/sammccord/parcel-plugin-overwolf) Plugin that enables use of [Overwolf's `manifest.json`](http://developers.overwolf.com/documentation/sdk/overwolf/manifest-json/) 116 | - [code obfuscation](https://github.com/jabuco/parcel-plugin-obfuscate) Plugin that uses [`javascript-obfuscate`](https://github.com/javascript-obfuscator/javascript-obfuscator/) to obfuscate javascript code of entry assets. 117 | 118 | ## Integration with other languages, frameworks 119 | 120 | - [parcel-rails](https://github.com/michaldarda/parcel-rails) - Ruby On Rails gem, for easier integration into Rails applications 121 | - [karma-parcel](https://github.com/valotas/karma-parcel) - Let parcel bundle your tests that karma should run 122 | 123 | ## Articles 124 | 125 | ### English 126 | 127 | - [Announcing Parcel: A blazing fast, zero configuration web application bundler](https://hackernoon.com/announcing-parcel-a-blazing-fast-zero-configuration-web-application-bundler-feac43aac0f1?source=search_post---------0) 128 | - [Parcel Bundler with React and Hot Module Replacement](https://medium.com/@d.kang/parcel-bundler-with-react-and-hot-module-replacement-7f92efd25584) 129 | - [Code Splitting with Parcel Web App Bundler](https://hackernoon.com/code-splitting-with-parcel-web-app-bundler-fe06cc3a20da) 130 | - [Parcel: A Zero-Configuration Webpack Alternative](https://www.youtube.com/watch?v=4XB6jcyiADY) - Get started with Parcel in 20 minutes(video) 131 | 132 | ### Portuguese 133 | 134 | - [Parcel Bundler: Criando um projeto React](https://medium.com/tableless/parcel-bundler-criando-um-projeto-react-1a620a151e34) 135 | 136 | ### Russian 137 | 138 | - [Parcel — очень быстрый бандлер, не требующий настройки](https://habr.com/ru/post/344486/) - Parcel quick review. 139 | - [Parcel — пишем плагин](https://habr.com/ru/post/344858/) - How to write a Parcel plugin. 140 | 141 | ### French 142 | 143 | - [Parcel - Présentation](https://www.grafikart.fr/tutoriels/parcel-bundler-985) - Parcel review (video) 144 | - [Parcel - Changer le bundler de Phoenix](https://dev.to/jeansmaug/phoenix-changer-de-bundler-4339) - Integration in a framework 145 | 146 | ### Chinese 147 | 148 | - [下一代零配置打包工具 Parcel 初体验](https://zhuanlan.zhihu.com/p/34033344) - Quick view of the next generation bundler Parcel 149 | - [Parcel 教程?不需要。](https://blog.zfanw.com/parcel-bundler-tutorial/) - You don't need a tutorial for Parcel since it's so easy 150 | ## Contribute 151 | 152 | Contributions welcome! Read the [contribution guidelines](contributing.md) first. 153 | 154 | 155 | ## License 156 | 157 | [![CC0](https://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) 158 | 159 | To the extent possible under law, [Maksim Karelov](https://github.com/Ty3uK) has waived all copyright and 160 | related or neighboring rights to this work. 161 | --------------------------------------------------------------------------------