diff options
Diffstat (limited to 'node_modules/node-sass/scripts/build.js')
-rw-r--r-- | node_modules/node-sass/scripts/build.js | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/node_modules/node-sass/scripts/build.js b/node_modules/node-sass/scripts/build.js deleted file mode 100644 index 7bbba5e..0000000 --- a/node_modules/node-sass/scripts/build.js +++ /dev/null @@ -1,155 +0,0 @@ -/*! - * node-sass: scripts/build.js - */ - -var fs = require('fs'), - mkdir = require('mkdirp'), - path = require('path'), - spawn = require('cross-spawn'), - sass = require('../lib/extensions'); - -/** - * After build - * - * @param {Object} options - * @api private - */ - -function afterBuild(options) { - var install = sass.getBinaryPath(); - var target = path.join(__dirname, '..', 'build', - options.debug ? 'Debug' : - process.config.target_defaults - ? process.config.target_defaults.default_configuration - : 'Release', - 'binding.node'); - - mkdir(path.dirname(install), function(err) { - if (err && err.code !== 'EEXIST') { - console.error(err.message); - return; - } - - fs.stat(target, function(err) { - if (err) { - console.error('Build succeeded but target not found'); - return; - } - - fs.rename(target, install, function(err) { - if (err) { - console.error(err.message); - return; - } - - console.log('Installed to', install); - }); - }); - }); -} - -/** - * Build - * - * @param {Object} options - * @api private - */ - -function build(options) { - var args = [require.resolve(path.join('node-gyp', 'bin', 'node-gyp.js')), 'rebuild', '--verbose'].concat( - ['libsass_ext', 'libsass_cflags', 'libsass_ldflags', 'libsass_library'].map(function(subject) { - return ['--', subject, '=', process.env[subject.toUpperCase()] || ''].join(''); - })).concat(options.args); - - console.log('Building:', [process.execPath].concat(args).join(' ')); - - var proc = spawn(process.execPath, args, { - stdio: [0, 1, 2] - }); - - proc.on('exit', function(errorCode) { - if (!errorCode) { - afterBuild(options); - return; - } - - if (errorCode === 127 ) { - console.error('node-gyp not found!'); - } else { - console.error('Build failed with error code:', errorCode); - } - - process.exit(1); - }); -} - -/** - * Parse arguments - * - * @param {Array} args - * @api private - */ - -function parseArgs(args) { - var options = { - arch: process.arch, - platform: process.platform, - force: process.env.npm_config_force === 'true', - }; - - options.args = args.filter(function(arg) { - if (arg === '-f' || arg === '--force') { - options.force = true; - return false; - } else if (arg.substring(0, 13) === '--target_arch') { - options.arch = arg.substring(14); - } else if (arg === '-d' || arg === '--debug') { - options.debug = true; - } else if (arg.substring(0, 13) === '--libsass_ext' && arg.substring(14) !== 'no') { - options.libsassExt = true; - } - - return true; - }); - - return options; -} - -/** - * Test for pre-built library - * - * @param {Object} options - * @api private - */ - -function testBinary(options) { - if (options.force || process.env.SASS_FORCE_BUILD) { - return build(options); - } - - if (!sass.hasBinary(sass.getBinaryPath())) { - return build(options); - } - - console.log('Binary found at', sass.getBinaryPath()); - console.log('Testing binary'); - - try { - require('../').renderSync({ - data: 's { a: ss }' - }); - - console.log('Binary is fine'); - } catch (e) { - console.log('Binary has a problem:', e); - console.log('Building the binary locally'); - - return build(options); - } -} - -/** - * Apply arguments and run - */ - -testBinary(parseArgs(process.argv.slice(2))); |