npm-pkgbuild 15.3.36 → 15.4.1

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/README.md CHANGED
@@ -97,24 +97,23 @@ See [mf-hosting](https://www.npmjs.com/package/mf-hosting) or [mf-hosting-fronte
97
97
  * [FileContentProvider](#filecontentprovider)
98
98
  * [Parameters](#parameters-1)
99
99
  * [name](#name)
100
- * [NFTContentProvider](#nftcontentprovider)
101
- * [Parameters](#parameters-2)
102
- * [name](#name-1)
103
100
  * [utf8StreamOptions](#utf8streamoptions)
104
101
  * [Properties](#properties-1)
105
- * [packageNameMapping](#packagenamemapping)
106
102
  * [decodePassword](#decodepassword)
107
- * [Parameters](#parameters-3)
103
+ * [Parameters](#parameters-2)
108
104
  * [FunctionDecl](#functiondecl)
109
105
  * [Properties](#properties-2)
110
106
  * [extractFunctions](#extractfunctions)
111
- * [Parameters](#parameters-4)
107
+ * [Parameters](#parameters-3)
112
108
  * [fieldProvider](#fieldprovider)
113
- * [Parameters](#parameters-5)
109
+ * [Parameters](#parameters-4)
114
110
  * [Expander](#expander)
115
- * [Parameters](#parameters-6)
111
+ * [Parameters](#parameters-5)
116
112
  * [copyEntries](#copyentries)
113
+ * [Parameters](#parameters-6)
114
+ * [NFTContentProvider](#nftcontentprovider)
117
115
  * [Parameters](#parameters-7)
116
+ * [name](#name-1)
118
117
  * [NodeModulesContentProvider](#nodemodulescontentprovider)
119
118
  * [Parameters](#parameters-8)
120
119
  * [Properties](#properties-3)
@@ -140,37 +139,41 @@ See [mf-hosting](https://www.npmjs.com/package/mf-hosting) or [mf-hosting-fronte
140
139
  * [OCI](#oci)
141
140
  * [Packager](#packager)
142
141
  * [Parameters](#parameters-12)
142
+ * [packageName](#packagename)
143
+ * [Parameters](#parameters-13)
143
144
  * [tmpdir](#tmpdir)
144
145
  * [prepare](#prepare-2)
145
- * [Parameters](#parameters-13)
146
- * [create](#create)
147
146
  * [Parameters](#parameters-14)
147
+ * [create](#create)
148
+ * [Parameters](#parameters-15)
148
149
  * [workspaceLayout](#workspacelayout)
149
150
  * [prepare](#prepare-3)
150
- * [Parameters](#parameters-15)
151
+ * [Parameters](#parameters-16)
151
152
  * [Packager](#packager-1)
152
- * [Parameters](#parameters-16)
153
+ * [Parameters](#parameters-17)
154
+ * [packageName](#packagename-1)
155
+ * [Parameters](#parameters-18)
153
156
  * [tmpdir](#tmpdir-1)
154
157
  * [prepare](#prepare-4)
155
- * [Parameters](#parameters-17)
158
+ * [Parameters](#parameters-19)
156
159
  * [create](#create-1)
157
- * [Parameters](#parameters-18)
160
+ * [Parameters](#parameters-20)
158
161
  * [workspaceLayout](#workspacelayout-1)
159
162
  * [prepare](#prepare-5)
160
- * [Parameters](#parameters-19)
163
+ * [Parameters](#parameters-21)
161
164
  * [Field](#field)
162
165
  * [Properties](#properties-5)
163
166
  * [PublishingDetail](#publishingdetail)
164
167
  * [Properties](#properties-6)
165
168
  * [createPublishingDetails](#createpublishingdetails)
166
- * [Parameters](#parameters-20)
169
+ * [Parameters](#parameters-22)
167
170
  * [publish](#publish)
168
- * [Parameters](#parameters-21)
171
+ * [Parameters](#parameters-23)
169
172
  * [quoteFile](#quotefile)
170
- * [Parameters](#parameters-22)
173
+ * [Parameters](#parameters-24)
171
174
  * [RPM](#rpm)
172
175
  * [prepare](#prepare-6)
173
- * [Parameters](#parameters-23)
176
+ * [Parameters](#parameters-25)
174
177
 
175
178
  ## ContentProvider
176
179
 
@@ -210,24 +213,6 @@ Content provided form the file system.
210
213
 
211
214
  Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** name of the content provider
212
215
 
213
- ## NFTContentProvider
214
-
215
- **Extends ContentProvider**
216
-
217
- Content provided form the file system.
218
-
219
- ### Parameters
220
-
221
- * `definitions` **([Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object) | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))** 
222
-
223
- * `definitions.pattern` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>)**&#x20;
224
- * `definitions.base` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** base directory where to find the files
225
- * `entryProperties` &#x20;
226
-
227
- ### name
228
-
229
- Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** name of the content provider
230
-
231
216
  ## utf8StreamOptions
232
217
 
233
218
  Type: [Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)
@@ -236,10 +221,6 @@ Type: [Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Globa
236
221
 
237
222
  * `encoding` **BufferEncoding**&#x20;
238
223
 
239
- ## packageNameMapping
240
-
241
- What is the node name in the package eco-system
242
-
243
224
  ## decodePassword
244
225
 
245
226
  Decode a password
@@ -299,6 +280,24 @@ Destination paths a generated without leading '/' (as for entry names too).
299
280
  * `destinationDirectory` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
300
281
  * `expander` **[Expander](#expander)** (optional, default `v=>v`)
301
282
 
283
+ ## NFTContentProvider
284
+
285
+ **Extends ContentProvider**
286
+
287
+ Content provided form the file system.
288
+
289
+ ### Parameters
290
+
291
+ * `definitions` **([Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object) | [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String))**&#x20;
292
+
293
+ * `definitions.pattern` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)<[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)>)**&#x20;
294
+ * `definitions.base` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** base directory where to find the files
295
+ * `entryProperties` &#x20;
296
+
297
+ ### name
298
+
299
+ Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** name of the content provider
300
+
302
301
  ## NodeModulesContentProvider
303
302
 
304
303
  **Extends ContentProvider**
@@ -422,6 +421,16 @@ Low level OCI compatible packager
422
421
 
423
422
  * `properties` &#x20;
424
423
 
424
+ ### packageName
425
+
426
+ What is the package name in the package eco-system.
427
+
428
+ #### Parameters
429
+
430
+ * `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
431
+
432
+ Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** package name in the target eco-system
433
+
425
434
  ### tmpdir
426
435
 
427
436
  Create tmp directory.
@@ -475,6 +484,16 @@ Base Packager
475
484
 
476
485
  * `properties` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)**&#x20;
477
486
 
487
+ ### packageName
488
+
489
+ What is the package name in the package eco-system.
490
+
491
+ #### Parameters
492
+
493
+ * `name` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**&#x20;
494
+
495
+ Returns **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** package name in the target eco-system
496
+
478
497
  ### tmpdir
479
498
 
480
499
  Create tmp directory.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "npm-pkgbuild",
3
- "version": "15.3.36",
3
+ "version": "15.4.1",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "provenance": true
@@ -261,7 +261,7 @@ export async function* extractFromPackage(options = {}, env = {}) {
261
261
 
262
262
  if (packageContent.contributors) {
263
263
  properties.maintainer = packageContent.contributors.map(
264
- c => `${c.name} <${c.email}>`
264
+ c => c.name + (c.email ? ` <${c.email}>` : '')
265
265
  );
266
266
  }
267
267
 
@@ -20,7 +20,6 @@ import {
20
20
  fieldProvider,
21
21
  quote,
22
22
  utf8StreamOptions,
23
- packageNameMapping,
24
23
  filterOutUnwantedDependencies
25
24
  } from "../util.mjs";
26
25
 
@@ -85,7 +84,7 @@ export class ARCH extends Packager {
85
84
 
86
85
  function getValue(key) {
87
86
  const v = process.env[key];
88
- if(v !== undefined) {
87
+ if (v !== undefined) {
89
88
  return v;
90
89
  }
91
90
 
@@ -117,10 +116,24 @@ export class ARCH extends Packager {
117
116
  return `${p.name}-${p.version}-${p.release}-${p.arch}${this.fileNameExtension}`;
118
117
  }
119
118
 
120
- async create(sources, transformer, dependencies, publishingDetails, options, expander) {
121
- const { properties, staging, destination } = await this.prepare(
122
- options
123
- );
119
+ makeDepends(dependencies) {
120
+ return Object.entries(dependencies)
121
+ .filter(filterOutUnwantedDependencies())
122
+ .map(
123
+ ([name, version]) =>
124
+ `${this.packageName(name)}${normalizeExpression(version)}`
125
+ );
126
+ }
127
+
128
+ async create(
129
+ sources,
130
+ transformer,
131
+ dependencies,
132
+ publishingDetails,
133
+ options,
134
+ expander
135
+ ) {
136
+ const { properties, staging, destination } = await this.prepare(options);
124
137
 
125
138
  if (properties.source) {
126
139
  properties.md5sums = ["SKIP"];
@@ -129,10 +142,11 @@ export class ARCH extends Packager {
129
142
  properties.install = `${properties.name}.install`;
130
143
  }
131
144
 
145
+ const self = this;
132
146
  async function* trailingLines() {
133
147
  yield `
134
148
  package() {
135
- depends=(${makeDepends(dependencies)
149
+ depends=(${self.makeDepends(dependencies)
136
150
  .map(v => quote(v))
137
151
  .join(" ")})
138
152
 
@@ -262,12 +276,3 @@ function normalizeExpression(e) {
262
276
 
263
277
  return e;
264
278
  }
265
-
266
- function makeDepends(dependencies) {
267
- return Object.entries(dependencies)
268
- .filter(filterOutUnwantedDependencies())
269
- .map(
270
- ([name, version]) =>
271
- `${packageNameMapping[name] || name}${normalizeExpression(version)}`
272
- );
273
- }
@@ -19,7 +19,6 @@ import {
19
19
  fieldProvider,
20
20
  extractFunctions,
21
21
  utf8StreamOptions,
22
- packageNameMapping,
23
22
  filterOutUnwantedDependencies
24
23
  } from "../util.mjs";
25
24
 
@@ -86,7 +85,7 @@ export class DEBIAN extends Packager {
86
85
  yield new StringContentEntry(
87
86
  name,
88
87
  f.body.replaceAll(
89
- /\{\{(\w+)\}\}/mg,
88
+ /\{\{(\w+)\}\}/gm,
90
89
  (match, key, offset, string) =>
91
90
  properties[key] || "{{" + key + "}}"
92
91
  )
@@ -117,12 +116,7 @@ export class DEBIAN extends Packager {
117
116
  if (Object.keys(dependencies).length > 0) {
118
117
  properties.Depends = Object.entries(dependencies)
119
118
  .filter(filterOutUnwantedDependencies())
120
- .map(
121
- ([name, e]) =>
122
- `${
123
- packageNameMapping[name] ? packageNameMapping[name] : name
124
- } (${e})`
125
- );
119
+ .map(([name, e]) => `${this.packageName(name)} (${e})`);
126
120
  }
127
121
 
128
122
  const fp = fieldProvider(properties, fields);
@@ -153,9 +147,7 @@ export class DEBIAN extends Packager {
153
147
  }
154
148
 
155
149
  if (options.verbose) {
156
- console.log(
157
- await readFile(join(staging, debianControlName), "utf8")
158
- );
150
+ console.log(await readFile(join(staging, debianControlName), "utf8"));
159
151
  }
160
152
 
161
153
  if (!options.dry) {
@@ -55,6 +55,18 @@ export class Packager {
55
55
  this.#properties = { ...properties, type: this.constructor.name };
56
56
  }
57
57
 
58
+ /**
59
+ * What is the package name in the package eco-system.
60
+ * @param {string} name
61
+ * @return {string} package name in the target eco-system
62
+ */
63
+ packageName(name) {
64
+ const mapping = {
65
+ node: "nodejs"
66
+ };
67
+ return mapping[name] || name;
68
+ }
69
+
58
70
  get fileNameExtension() {
59
71
  // @ts-ignore
60
72
  return this.constructor.fileNameExtension;
@@ -16,7 +16,6 @@ import {
16
16
  fieldProvider,
17
17
  utf8StreamOptions,
18
18
  extractFunctions,
19
- packageNameMapping,
20
19
  filterOutUnwantedDependencies
21
20
  } from "../util.mjs";
22
21
 
@@ -41,21 +40,6 @@ const hookMapping = {
41
40
  post_upgrade:*/
42
41
  };
43
42
 
44
- export function requiresFromDependencies(dependencies) {
45
- return Object.entries(dependencies)
46
- .filter(filterOutUnwantedDependencies())
47
- .map(
48
- ([name, e]) =>
49
- `${packageNameMapping[name] ? packageNameMapping[name] : name}${e
50
- .replace(/^\s*(\w+)/, (match, p1) => ` = ${p1}`)
51
- .replace(/^\s*$/, "")
52
- .replace(
53
- /^\s*(<|<=|>|>=|=)\s*(\w+)/,
54
- (match, p1, p2) => ` ${p1} ${p2}`
55
- )}`
56
- );
57
- }
58
-
59
43
  /**
60
44
  * produce rpm packages
61
45
  */
@@ -110,6 +94,21 @@ export class RPM extends Packager {
110
94
  return false;
111
95
  }
112
96
 
97
+ requiresFromDependencies(dependencies) {
98
+ return Object.entries(dependencies)
99
+ .filter(filterOutUnwantedDependencies())
100
+ .map(
101
+ ([name, e]) =>
102
+ `${this.packageName(name)}${e
103
+ .replace(/^\s*(\w+)/, (match, p1) => ` = ${p1}`)
104
+ .replace(/^\s*$/, "")
105
+ .replace(
106
+ /^\s*(<|<=|>|>=|=)\s*(\w+)/,
107
+ (match, p1, p2) => ` ${p1} ${p2}`
108
+ )}`
109
+ );
110
+ }
111
+
113
112
  async create(
114
113
  sources,
115
114
  transformer,
@@ -122,7 +121,7 @@ export class RPM extends Packager {
122
121
  options
123
122
  );
124
123
 
125
- properties.Requires = requiresFromDependencies(dependencies);
124
+ properties.Requires = this.requiresFromDependencies(dependencies);
126
125
 
127
126
  if (properties.Packager?.length > 1) {
128
127
  // TODO how to write several Packages ?
package/src/util.mjs CHANGED
@@ -10,13 +10,6 @@ import { ContentEntry } from "content-entry";
10
10
  */
11
11
  export const utf8StreamOptions = { encoding: "utf8" };
12
12
 
13
- /**
14
- * What is the node name in the package eco-system
15
- */
16
- export const packageNameMapping = {
17
- node: "nodejs"
18
- };
19
-
20
13
  export function filterOutUnwantedDependencies() {
21
14
  return ([name, version]) => version !== "-";
22
15
  }
@@ -120,6 +120,7 @@ export class ARCH extends Packager {
120
120
  };
121
121
  static prepare(options?: {}, variant?: {}): Promise<boolean>;
122
122
  get packageFileName(): string;
123
+ makeDepends(dependencies: any): string[];
123
124
  create(sources: any, transformer: any, dependencies: any, publishingDetails: any, options: any, expander: any): Promise<string>;
124
125
  }
125
126
  import { Packager } from "./packager.mjs";
@@ -32,6 +32,12 @@ export class Packager {
32
32
  * @param {Object} properties
33
33
  */
34
34
  constructor(properties: any);
35
+ /**
36
+ * What is the package name in the package eco-system.
37
+ * @param {string} name
38
+ * @return {string} package name in the target eco-system
39
+ */
40
+ packageName(name: string): string;
35
41
  get fileNameExtension(): any;
36
42
  get fields(): any;
37
43
  get properties(): any;
@@ -1,4 +1,3 @@
1
- export function requiresFromDependencies(dependencies: any): string[];
2
1
  /**
3
2
  * produce rpm packages
4
3
  */
@@ -85,6 +84,7 @@ export class RPM extends Packager {
85
84
  arch: string;
86
85
  }): Promise<boolean>;
87
86
  get packageFileName(): string;
87
+ requiresFromDependencies(dependencies: any): string[];
88
88
  create(sources: any, transformer: any, dependencies: any, publishingDetails: any, options: any, expander: any): Promise<string>;
89
89
  }
90
90
  export type PublishingDetail = import("../publish.mjs").PublishingDetail;
package/types/util.d.mts CHANGED
@@ -44,9 +44,6 @@ export function copyEntries(source: AsyncIterable<ContentEntry>, destinationDire
44
44
  * @property {BufferEncoding} encoding
45
45
  */
46
46
  export const utf8StreamOptions: any;
47
- export namespace packageNameMapping {
48
- let node: string;
49
- }
50
47
  export type FunctionDecl = {
51
48
  name: string;
52
49
  body: string;