One of the current and developing assemblies for Gulp. With support for current versions Gulp 4 and Webpack 5. The main idea of the assembly is to simplify and speed up the layout process. For this, a flow was implemented:
-
Full generation custom components and font files.
-
The assemblies use the architecture of components and for them scripts were released for quickly creating, connecting to certain paths in the architecture and deleting a component.
-
Optimization of assembly processing, the main load and data processing falls on the project build. Thanks to this, the start of the project is carried out an order of magnitude quickly.
-
Simplified architecture of the assembly itself Gulp . Thanks to which you yourself can supplement or customize the assembly according to your requirements.
git clone https://github.com/kah3vich/Gulp-RS.git -b [branch]
refs - examples and blanks ( beta ).
npm i -g gulp gulp-cli webpack webpack-cli; yarn
yarn
yarn start
yarn build
yarn build:zip
yarn component:create [name] [path]
yarn component:remove [name] [path]
yarn lint:script
yarn prettier:write
βββ gulp-rs/
|
βββ .github/ - config file to upload to github
|
βββ .husky/ - precommit system
| βββ pre-commit - configure scripts on commit
|
βββ custom/ - custom build functionality
| βββ command.js - script functions for the terminal
| βββ component.js - functions for working with components
| βββ utils.js - various utils for working with custom functions
|
βββ gulp/ - gulp build folder
| βββ config/ - configuration data
| | βββ constant.js - static data
| | βββ path.js - paths for different sections in assemblies
| | βββ plugins.js - build plugin imports
| βββ tasks/ - basic functions to work gulp
| | βββ favicon - create favicon
| | βββ fonts - create style and formatted for fonts
| | βββ html - convert to html
| | βββ image - optimization image
| | βββ reset - remove style font
| | βββ script - processing and optimization javascript
| | βββ scss - convert to css
| | βββ server - start local server to work
| | βββ svg - processing and optimization svg icon
| | βββ zip - build to zip archive
βββ public/ - assembled project
| βββ css/ - collected files css style
| βββ fonts/ - collected files fonts
| βββ img/ - collected files images
| βββ js/ - collected files javascript
| βββ svg/ - collected files svg
| βββ *.html - file page
βββ src/ - main development folder
| βββ components/ - component folder
| | βββ Header/ - component structure example
| | | βββ index.pug - main component file for html
| | | βββ mixin.pug - file for mixins of this component
| | | βββ script.js - script file for this component
| | | βββ styles.scss - style file for this component
| βββ fonts/ - font folder
| | βββ FONT - each font has its own folder with a key name without spaces in the name
| βββ img/ - photo folder
| βββ import/ - connection folder
| | βββ index.pug - imports for html with cdn
| βββ js/ - folder for scripts ( javascript )
| | βββ app.js - main file script
| βββ layout/ - wrapper over pages or blocks
| | βββ default.pug - default layout
| βββ pages/ - folder for pages
| | βββ index.pug - main file page
| βββ scss/ - style folder
| | βββ fonts.scss - auto-generated stylesheet for fonts
| | βββ mixin.scss - global file for style mixins
| | βββ style.scss - global style file
| | βββ variable.scss - variable for styles
| βββ svg/ - folder for svg icon
βββ .browserslistrc - config file for server gulp
βββ .csscomb.json - config file for csscomb css
βββ .editorconfig - config file for editconfig css
βββ .eslintigrone - setting for ignored refactoring and code review files
βββ .eslint - refactoring and code review
βββ .gitignore - ignored files for git
βββ .prettierignore - setting for ignored format files
βββ .prettier - code formatting
βββ .yarnrc.yml - package manager setup yarn
βββ babel.config.json - import package babel for webpack
βββ gulpfile.js - the main assembly file, running and processing all logic
βββ jsconfig.json - config file for javascript
βββ license - base license
βββ package.json - info packages
βββ readme.md - description project
βββ version.json - temporary assembly version, needed to avoid the cache
βββ webpack.config.js - configuration file for working with scripts in gulp