diff options
author | Beau Gunderson <beau@beaugunderson.com> | 2014-12-18 12:29:32 -0800 |
---|---|---|
committer | Beau Gunderson <beau@beaugunderson.com> | 2014-12-18 12:32:13 -0800 |
commit | 2de4bf8d3e19e14c874d6ce0ba2e24c6c5810dc8 (patch) | |
tree | aac240963e760c9a9069c7c31020c247fd8f1c41 /support | |
parent | b52a1c61e67acecda7e4e1e435a48df7759c412b (diff) | |
download | async-2de4bf8d3e19e14c874d6ce0ba2e24c6c5810dc8.tar.gz |
Add script to sync package manager info
Diffstat (limited to 'support')
-rwxr-xr-x | support/sync-package-managers.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/support/sync-package-managers.js b/support/sync-package-managers.js new file mode 100755 index 0000000..3b44fcb --- /dev/null +++ b/support/sync-package-managers.js @@ -0,0 +1,55 @@ +#!/usr/bin/env node + +// This should probably be its own module but complaints about bower/etc. +// support keep coming up and I'd rather just enable the workflow here for now +// and figure out where this should live later. -- @beaugunderson + +var fs = require('fs'); +var _ = require('lodash'); + +var packageJson = require('../package.json'); + +var IGNORES = ['**/.*', 'node_modules', 'bower_components', 'test', 'tests']; +var INCLUDES = ['lib/async.js', 'README.md', 'LICENSE']; +var REPOSITORY_NAME = 'caolan/async'; + +var LICENSE_NAME = packageJson.license.type; + +packageJson.jam = { + main: packageJson.main, + include: INCLUDES +}; + +packageJson.spm = { + main: packageJson.main +}; + +packageJson.volo = { + main: packageJson.main, + ignore: IGNORES +}; + +var bowerSpecific = { + moduleType: ['amd', 'globals', 'node'], + license: LICENSE_NAME, + ignore: IGNORES, + authors: [packageJson.author] +}; + +var bowerInclude = ['name', 'description', 'version', 'main', 'keywords', + 'homepage', 'repository', 'devDependencies']; + +var componentSpecific = { + license: LICENSE_NAME, + repository: REPOSITORY_NAME, + scripts: [packageJson.main] +}; + +var componentInclude = ['name', 'description', 'version', 'keywords']; + +var bowerJson = _.merge({}, _.pick(packageJson, bowerInclude), bowerSpecific); +var componentJson = _.merge({}, _.pick(packageJson, componentInclude), componentSpecific); + +fs.writeFileSync('./bower.json', JSON.stringify(bowerJson, null, 2)); +fs.writeFileSync('./component.json', JSON.stringify(componentJson, null, 2)); +fs.writeFileSync('./package.json', JSON.stringify(packageJson, null, 2)); |