ppackage 1.0.3 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/ppackage +1 -0
- package/bin/ppackage.cmd +1 -0
- package/index.js +55 -20
- package/package.json +3 -3
- package/bin/ddocker +0 -1
- package/bin/ddocker.cmd +0 -1
package/bin/ppackage
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
cnyks ppackage --ir://run=$*
|
package/bin/ppackage.cmd
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@cnyks ppackage --ir://run=%*
|
package/index.js
CHANGED
|
@@ -12,49 +12,84 @@ const wait = require('nyks/child_process/wait');
|
|
|
12
12
|
const Dockerfile = require('./lib/dockerfile');
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
class
|
|
15
|
+
class ppackage {
|
|
16
16
|
|
|
17
|
-
async version(version = false, notag = false
|
|
18
|
-
let
|
|
17
|
+
async version(version = false, notag = false) {
|
|
18
|
+
let current_version;
|
|
19
|
+
|
|
20
|
+
let modes = {
|
|
21
|
+
composer : { enabled : fs.existsSync('composer.json') },
|
|
22
|
+
docker : { enabled : fs.existsSync('Dockerfile') },
|
|
23
|
+
npm : { enabled : fs.existsSync('package.json') },
|
|
24
|
+
};
|
|
19
25
|
|
|
20
|
-
|
|
21
|
-
|
|
26
|
+
const DOCKER_LABEL_VERSION = "org.opencontainers.image.version";
|
|
27
|
+
|
|
28
|
+
let target_version = version || args.args.shift();
|
|
22
29
|
|
|
23
30
|
let dirty = await wait(spawn('git', ["diff", "--quiet"])).catch(err => true);
|
|
31
|
+
|
|
24
32
|
if(dirty && !notag)
|
|
25
33
|
throw "Working directory not clean, aborting";
|
|
26
34
|
|
|
35
|
+
if(modes.composer.enabled) {
|
|
36
|
+
let body = fs.readFileSync('composer.json', 'utf-8');
|
|
37
|
+
modes.composer.meta = JSON.parse(body);
|
|
38
|
+
current_version = modes.composer.meta.version;
|
|
39
|
+
}
|
|
27
40
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
41
|
+
if(modes.npm.enabled) {
|
|
42
|
+
let body = fs.readFileSync('package.json', 'utf-8');
|
|
43
|
+
modes.npm.meta = JSON.parse(body);
|
|
44
|
+
current_version = modes.npm.meta.version;
|
|
45
|
+
}
|
|
31
46
|
|
|
32
|
-
if(
|
|
33
|
-
|
|
47
|
+
if(modes.docker.enabled) {
|
|
48
|
+
let body = fs.readFileSync('Dockerfile', 'utf8');
|
|
49
|
+
modes.docker.meta = Dockerfile.parse(body);
|
|
50
|
+
current_version = modes.docker.meta.labels[DOCKER_LABEL_VERSION];
|
|
51
|
+
}
|
|
34
52
|
|
|
53
|
+
if(!current_version)
|
|
54
|
+
current_version = "0.0.0";
|
|
55
|
+
|
|
56
|
+
if(!semver.valid(target_version))
|
|
57
|
+
target_version = semver.inc(current_version, target_version);
|
|
35
58
|
|
|
36
59
|
if(!target_version)
|
|
37
60
|
throw `Invalid semver range`;
|
|
38
61
|
|
|
39
|
-
|
|
40
|
-
|
|
62
|
+
let files = [];
|
|
63
|
+
if(modes.docker.enabled) {
|
|
64
|
+
modes.docker.meta.setLabel(DOCKER_LABEL_VERSION, target_version);
|
|
65
|
+
fs.writeFileSync('Dockerfile', modes.docker.meta.toString());
|
|
66
|
+
files.push('Dockerfile');
|
|
67
|
+
}
|
|
41
68
|
|
|
69
|
+
if(modes.composer.enabled) {
|
|
70
|
+
modes.composer.meta.version = target_version;
|
|
71
|
+
fs.writeFileSync('composer.json', JSON.stringify(modes.composer.meta, null, 2));
|
|
72
|
+
files.push('composer.json');
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if(modes.npm.enabled) {
|
|
76
|
+
modes.npm.meta.version = target_version;
|
|
77
|
+
fs.writeFileSync('package.json', JSON.stringify(modes.npm.meta, null, 2));
|
|
78
|
+
files.push('package.json');
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
await passthru('git', ['add', ...files]);
|
|
42
82
|
|
|
43
|
-
await passthru('git', ['add', 'Dockerfile']);
|
|
44
83
|
if(!notag) {
|
|
45
|
-
await passthru('git', ['commit', '-m', `v${target_version}`,
|
|
84
|
+
await passthru('git', ['commit', '-m', `v${target_version}`, ...files]);
|
|
46
85
|
await passthru('git', ['tag', `v${target_version}`]);
|
|
47
86
|
}
|
|
87
|
+
|
|
48
88
|
return target_version;
|
|
49
89
|
}
|
|
50
90
|
|
|
51
|
-
_read() {
|
|
52
|
-
let body = fs.readFileSync('Dockerfile', 'utf8');
|
|
53
|
-
let foo = Dockerfile.parse(body);
|
|
54
|
-
return foo;
|
|
55
|
-
}
|
|
56
91
|
}
|
|
57
92
|
|
|
58
93
|
|
|
59
|
-
module.exports =
|
|
94
|
+
module.exports = ppackage;
|
|
60
95
|
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ppackage",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
7
|
-
"
|
|
7
|
+
"ppackage": "./bin/ppackage"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"mout": "^1.0.0",
|
|
@@ -16,4 +16,4 @@
|
|
|
16
16
|
},
|
|
17
17
|
"author": "",
|
|
18
18
|
"license": "ISC"
|
|
19
|
-
}
|
|
19
|
+
}
|
package/bin/ddocker
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
cnyks ddocker --ir://run=$*
|
package/bin/ddocker.cmd
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@cnyks ddocker --ir://run=%*
|