UNPKG

1.08 kBJavaScriptView Raw
1'use strict';
2
3var fs = require('fs-extra'),
4 path = require('path');
5
6var _ = require('lodash'),
7 glob = require('glob'),
8 moment = require('moment'),
9 ncp = require('ncp').ncp;
10
11var cwd = process.cwd();
12
13var packages = _.transform(glob.sync(path.join(cwd, 'lodash.*')), function(result, pathname) {
14 var stat = fs.statSync(path.join(pathname, 'index.js'));
15 if (!moment(stat.mtime).isSame(stat.birthtime)) {
16 result[path.basename(pathname)] = require(path.join(pathname, 'package.json'));
17 }
18}, {});
19
20var grouped = _.groupBy(packages, 'version');
21
22_.forOwn(grouped, function(packages, version) {
23 var pathname = path.join(cwd, version);
24 if (!fs.existsSync(pathname)) {
25 fs.ensureDirSync(pathname);
26 }
27 _.each(packages, function(pkg) {
28 var source = path.join(cwd, pkg.name),
29 destination = path.join(pathname, pkg.name);
30
31 ncp(source, destination, function (err) {
32 if (err) {
33 console.error(err);
34 return;
35 }
36 // console.log('copied ' + pkg.name + ' to ' + path.join(version, pkg.name));
37 });
38 });
39});