Skip to content
This repository has been archived by the owner on Aug 1, 2020. It is now read-only.

Commit

Permalink
feat: Make self executable
Browse files Browse the repository at this point in the history
feat: Drop slushjs
chore: Refactor project structure
  • Loading branch information
about-code committed Feb 10, 2018
1 parent 4a60849 commit e0a5441
Show file tree
Hide file tree
Showing 79 changed files with 3,228 additions and 743 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ structure. Sample can be found [here](https://github.com/about-code/slush-ng-mon
## Installation

```
npm install -g slush git+https://github.com/about-code/slush-ng-monorepo.git
npm install -g git+https://github.com/about-code/slush-ng-monorepo.git
```

## Synopsis
```
slush ng-monorepo[:generator]
ng-mono
```

Generators:
Expand Down
24 changes: 24 additions & 0 deletions bin/ng-mono.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#! /usr/bin/env node

let inquirer = require("inquirer")
,generatorProject = require("../generators/project-app/generator")
,generatorPackage = require("../generators/package-feature/generator")
,generatorModule = require("../generators/class-ng-module/generator")
,generatorComponent = require("../generators/class-ng-component/generator")

return inquirer
.prompt([{type: "list", name: "goal", message: "What do you want to generate?", choices: [
"Project",
"Package / Library",
"Module",
"Component"
]}
])
.then((answers) => {
switch(answers.goal) {
case "Project": return generatorProject();
case "Package / Library": return generatorPackage();
case "Module": return generatorModule();
case "Component": return generatorComponent();
}
});
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
let process = require('process')
,path = require('path')
,config = require("../../config.js")
,copyTemplate = require("../../generator-steps/copy-template")
,processSnippets = require("../../generator-steps/process-snippets")
,writeConfig = require("../../generator-steps/write-config")
,prompt = require("../../generator-steps/prompt");
,copyTemplate = require("../../lib/tools/copy-template")
,processSnippets = require("../../lib/tools/process-snippets")
,writeConfig = require("../../lib/tools/write-config")
,prompt = require("../../lib/tools/prompt")
,config = require("../../config.js");

const KEY = 'class-ng-component'
const {packageNameRule, classNameRule, componentSelectorRule, routeRule} = config.conventions;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
let process = require('process')
,path = require('path')
,config = require("../../config.js")
,copyTemplate = require("../../generator-steps/copy-template")
,processSnippets = require("../../generator-steps/process-snippets")
,writeConfig = require("../../generator-steps/write-config")
,prompt = require("../../generator-steps/prompt");
,copyTemplate = require("../../lib/tools/copy-template")
,processSnippets = require("../../lib/tools/process-snippets")
,writeConfig = require("../../lib/tools/write-config")
,prompt = require("../../lib/tools/prompt")
,config = require("../../config.js");

const KEY = 'class-ng-module'
const {packageNameRule, classNameRule} = config.conventions;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
let process = require('process')
,path = require('path')
,config = require("../../config.js")
,copyTemplate = require("../../generator-steps/copy-template")
,processSnippets = require("../../generator-steps/process-snippets")
,writeConfig = require("../../generator-steps/write-config")
,prompt = require("../../generator-steps/prompt");
,copyTemplate = require("../../lib/tools/copy-template")
,processSnippets = require("../../lib/tools/process-snippets")
,writeConfig = require("../../lib/tools/write-config")
,prompt = require("../../lib/tools/prompt")
,config = require("../../config.js");

const KEY = 'package-feature'
const {packageNameRule} = config.conventions;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
let process = require('process')
,path = require('path')
,inquirer = require("inquirer")
,config = require("../../config.js")
,copyTemplate = require("../../generator-steps/copy-template")
,processSnippets = require("../../generator-steps/process-snippets")
,installDeps = require("../../generator-steps/install-deps")
,writeConfig = require("../../generator-steps/write-config")
,prompt = require("../../generator-steps/prompt");
,copyTemplate = require("../../lib/tools/copy-template")
,processSnippets = require("../../lib/tools/process-snippets")
,installDeps = require("../../lib/tools/install-deps")
,writeConfig = require("../../lib/tools/write-config")
,prompt = require("../../lib/tools/prompt")
,config = require("../../config.js");

const KEY = 'project-app'
const {packageNameRule, packageScopeRule, routeRule} = config.conventions;
Expand Down
File renamed without changes.
File renamed without changes.
24 changes: 11 additions & 13 deletions generator-steps/copy-template.js → lib/tools/copy-template.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const process = require('process')
,conflict = require('gulp-conflict')
,gulp = require('gulp')
,log = require('fancy-log')
,plumber = require('gulp-plumber')
,pump = require('pump')
//
,templateFileFilter = require('../gulp-plugins/templateFileFilter')
,templateFileRename = require('../gulp-plugins/templateFileRename');
Expand Down Expand Up @@ -35,27 +35,25 @@ module.exports = function(context) {
if (!confirm) {
reject();
}
gulp
.src(`${templateDir}/**/*`)
.pipe(plumber())
.pipe(template(answers, {
pump([
gulp.src(`${templateDir}/**/*`)
, template(answers, {
// Set custom interpolation pattern <%= ... %>. Default
// pattern seems to include ${...} which conflicts with ES6
// template strings.
// see https://github.com/lodash/lodash/issues/399
// see https://github.com/lodash/lodash/issues/1009
interpolate: /<%=([\s\S]+?)%>/g
}))
.pipe(templateFileFilter(answers))
.pipe(templateFileRename(answers))
.pipe(conflict(targetDir, {
})
, templateFileFilter(answers)
, templateFileRename(answers)
, conflict(targetDir, {
logger: function(msg, filename) {
log(`${msg} ${filename}`);
}
}))
.pipe(gulp.dest(targetDir))
.on('end', () => resolve(context))
.resume();
})
,gulp.dest(targetDir)
], (err) => err ? reject(err) : resolve(context));
});
};

4 changes: 2 additions & 2 deletions generator-steps/install-deps.js → lib/tools/install-deps.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ module.exports = function(context) {
let { confirm } = answers;

if (! confirm) {
reject();
resolve(context);
}
if (auto_install) {
npmi({ path: targetDir }, (err, result) => {
Expand All @@ -17,7 +17,7 @@ module.exports = function(context) {
return resolve(context);
});
} else {
return context;
resolve(context);
}
});
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ var path = require("path")
,template = require("gulp-template")
,inject = require("gulp-inject-string")
,filter = require("gulp-filter")
,plumber = require("gulp-plumber");
,pump = require("pump");

const REGEX_COUNTER = /::[0-9]*/;

Expand Down Expand Up @@ -123,18 +123,18 @@ module.exports = function (context) {
return `${$1_spaces}${snippetInstance}`;
}
};
gulp.src(processSnippets.filesGlob)
.pipe(plumber())
.pipe(filter((vinylFile) => {
pump([
gulp.src(processSnippets.filesGlob)
, filter((vinylFile) => {
currentFile = vinylFile.path;
return true;
}))
})
// match single-line and multi-line comment snippets
.pipe(inject.replace(REGEX_SNIPPET, replacer))
.pipe(inject.replace(REGEX_MULTILINE_SNIPPET, replacer))
.pipe(gulp.dest(function(file) {
, inject.replace(REGEX_SNIPPET, replacer)
, inject.replace(REGEX_MULTILINE_SNIPPET, replacer)
, gulp.dest(function(file) {
return file.base; // Make sure to write the input file.
}))
.on('end', () => resolve(context));
})
], (err) => err ? reject(err) : resolve(context));
});
}
2 changes: 1 addition & 1 deletion generator-steps/prompt.js → lib/tools/prompt.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
let path = require('path')
fs = require('fs')
inquirer = require('inquirer')
,config = require(path.resolve(__dirname, '../config.js'));
,config = require('../../config.js');

module.exports = function(key, questions) {
let settings = {};
Expand Down
5 changes: 3 additions & 2 deletions generator-steps/write-config.js → lib/tools/write-config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
let process = require('process')
,path_ = require('path')
,fs = require('fs')
,config = require('../config');
,config = require('../../config');

module.exports = function (context) {
let {writeConfig} = context;
Expand All @@ -28,6 +28,7 @@ module.exports = function (context) {
resolve(context);
}
});
});
})
.catch(reject);
});
};
Loading

0 comments on commit e0a5441

Please sign in to comment.