.option('-f, --frozen', 'Apply frozen scripts for first-time foundation extension installs.')
.option('-i, --initialize', 'Initialize database. Must be used with the -b or -s flag.')
.option('-k, --keepsql', 'Do not delete the temporary sql files that represent the payload of the build.')
+ .option('-n, --npmdev', 'Build an npm-linked extension without using the npm registry.')
.option('-p, --populate', 'Populate data.')
.option('-q, --quick', 'Quicken install by not dropping the views pre-emptively.')
.option('-s, --source [/path/to/source_data.sql]', 'Location of source data. Must be used with the -i flag.')
frozen: program.frozen,
initialize: program.initialize,
keepSql: program.keepsql,
+ npmDev: program.npmdev,
populateData: program.populate,
source: program.source,
unregister: program.unregister,
},
function (done) {
+ if (specs[0].npmDev) {
+ return;
+ }
// step 1: npm install extension if necessary
// an alternate approach would be only npm install these
// extensions on an npm install.
extensions: paths,
database: database,
keepSql: options.keepSql,
+ npmDev: options.npmDev,
populateData: options.populateData,
wipeViews: options.wipeViews,
clientOnly: options.clientOnly,
}
buildSpecs.initialize = true;
buildSpecs.keepSql = options.keepSql;
+ buildSpecs.npmDev = options.npmDev;
buildSpecs.populateData = options.populateData;
buildSpecs.wipeViews = options.wipeViews;
buildSpecs.clientOnly = options.clientOnly;
return {
database: database,
frozen: options.frozen,
+ npmDev: options.npmDev,
keepSql: options.keepSql,
populateData: options.populateData,
wipeViews: options.wipeViews,