npm-pkgbuild 12.2.0 → 12.3.0
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/package.json +2 -2
- package/src/output/arch.mjs +16 -10
- package/src/output/debian.mjs +11 -6
- package/src/output/docker.mjs +9 -5
- package/src/output/rpm.mjs +15 -13
- package/src/util.mjs +5 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "npm-pkgbuild",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.3.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"pacote": "^17.0.4",
|
|
64
64
|
"pkg-dir": "^7.0.0",
|
|
65
65
|
"tar-stream": "^3.1.6",
|
|
66
|
-
"uti": "^8.2.
|
|
66
|
+
"uti": "^8.2.1"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"@types/node": "^20.8.6",
|
package/src/output/arch.mjs
CHANGED
|
@@ -20,7 +20,8 @@ import {
|
|
|
20
20
|
fieldProvider,
|
|
21
21
|
quote,
|
|
22
22
|
utf8StreamOptions,
|
|
23
|
-
packageNameMapping
|
|
23
|
+
packageNameMapping,
|
|
24
|
+
filterOutUnwantedDependencies
|
|
24
25
|
} from "../util.mjs";
|
|
25
26
|
|
|
26
27
|
function* keyValueLines(key, value, options) {
|
|
@@ -75,7 +76,7 @@ export class ARCH extends Packager {
|
|
|
75
76
|
return fields;
|
|
76
77
|
}
|
|
77
78
|
|
|
78
|
-
static async prepare(options={}, variant={}) {
|
|
79
|
+
static async prepare(options = {}, variant = {}) {
|
|
79
80
|
if (_prepared === undefined) {
|
|
80
81
|
try {
|
|
81
82
|
await execa("makepkg", ["-V"]);
|
|
@@ -98,13 +99,16 @@ export class ARCH extends Packager {
|
|
|
98
99
|
_ext = getValue("PKGEXT");
|
|
99
100
|
_architecture = getValue("CARCH");
|
|
100
101
|
_prepared = true;
|
|
101
|
-
} catch(e) {
|
|
102
|
+
} catch (e) {
|
|
102
103
|
_prepared = false;
|
|
103
104
|
}
|
|
104
105
|
}
|
|
105
|
-
|
|
106
|
-
return
|
|
107
|
-
|
|
106
|
+
|
|
107
|
+
return (
|
|
108
|
+
_prepared &&
|
|
109
|
+
(variant.arch === undefined || variant.arch === _architecture)
|
|
110
|
+
);
|
|
111
|
+
}
|
|
108
112
|
|
|
109
113
|
get packageFileName() {
|
|
110
114
|
const p = this.properties;
|
|
@@ -258,8 +262,10 @@ function normalizeExpression(e) {
|
|
|
258
262
|
}
|
|
259
263
|
|
|
260
264
|
function makeDepends(dependencies) {
|
|
261
|
-
return Object.entries(dependencies)
|
|
262
|
-
(
|
|
263
|
-
|
|
264
|
-
|
|
265
|
+
return Object.entries(dependencies)
|
|
266
|
+
.filter(filterOutUnwantedDependencies())
|
|
267
|
+
.map(
|
|
268
|
+
([name, version]) =>
|
|
269
|
+
`${packageNameMapping[name] || name}${normalizeExpression(version)}`
|
|
270
|
+
);
|
|
265
271
|
}
|
package/src/output/debian.mjs
CHANGED
|
@@ -19,7 +19,8 @@ import {
|
|
|
19
19
|
fieldProvider,
|
|
20
20
|
extractFunctions,
|
|
21
21
|
utf8StreamOptions,
|
|
22
|
-
packageNameMapping
|
|
22
|
+
packageNameMapping,
|
|
23
|
+
filterOutUnwantedDependencies
|
|
23
24
|
} from "../util.mjs";
|
|
24
25
|
|
|
25
26
|
/**
|
|
@@ -53,7 +54,7 @@ export class DEBIAN extends Packager {
|
|
|
53
54
|
* @param {string} variant.arch
|
|
54
55
|
* @return {Promise<boolean>}
|
|
55
56
|
*/
|
|
56
|
-
static async prepare(options,variant) {
|
|
57
|
+
static async prepare(options, variant) {
|
|
57
58
|
try {
|
|
58
59
|
await execa("dpkg", ["--version"]);
|
|
59
60
|
if (variant?.arch) {
|
|
@@ -105,10 +106,14 @@ export class DEBIAN extends Packager {
|
|
|
105
106
|
);
|
|
106
107
|
|
|
107
108
|
if (Object.keys(dependencies).length > 0) {
|
|
108
|
-
properties.Depends = Object.entries(dependencies)
|
|
109
|
-
(
|
|
110
|
-
|
|
111
|
-
|
|
109
|
+
properties.Depends = Object.entries(dependencies)
|
|
110
|
+
.filter(filterOutUnwantedDependencies())
|
|
111
|
+
.map(
|
|
112
|
+
([name, e]) =>
|
|
113
|
+
`${
|
|
114
|
+
packageNameMapping[name] ? packageNameMapping[name] : name
|
|
115
|
+
} (${e})`
|
|
116
|
+
);
|
|
112
117
|
}
|
|
113
118
|
|
|
114
119
|
const fp = fieldProvider(properties, fields);
|
package/src/output/docker.mjs
CHANGED
|
@@ -13,7 +13,8 @@ import {
|
|
|
13
13
|
fieldProvider,
|
|
14
14
|
copyEntries,
|
|
15
15
|
utf8StreamOptions,
|
|
16
|
-
quote
|
|
16
|
+
quote,
|
|
17
|
+
filterOutUnwantedDependencies
|
|
17
18
|
} from "../util.mjs";
|
|
18
19
|
|
|
19
20
|
const DOCKERFILE = "Dockerfile";
|
|
@@ -54,13 +55,14 @@ export class DOCKER extends Packager {
|
|
|
54
55
|
expander = v => v
|
|
55
56
|
) {
|
|
56
57
|
const { properties, staging } = await this.prepareExecute(options);
|
|
57
|
-
|
|
58
|
+
|
|
58
59
|
async function* headLines() {
|
|
59
60
|
let scratch = true;
|
|
60
61
|
for (const [k, v] of Object.entries({
|
|
61
62
|
...properties.from,
|
|
62
63
|
...Object.fromEntries(
|
|
63
64
|
Object.entries(dependencies)
|
|
65
|
+
.filter(filterOutUnwantedDependencies())
|
|
64
66
|
.filter(([k, v]) => dependenciesToFrom[k])
|
|
65
67
|
.map(([k, v]) => [dependenciesToFrom[k], v.replace(/[>=]*/, "")])
|
|
66
68
|
)
|
|
@@ -69,8 +71,8 @@ export class DOCKER extends Packager {
|
|
|
69
71
|
yield `FROM ${k}:${v}\n`;
|
|
70
72
|
}
|
|
71
73
|
|
|
72
|
-
if(scratch) {
|
|
73
|
-
|
|
74
|
+
if (scratch) {
|
|
75
|
+
yield "FROM scratch\n";
|
|
74
76
|
}
|
|
75
77
|
}
|
|
76
78
|
|
|
@@ -78,7 +80,9 @@ export class DOCKER extends Packager {
|
|
|
78
80
|
yield `WORKDIR ${properties.workdir}\n`;
|
|
79
81
|
yield "COPY . .\n";
|
|
80
82
|
if (properties.entrypoints) {
|
|
81
|
-
yield `ENTRYPOINT ["node", "${
|
|
83
|
+
yield `ENTRYPOINT ["node", "${
|
|
84
|
+
Object.values(properties.entrypoints)[0]
|
|
85
|
+
}"]\n`;
|
|
82
86
|
}
|
|
83
87
|
}
|
|
84
88
|
|
package/src/output/rpm.mjs
CHANGED
|
@@ -16,12 +16,12 @@ import {
|
|
|
16
16
|
fieldProvider,
|
|
17
17
|
utf8StreamOptions,
|
|
18
18
|
extractFunctions,
|
|
19
|
-
packageNameMapping
|
|
19
|
+
packageNameMapping,
|
|
20
|
+
filterOutUnwantedDependencies
|
|
20
21
|
} from "../util.mjs";
|
|
21
22
|
|
|
22
|
-
|
|
23
23
|
function quoteFile(name) {
|
|
24
|
-
return name.match(/\s/) ? "
|
|
24
|
+
return name.match(/\s/) ? '"' + name + '"' : name;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
/**
|
|
@@ -38,16 +38,18 @@ const hookMapping = {
|
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
export function requiresFromDependencies(dependencies) {
|
|
41
|
-
return Object.entries(dependencies)
|
|
42
|
-
(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
/^\s
|
|
48
|
-
(
|
|
49
|
-
|
|
50
|
-
|
|
41
|
+
return Object.entries(dependencies)
|
|
42
|
+
.filter(filterOutUnwantedDependencies())
|
|
43
|
+
.map(
|
|
44
|
+
([name, e]) =>
|
|
45
|
+
`${packageNameMapping[name] ? packageNameMapping[name] : name}${e
|
|
46
|
+
.replace(/^\s*(\w+)/, (match, p1) => ` = ${p1}`)
|
|
47
|
+
.replace(/^\s*$/, "")
|
|
48
|
+
.replace(
|
|
49
|
+
/^\s*(<|<=|>|>=|=)\s*(\w+)/,
|
|
50
|
+
(match, p1, p2) => ` ${p1} ${p2}`
|
|
51
|
+
)}`
|
|
52
|
+
);
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
/**
|
package/src/util.mjs
CHANGED