Esempio n. 1
0
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 });
    }
});
Esempio n. 2
0
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 });
    }
});
Esempio n. 3
0
 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();
   }
 });
Esempio n. 4
0
 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;
         }
     }
 });
Esempio n. 5
0
 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);
     }
 },
Esempio n. 6
0
 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);
   }
 });
Esempio n. 7
0
File: copy.js Progetto: piscis/fsext
    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');
    });
Esempio n. 8
0
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)
    }
  }
}