From 9581764cc89c134badd4552fdd5dd5d5a457992f Mon Sep 17 00:00:00 2001 From: Julien Fontanet Date: Mon, 16 Jan 2017 12:01:32 +0100 Subject: [PATCH] feat: add normalize-package script --- package.json | 3 ++- scripts/normalize-packages | 31 +++++++++++++++++++++++++++++++ yarn.lock | 10 ++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100755 scripts/normalize-packages diff --git a/package.json b/package.json index dc3e2fff8..bea2605ff 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,8 @@ { "devDependencies": { "husky": "^0.12.0", - "lerna": "^2.0.0-beta.32" + "lerna": "^2.0.0-beta.32", + "promise-toolbox": "^0.8.0" }, "scripts": { "commit-msg": "lerna run test", diff --git a/scripts/normalize-packages b/scripts/normalize-packages new file mode 100755 index 000000000..9f74b1655 --- /dev/null +++ b/scripts/normalize-packages @@ -0,0 +1,31 @@ +#!/usr/bin/env node + +const PKGS_DIR = `${__dirname}/../packages` + +const { fromCallback } = require('promise-toolbox') +const { readdir, readFile, writeFile } = require('fs') + +const normalizePackage = path => fromCallback(cb => + readFile(`${path}/package.json`, cb) +).then(JSON.parse).then(package => { + const { name } = package + package.homepage = `https://github.com/vatesfr/xen-orchestra/tree/master/packages/${name}` + package.bugs = `https://github.com/vatesfr/xo-web/issues` + package.repository = { + type: 'git', + url: 'https://github.com/vatesfr/xen-orchestra.git' + } + + return fromCallback(cb => writeFile( + `${path}/package.json`, + JSON.stringify(package, null, 2) + '\n', + cb + )) +}) + +const main =() => fromCallback(cb => + readdir(PKGS_DIR, cb) +).then(pkgs => Promise.all(pkgs.map(pkg => + normalizePackage(`${PKGS_DIR}/${pkg}`) +))) +main().catch(console.error) diff --git a/yarn.lock b/yarn.lock index ca5afe1c4..20bb03d88 100644 --- a/yarn.lock +++ b/yarn.lock @@ -323,6 +323,10 @@ lru-cache@^4.0.1: pseudomap "^1.0.1" yallist "^2.0.0" +make-error@^1.0.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.2.1.tgz#9a6dfb4844423b9f145806728d05c6e935670e75" + map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" @@ -454,6 +458,12 @@ progress@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" +promise-toolbox@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/promise-toolbox/-/promise-toolbox-0.8.0.tgz#dfb94700c7476f4729a550c27a7859535b6538a1" + dependencies: + make-error "^1.0.4" + pseudomap@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"