Wallogit.com
2017 © Pedro Peláez
Set of front-end tools for Magento 2, based on Gulp.js
Set of front-end tools for Magento 2, based on Gulp.js, (*2)
If you have any questions about this project let's go to offical Magento forum - Less to Sass Community Project, (*3)
.node-version file.yarn global add gulp-cli or npm install -g gulp-cli
composer require snowdog/frontools
cd vendor/snowdog/frontools
yarn or npm install
config directory or in dev/tools/frontools/config.
There is a gulp setup task to copy all sample config files from the config to dev/tools/frontools/config and create a convenient symlink tools in the project root.
If you want to keep config files inside frontools config dir, you have to handle this manually.themes.json.themes.json structureCheck config/themes.json.sample to get samples.
- src - full path to theme
- dest - full path to pub/static/[theme_area]/[theme_vendor]/[theme_name]
- locale - array of available locales
- parent - name of parent theme
- stylesDir - (default styles) path to styles directory. For theme-blank-sass it's styles. By default Magento 2 use web/css.
- disableSuffix - disable adding .min suffix using --prod flag.
- postcss - (deafult ["plugins.autoprefixer()"]) PostCSS plugins config. Have to be an array.
- modules - list of modules witch you want to map inside your theme
- ignore - array of ignore patterns, (*4)
watcher.json structureCheck config/watcher.json.sample to get samples.
- usePolling - set this to true to successfully watch files over a network (i.e. Docker or Vagrant) or when your watcher dosen't work well. Warining, enabling this option may lead to high CPU utilization! chokidar docs, (*5)
You will find sample config files for theses plugins in vendor/snowdog/frontools/config directory.
* Create browserSync configuration
* Create eslint configuration
* Create sass-lint configuration
* Create stylelint configuration
* Create svg-sprite configuration, (*6)
babel - Run Babel, a compiler for writing next generation JavaScript.
--theme name - Process single theme.--prod - Production output - minifies and uglyfy code.clean - Removes /pub/static directory content.csslint - Run stylelint based tests.
--theme name - Process single theme.--ci - Enable throwing errors. Useful in CI/CD pipelines.default - type gulp to see this readme in console.dev - Runs browserSync and inheritance, babel, styles, watch tasks.
--theme name - Process single theme.--disableLinting - Disable SASS and CSS linting.--disableMaps - Toggles source maps generation.eslint - Watch and run eslint on specified JS file.
--file fileName - You have to specify what file you want to lint, fileName without .js.inheritance - Create necessary symlinks to resolve theme styles inheritance and make the base for styles processing. You have to run in before styles compilation and after adding new files.sasslint - Run sass-lint based tests.
--theme name - Process single theme.--ci - Enable throwing errors. Useful in CI/CD pipelines.setup - Creates a convenient symlink from /tools to /vendor/snowdog/frontools and copies all sample files if no configuration exists.
--symlink name - If you don't want to use tools as the symlink you can specify another name.styles - Use this task to manually trigger styles processing pipeline.
--theme name - Process single theme.--disableMaps - Toggles source maps generation.--prod - Production output - minifies styles and add .min sufix.--ci - Enable throwing errors. Useful in CI/CD pipelines.svg - Run svg-sprite to generate SVG sprite.
--theme name - Process single theme.watch - Watch for style changes and run processing tasks.
--theme name - Process single theme.--disableLinting - Disable SASS and CSS linting.--disableMaps - Enable inline source maps generation.