.then(function (cfg) {

    var titaniumManifest = cfg.package.titaniumManifest || {};

    var moduleid = titaniumManifest.moduleid || cfg.package.name;
    var version = cfg.package.version + (cfg.noDependencies ? '-bare' : '');
    var pkg = cfg.package;

    cfg.bundlename = moduleid + '.js';
    cfg.zipname = (moduleid + '-commonjs-' + version + '.zip').toLowerCase();
    cfg.internalPath = 'modules/commonjs/' + moduleid + '/' + version;

    pkg._nativeDependencies = cfg.packed.nativeDependencies;
    pkg.main = cfg.bundlename;

    var zip = new AdmZip();

    zip.addLocalFolderToModule = addLocalFolderToModule.bind(null, zip, cfg);
    zip.addFileToModule = addFileToModule.bind(null, zip, cfg);
    zip.writeModule = writeModule.bind(null, zip, cfg);
    zip.writeBundle = writeBundle.bind(null, zip, cfg);

    zip.addFileToModule('/manifest', cfg.manifest);
    zip.addFileToModule('/package.json', JSON.stringify(cfg.package, null, 2));
    zip.addFileToModule('/' + cfg.bundlename, cfg.packed.source);
    zip.addFileToModule('/LICENSE', cfg.license);

    var directories = pkg.directories || {};

    var exampleDir = directories.example || 'example';
    var documentationDir = directories.documentation || 'documentation';

    exampleDir = path.resolve(cfg.entry, exampleDir);
    documentationDir = path.resolve(cfg.entry, documentationDir);

    return Promise.all([
      fs.isDirectory(exampleDir),
      fs.isDirectory(documentationDir)
    ]).spread(function (hasExample, hasDocumentation) {
      if (hasExample) {
        zip.addLocalFolderToModule(exampleDir, '/example');
      }

      if (hasDocumentation) {
        zip.addLocalFolderToModule(documentationDir, '/documentation');
      }

      return zip;
    });
  });
Example #2
0
  .then(function (cfg) {

    var name = cfg.as || cfg.package.name;
    var version = cfg.package.version + (cfg.noDependencies ? '-bare' : '');

    cfg.zipname = name + '-commonjs-' + version + '.zip';
    cfg.internalPath = '/modules/commonjs/' + name + '/' + version;

    var zip = new AdmZip();

    zip.addFileToModule = addFileToModule.bind(zip, cfg);
    zip.writeModule = writeModule.bind(zip, cfg);

    zip.addFileToModule('/manifest', cfg.manifest);
    zip.addFileToModule('/package.json', JSON.stringify(cfg.package, null, 2));
    zip.addFileToModule('/' + name + '.js', cfg.packed);
    zip.addFileToModule('/LICENSE', cfg.license);

    return zip;

  });