Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Arui Feather | 569 | a year ago | 52 | other | TypeScript | |||||
DEPRECATED | ||||||||||
Papanasi | 434 | 2 days ago | 7 | mit | TypeScript | |||||
🥯Papanasi is the Frontend UI library to use cross Frameworks. A set of components to use in Angular, Preact, Qwik, React, Solid, Svelte, Vue and Web Components | ||||||||||
Bem React | 427 | 22 | 53 | 3 months ago | 33 | September 03, 2021 | 43 | other | TypeScript | |
A set of tools for developing user interfaces using the BEM methodology in React | ||||||||||
Augur Ui | 412 | 1 | 1 | 3 years ago | 120 | March 30, 2020 | 3 | mit | JavaScript | |
Augur UI | ||||||||||
Frontend Boilerplates | 361 | a month ago | 11 | mit | JavaScript | |||||
Collection of Boilerplates with ES6, Vue, React, Nuxt, TypeScript, SCSS, Nodejs. Using good practices and file structures to inspire your real projects. | ||||||||||
Yandex Ui | 325 | 3 months ago | 194 | June 29, 2022 | 6 | other | TypeScript | |||
Yandex UI Kit build on React and bem-react | ||||||||||
Bem Cn | 312 | 129 | 38 | 4 months ago | 21 | October 04, 2018 | 13 | mit | TypeScript | |
Friendly BEM-style class name generator, great for React. | ||||||||||
Blog | 155 | 3 years ago | 19 | CSS | ||||||
这是一个Blog, 如果喜欢可以订阅,是Watch, 不是 Star 哈。。。 | ||||||||||
Synergy | 150 | 1 | 1 | 2 years ago | 18 | July 01, 2018 | 11 | mit | JavaScript | |
Synergy is a framework for building modular, configurable and scalable UI components for React-DOM projects | ||||||||||
Bem React | 135 | 7 years ago | May 20, 2015 | 2 | mit | JavaScript | ||||
BEM-flavoured React |
This repository contains a simple but complete boilerplate, with sass compiler and hot-reloading, to easily and fastly start developing projects from scratch with React 16 and Webpack 4
This project was born mainly to satisfy my desire for knowledge.
Being a curious developer I have always wondered how the "engine" of boilerplate generators worked (especially the famous create-react-app
) and I realized that the only way to really learn what's "under the hood" is to write a custom tool to retrace step by step all the main features (plus it was a great way to deepen updates released by Webpack 4).
This project is developed following the best practice for React and style (using OOCSS, ITCSS and BEM methodologies)
Before cloning the repo be sure you have installed:
nvm use
to have the right node version for the projectThen:
cd [folder path]
git clone https://github.com/ibbatta/webpack-modern-boilerplate.git
To install the project and all dependencies, enter in the project folder and run:
# install dependencies
npm install
or
# install dependencies
yarn
Run the project locally using webpack-dev-server on port 9000 (as default)
npm start:dev
# or
yarn start:dev
npm start
#or
yarn start
You can change the default port value setting PORT
in the node env
i.e. PORT=8080 npm start:dev
or PORT=8080 yarn start:dev
npm analyze
#or
yarn analyze
npm test
#or
yarn test
You can add the --watch
flag if you want keep watching changes for test files.
ITCSS stands for Inverted Triangle CSS and it helps you to organize your project CSS files in such way that you can better deal with (not always easy-to-deal with) CSS specifics like global namespace, cascade and selectors specificity.
ITCSS can be used with preprocessors or without them and is compatible with CSS methodologies like BEM, SMACSS or OOCSS.
One of the key principles of ITCSS is that it separates your CSS codebase to several sections (called layers), which take form of the inverted triangle:
You will find a more complete explanation inside each ITCSS layer in ./app
folder.
To keep consistency to the style of resources, I decided to stick to some shared rules that have to be applied to every project using some editors plugins. Please be sure to disable / remove any other js/jsx linters or custom configurations.
I chose to use EditorConfig to share the basic configuration like indentation and charset. It works including an .editorconfig
file in the root directory and making sure your editor has the necessary plugin. You can find a list of downloads here. The choice to keep the indentation with 2 spaces is to be compliant with actual standards (major frameworks use this configuration both for JS and CSS).
I have chose to use js-beautify. Despite of his name it works as a beautifier also for HTML and CSS. Every editor has a plugin that implement it, es. Sublime, Atom or Visual studio. The setup for js-beautify is controlled within a .jsbeautifyrc
file that have to be included in the root directory of the project (.hbs are not completely supported yet).
To check on Javascript / React [.js / .jsx] syntax I use Eslint. The rules to detect errors are written in a .eslintrc
file included in the root directory of the project (for best practices use airbnb linter
).
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature
This is just a personal project created for study / demonstration purpose only, it may or may not be a good fit for your project(s).