Skip to content

Commit

Permalink
Add yeoman generator
Browse files Browse the repository at this point in the history
  • Loading branch information
Frodigo committed Mar 20, 2017
1 parent d41e878 commit cedbf6a
Show file tree
Hide file tree
Showing 36 changed files with 175 additions and 49 deletions.
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
node_modules/
dist/
.idea/
dev/reports/
.idea/
89 changes: 89 additions & 0 deletions generators/app/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
'use strict';
var Generator = require('yeoman-generator');
var chalk = require('chalk');
var yosay = require('yosay');

module.exports = class extends Generator {
constructor(args, opts) {
// Calling the super constructor is important so our generator is correctly set up
super(args, opts)
}

init () {
this.log(yosay(
'Welcome to the peachy ' + chalk.red('generator-frontend-webpack')
));

}

// writing() {
// this.fs.copyTpl(
// this.templatePath('_package.json'),
// this.destinationPath('package.json'),
// { title: 'Templating with Yeoman' }
// );
// }

writing () {
// Have Yeoman greet the user.
this.log(yosay(
'Welcome to the peaafachy ' + chalk.red('generator-frontend-webpack')
));
this.fs.copy(
this.templatePath('_package.json'),
this.destinationPath('package.json')
);
this.fs.copy(
this.templatePath('sass-lint.yml'),
this.destinationPath('.sass-lint.yml')
);
this.fs.copy(
this.templatePath('eslintrc'),
this.destinationPath('.eslintrc')
);
this.fs.copy(
this.templatePath('gitignore'),
this.destinationPath('.gitignore')
);
this.fs.copy(
this.templatePath('_karma.conf.js'),
this.destinationPath('karma.conf.js')
);
this.fs.copy(
this.templatePath('_postcss.config.js'),
this.destinationPath('postcss.config.js')
);
this.fs.copy(
this.templatePath('_webpack.config.js'),
this.destinationPath('webpack.config.js')
);
this.fs.copy(
this.templatePath('design/**'),
this.destinationPath('design')
);
this.fs.copy(
this.templatePath('dev/**'),
this.destinationPath('dev')
);
this.fs.copy(
this.templatePath('src/**'),
this.destinationPath('src')
);
this.fs.copy(
this.templatePath('test/**'),
this.destinationPath('test')
);
}

install () {
this.installDependencies({
bower: false
});
}

end () {
if (!this.options['skip-install']) {
this.log(chalk.green('All is done! Thank you for using Frodigo Frontend-webpack generator! Enter `npm start` to start development'));
}
}
};
File renamed without changes.
53 changes: 53 additions & 0 deletions generators/app/templates/_package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"name": "generator-frontend-webpack",
"version": "1.0.0",
"description": "generator for frontend apps built on webpack",
"main": "index.js",
"scripts": {
"start": "webpack-dev-server --inline --content-base dist/",
"eslint": "./node_modules/.bin/eslint src/*.js",
"accessibility": "node ./dev/accessibility-validation.js",
"htmllint": "node ./dev/html-validator.js",
"sasslint": "node ./node_modules/sass-lint/bin/sass-lint.js -v -q",
"test": "npm run build && karma start && npm run eslint && npm run accessibility && npm run htmllint && npm run sasslint",
"build": "rm -rf dist/ && webpack -p"
},
"keywords": [
"frontend",
"webpack"
],
"author": "Marcin Kwiatkowski",
"license": "ISC",
"devDependencies": {
"access-sniff": "^3.0.1",
"autoprefixer": "^6.7.7",
"babel-core": "^6.23.1",
"babel-eslint": "^7.1.1",
"babel-loader": "^6.4.0",
"babel-preset-es2015": "^6.22.0",
"css-loader": "^0.26.4",
"cssnano": "^3.10.0",
"eslint": "^3.18.0",
"extract-loader": "^0.1.0",
"extract-text-webpack-plugin": "^2.0.0-beta.4",
"file-loader": "^0.10.1",
"filehound": "^1.16.0",
"html-loader": "^0.4.5",
"html-validator": "^2.2.0",
"jasmine-core": "^2.5.2",
"karma": "^1.5.0",
"karma-jasmine": "^1.1.0",
"karma-phantomjs-launcher": "^1.0.4",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^2.0.3",
"node-sass": "^4.5.0",
"postcss-loader": "^1.3.3",
"sass-lint": "^1.10.2",
"sass-loader": "^6.0.3",
"style-loader": "^0.13.2",
"url-loader": "^0.5.8",
"webpack": "^2.2.1",
"webpack-dev-server": "^2.0.0-beta"
},
"dependencies": {}
}
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
4 changes: 4 additions & 0 deletions generators/app/templates/gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules/
dist/
.idea/
dev/reports/
File renamed without changes.
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
74 changes: 28 additions & 46 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,53 +1,35 @@
{
"name": "generator-frontend-webpack",
"version": "1.0.0",
"description": "generator for frontend apps built on webpack",
"main": "index.js",
"scripts": {
"start": "webpack-dev-server --inline --content-base dist/",
"eslint": "./node_modules/.bin/eslint src/*.js",
"accessibility": "node ./dev/accessibility-validation.js",
"htmllint": "node ./dev/html-validator.js",
"sasslint": "node ./node_modules/sass-lint/bin/sass-lint.js -v -q",
"test": "npm run build && karma start && npm run eslint && npm run accessibility && npm run htmllint && npm run sasslint",
"build": "rm -rf dist/ && webpack -p"
},
"version": "0.1.0",
"description": "Generator for modern front end apps",
"license": "MIT",
"files": [
"generators"
],
"keywords": [
"yeoman-generator",
"frontend",
"webpack"
"html",
"css",
"sass",
"javascript",
"es2015",
"webpack",
"karma",
"jasmime"
],
"author": "Marcin Kwiatkowski",
"license": "ISC",
"devDependencies": {
"access-sniff": "^3.0.1",
"autoprefixer": "^6.7.7",
"babel-core": "^6.23.1",
"babel-eslint": "^7.1.1",
"babel-loader": "^6.4.0",
"babel-preset-es2015": "^6.22.0",
"css-loader": "^0.26.4",
"cssnano": "^3.10.0",
"eslint": "^3.18.0",
"extract-loader": "^0.1.0",
"extract-text-webpack-plugin": "^2.0.0-beta.4",
"file-loader": "^0.10.1",
"filehound": "^1.16.0",
"html-loader": "^0.4.5",
"html-validator": "^2.2.0",
"jasmine-core": "^2.5.2",
"karma": "^1.5.0",
"karma-jasmine": "^1.1.0",
"karma-phantomjs-launcher": "^1.0.4",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^2.0.3",
"node-sass": "^4.5.0",
"postcss-loader": "^1.3.3",
"sass-lint": "^1.10.2",
"sass-loader": "^6.0.3",
"style-loader": "^0.13.2",
"url-loader": "^0.5.8",
"webpack": "^2.2.1",
"webpack-dev-server": "^2.0.0-beta"
"repository": {
"type": "git",
"url": "https://github.com/Frodigo/generator-frontend-webpack"
},
"author": {
"name": "Marcin Kwiatkowski",
"email": "contact@frodigo.com",
"url": "https://github.com/Frodigo"
},
"dependencies": {}
"dependencies": {
"chalk": "^1.1.3",
"yeoman-generator": "^1.1.1",
"yosay": "^2.0.0"
}
}

0 comments on commit cedbf6a

Please sign in to comment.