1 | #!/usr/bin/env node
|
2 |
|
3 | 'use strict'
|
4 | var fs = require('fs');
|
5 | var path = require('path');
|
6 |
|
7 | var copyFile = function(srcFile, destFile) {
|
8 | var content = fs.readFileSync(srcFile, 'utf8');
|
9 | fs.writeFileSync(destFile, content, 'utf8');
|
10 | }
|
11 |
|
12 | if(process.argv[process.argv.length-1] == 'init'){
|
13 | console.log('Initializing ServiceNow Skeleton Project');
|
14 |
|
15 | var appRoot = process.cwd();
|
16 |
|
17 | var copyFiles = ['servicenowconfig.js', 'src/tsconfig.json', 'typings.json', 'tslint.json'];
|
18 | var sourceRoot = path.relative(appRoot, path.dirname(path.dirname(process.argv[1])));
|
19 |
|
20 | copyFiles.forEach(file => {
|
21 | var dest = path.join(appRoot, path.basename(file));
|
22 | if(!fs.existsSync(dest)){
|
23 | copyFile(path.join(sourceRoot, file), dest);
|
24 | }
|
25 | });
|
26 |
|
27 | var gulpFileDest = path.join(appRoot, 'gulpfile.js');
|
28 | var content = "require('require-dir')('" + path.normalize(path.join(sourceRoot, "dist")).replace(/\\/g, '\\\\') + "')";
|
29 | if(fs.existsSync(gulpFileDest)){
|
30 | content = fs.readFileSync(gulpFileDest, 'utf8') + '\r\n' + content;
|
31 | }
|
32 |
|
33 | fs.writeFileSync(gulpFileDest, content);
|
34 |
|
35 | console.info("Init complete. You may also need to run 'typings install' to finish setting up the skeleton");
|
36 | }
|
37 | else{
|
38 | console.info('Valid Commands:');
|
39 | console.info('init : Initializes the current directory for the servicenow skeleton project');
|
40 | } |
\ | No newline at end of file |