UNPKG

1.96 kBPlain TextView Raw
1#!/usr/bin/env node
2try {
3 require('coffee-script/register')
4} catch (err) {
5 console.log("WARN: coffee script config files will not be supported without coffee-script/register");
6 console.log(" -> run 'npm install coffee-script'");
7}
8try {
9 require('babel-register')
10} catch (err) {
11 console.log("WARN: es6 config files will not be supported without babel-register");
12 console.log(" -> run 'npm install babel-register'");
13}
14
15var argv = require('yargs').
16 usage('Usage: $0 [-s SITEMAP] [-i INCLUDES] [-e EXCLUDES]').
17 describe('s', 'name of the sitemap in the sitemaps section of the configuration file').
18 describe('i', 'only include specified source(s)').
19 describe('e', 'add specified source(s) to excludes').
20 help('h').
21 array('i').
22 array('e').
23 alias('h', 'help').
24 alias('s', 'sitemap').
25 alias('i', 'include').
26 alias('e', 'exclude').
27 implies('i', 's').
28 implies('e', 's').
29 argv;
30
31// set environment
32process.env.NODE_ENV = process.env.NODE_ENV || 'production';
33var generateSitemaps = require('../lib/main').generateSitemaps;
34var overrides = {};
35
36var setupSitemapOverride = function() {
37 if (!overrides.sitemaps) {
38 overrides.sitemaps = {};
39 }
40 if (!overrides.sitemaps[argv.s]) {
41 overrides.sitemaps[argv.s] = { };
42 }
43 if (!overrides.sitemaps[argv.s].sources) {
44 overrides.sitemaps[argv.s].sources = { };
45 }
46};
47var setIncludes = function() {
48 if (!argv.i) {
49 return;
50 }
51 setupSitemapOverride();
52 overrides.sitemaps[argv.s].sources.includes = argv.i;
53};
54var addExcludes = function() {
55 if (!argv.e) {
56 return;
57 }
58 setupSitemapOverride();
59 if (!overrides.sitemaps[argv.s].excludes) {
60 overrides.sitemaps[argv.s].excludes = [];
61 }
62 overrides.sitemaps[argv.s].sources.excludes.apply('push', argv.e);
63};
64
65setIncludes();
66addExcludes();
67
68console.log("OVERRIDES: ", overrides);
69
70generateSitemaps(overrides, function(err) {
71 if (err) {
72 process.exit(1);
73 } else {
74 process.exit(0);
75 }
76});