gulp.task('make-package', function() { var argv = require('yargs').argv; var fs = require('fs-extra'); var spawnSync = require('child_process').spawnSync; var json5 = require('json5'); fs.copySync(require.resolve('nationalmap-catalog/build/abs-itt.json'), 'wwwroot/init/abs-itt.json'); var packageName = argv.packageName || (process.env.npm_package_name + '-' + spawnSync('git', ['describe']).stdout.toString().trim()); var packagesDir = path.join('.', 'deploy', 'packages'); if (!fs.existsSync(packagesDir)) { fs.mkdirSync(packagesDir); } var packageFile = path.join(packagesDir, packageName + '.tar.gz'); var workingDir = path.join('.', 'deploy', 'work'); if (fs.existsSync(workingDir)) { fs.removeSync(workingDir); } fs.mkdirSync(workingDir); var copyOptions = { preserveTimestamps: true }; fs.copySync('wwwroot', path.join(workingDir, 'wwwroot'), copyOptions); fs.copySync('node_modules', path.join(workingDir, 'node_modules'), copyOptions); fs.copySync('varnish', path.join(workingDir, 'varnish'), copyOptions); if (argv.serverConfigOverride) { var serverConfig = json5.parse(fs.readFileSync('devserverconfig.json', 'utf8')); var serverConfigOverride = json5.parse(fs.readFileSync(argv.serverConfigOverride, 'utf8')); var productionServerConfig = mergeConfigs(serverConfig, serverConfigOverride); fs.writeFileSync(path.join(workingDir, 'productionserverconfig.json'), JSON.stringify(productionServerConfig, undefined, ' ')); } else { fs.writeFileSync(path.join(workingDir, 'productionserverconfig.json'), fs.readFileSync('devserverconfig.json', 'utf8')); } if (argv.clientConfigOverride) { var clientConfig = json5.parse(fs.readFileSync(path.join('wwwroot', 'config.json'), 'utf8')); var clientConfigOverride = json5.parse(fs.readFileSync(argv.clientConfigOverride, 'utf8')); var productionClientConfig = mergeConfigs(clientConfig, clientConfigOverride); fs.writeFileSync(path.join(workingDir, 'wwwroot', 'config.json'), JSON.stringify(productionClientConfig, undefined, ' ')); } var tarResult = spawnSync('tar', [ 'czf', path.join('..', 'packages', packageName + '.tar.gz') ].concat(fs.readdirSync(workingDir)), { cwd: workingDir, stdio: 'inherit', shell: false }); if (tarResult.status !== 0) { throw new gutil.PluginError('tar', 'External module exited with an error.', { showStack: false }); } });
gulp.task('make-package', function() { var argv = require('yargs').argv; var fs = require('fs-extra'); var spawnSync = require('child_process').spawnSync; var json5 = require('json5'); var packageName = argv.packageName || (process.env.npm_package_name + '-' + spawnSync('git', ['describe']).stdout.toString().trim()); var packagesDir = path.join('.', 'deploy', 'packages'); if (!fs.existsSync(packagesDir)) { fs.mkdirSync(packagesDir); } var workingDir = path.join('.', 'deploy', 'work'); if (fs.existsSync(workingDir)) { fs.removeSync(workingDir); } fs.mkdirSync(workingDir); var copyOptions = { preserveTimestamps: true }; fs.copySync('wwwroot', path.join(workingDir, 'wwwroot'), copyOptions); fs.copySync('node_modules', path.join(workingDir, 'node_modules'), copyOptions); fs.copySync('deploy/varnish', path.join(workingDir, 'varnish'), copyOptions); if (argv.serverConfigOverride) { var serverConfig = json5.parse(fs.readFileSync('devserverconfig.json', 'utf8')); var serverConfigOverride = json5.parse(fs.readFileSync(argv.serverConfigOverride, 'utf8')); var productionServerConfig = mergeConfigs(serverConfig, serverConfigOverride); fs.writeFileSync(path.join(workingDir, 'productionserverconfig.json'), JSON.stringify(productionServerConfig, undefined, ' ')); } else { fs.writeFileSync(path.join(workingDir, 'productionserverconfig.json'), fs.readFileSync('devserverconfig.json', 'utf8')); } if (argv.clientConfigOverride) { var clientConfig = json5.parse(fs.readFileSync(path.join('wwwroot', 'config.json'), 'utf8')); var clientConfigOverride = json5.parse(fs.readFileSync(argv.clientConfigOverride, 'utf8')); var productionClientConfig = mergeConfigs(clientConfig, clientConfigOverride); fs.writeFileSync(path.join(workingDir, 'wwwroot', 'config.json'), JSON.stringify(productionClientConfig, undefined, ' ')); } // if we are on OSX make sure to use gtar for compatibility with Linux // otherwise we see lots of error message when extracting with GNU tar var tar = /^darwin/.test(process.platform) ? 'gtar' : 'tar'; var tarResult = spawnSync(tar, [ 'czf', path.join('..', 'packages', packageName + '.tar.gz') ].concat(fs.readdirSync(workingDir)), { cwd: workingDir, stdio: 'inherit', shell: false }); if (tarResult.status !== 0) { throw new gutil.PluginError('tar', 'External module exited with an error.', { showStack: false }); } });
child.on('exit', function(code, signal) { if (code > 0) { callback(new Error('minification of core ' + file + ' failed')); } else { fs.copySync(global.main.path.core + '/build/pack/' + file, global.main.path.core + '/dist/core/boot/' + file); fs.copySync(global.main.path.core + '/build/pack/' + file + '.map', global.main.path.core + '/dist/core/boot/' + file + '.map'); callback(); } });
matches.forEach(function(tr){ //console.log(tr); var openStr = '' , translation = '' , prevChr; for (var i = 0; i < tr.length; i++){ prevChr = chr; var chr = tr[i]; if (!openStr && (chr == '"' || chr == "'")) { openStr = chr; } else if (openStr && (chr == openStr) && prevChr != "\\" && tr[i+1] && tr[i+1] === ')' ) { if (translation.indexOf('TT#') === 0) { return; } if (!reserved && safe) { fs.copySync(directory, directory + '.tr.src'); reserved = true; } translation = translation.replace("\\\'", "\'").replace("\\\"", "\""); translation = translation.replace("\\\'", "\'"); var translationKey = 'TT#' + parseInt(sha1(translation), 16).toString(36).replace('.', '').replace('e+', ''); translations[translationKey] = translation; contents = contents.replace(tr, "tr('" + translationKey + "')"); return; } else if (openStr) { translation += chr; } } });
copy: function (from, to) { try { fs.mkdirpSync(Path(to).withoutFilename().toString()); fs.copySync(from, to); } catch (ex) { Pack.api.Log.error('Error copying from ' + from + ' to ' + to, ex); } },
deps.forEach(dep => { const path = target + dep.name; const location = dep.url || dep.path; grunt.log.writeln('Fetching: ' + dep.name + ' (' + location + ')'); try { fs.copySync(dep.path, path); } catch (e) { grunt.log.writeln('ERROR: ' + e.message); } });
it('should copy a file synchronous',function(){ var src = this.src, dst = this.dst fs = this.fs; fs.copySync(src, dst); var content = fs.readFileSync(dst).toString(); content.should.eql('CaWaBuNgA'); });
module.exports.backupSession = () => { const fs = require('fs-extra') const src = getStoragePath() const dest = getTempStoragePath('backup') if (fs.existsSync(src)) { try { fs.copySync(src, dest) console.error('An error occurred. For support purposes, file "' + src + '" has been copied to "' + dest + '".') } catch (e) { console.error('backupSession: error making copy of session file: ', e) } } }