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 ADDED
@@ -0,0 +1 @@
1
+ cnyks ppackage --ir://run=$*
@@ -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 ddocker {
15
+ class ppackage {
16
16
 
17
- async version(version = false, notag = false, nonpm = false) {
18
- let target_version = version || args.args.shift();
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
- if(!nonpm && fs.existsSync('package.json') && process.env['npm_lifecycle_event'] != "version")
21
- throw `Please change version using \`npm version ${target_version}\``;
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
- const LABEL_VERSION = "org.opencontainers.image.version";
29
- let body = this._read();
30
- let current = body.labels[LABEL_VERSION] || "0.0.0";
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(!semver.valid(target_version))
33
- target_version = semver.inc(current, target_version);
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
- body.setLabel(LABEL_VERSION, target_version);
40
- fs.writeFileSync('Dockerfile', body.toString());
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}`, 'Dockerfile']);
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 = ddocker;
94
+ module.exports = ppackage;
60
95
 
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "ppackage",
3
- "version": "1.0.3",
3
+ "version": "2.0.2",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {
7
- "ddocker": "./bin/ddocker"
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=%*