@ni-kismet/sl-webapp-nipkg 0.3.0 → 1.0.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 +68 -18
- package/dist/builder.d.ts +12 -0
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +211 -4
- package/dist/builder.js.map +1 -1
- package/dist/builder.test.js +162 -2
- package/dist/builder.test.js.map +1 -1
- package/dist/cli.js +48 -2
- package/dist/cli.js.map +1 -1
- package/dist/cli.test.js +100 -4
- package/dist/cli.test.js.map +1 -1
- package/dist/types.d.ts +81 -12
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -10,6 +10,7 @@ A flexible tool for packaging web applications into SystemLink WebApp `.nipkg` f
|
|
|
10
10
|
|
|
11
11
|
- 🚀 **Easy Integration**: Works seamlessly with any web application
|
|
12
12
|
- 📦 **Automated Packaging**: Builds and packages your app in one command
|
|
13
|
+
- 🏪 **App Store Ready**: Embed rich catalog metadata — display name, icon, screenshots, category, license, and more
|
|
13
14
|
- 🚢 **SystemLink Deployment**: Create/update WebApps and upload `.nipkg` content from CLI
|
|
14
15
|
- 🔐 **Secure Authentication**: `login`/`logout` commands store credentials per-host — no secrets in config files
|
|
15
16
|
- ⚙️ **Flexible Configuration**: Optional config files - use CLI flags or JSON config
|
|
@@ -73,15 +74,19 @@ sl-webapp-nipkg build \
|
|
|
73
74
|
|
|
74
75
|
```json
|
|
75
76
|
{
|
|
77
|
+
"package": "my-webapp",
|
|
76
78
|
"maintainer": "John Doe <john.doe@company.com>",
|
|
77
79
|
"displayName": "My WebApp",
|
|
80
|
+
"section": "WebApps",
|
|
81
|
+
"license": "MIT",
|
|
82
|
+
"appStoreCategory": "Dashboard",
|
|
83
|
+
"appStoreType": "webapp",
|
|
78
84
|
"buildDir": "dist",
|
|
79
|
-
"buildCommand": "npm run build"
|
|
80
|
-
"userVisible": true
|
|
85
|
+
"buildCommand": "npm run build"
|
|
81
86
|
}
|
|
82
87
|
```
|
|
83
88
|
|
|
84
|
-
**Note:** The `
|
|
89
|
+
**Note:** The `package`, `version`, `description`, `homepage`, and `license` are auto-populated from your `package.json` when using `init`. Other fields must be specified explicitly in `nipkg.config.json` if needed.
|
|
85
90
|
|
|
86
91
|
4. **Build and package**:
|
|
87
92
|
|
|
@@ -163,7 +168,25 @@ sl-webapp-nipkg build \
|
|
|
163
168
|
|
|
164
169
|
### `sl-webapp-nipkg init`
|
|
165
170
|
|
|
166
|
-
Initialize a `nipkg.config.json` file in the current directory.
|
|
171
|
+
Initialize a `nipkg.config.json` file in the current directory. Auto-populates `package`, `maintainer`, `homepage`, and `license` from `package.json`, and sets `section: "WebApps"` and `appStoreType: "webapp"` as defaults.
|
|
172
|
+
|
|
173
|
+
### `sl-webapp-nipkg generate-manifest`
|
|
174
|
+
|
|
175
|
+
Generate a `manifest.json` for App Store submission from `nipkg.config.json`. Copies all metadata fields while excluding build-only fields (`buildDir`, `buildCommand`, `outputDir`, `buildSuffix`, `deployment`).
|
|
176
|
+
|
|
177
|
+
#### Options
|
|
178
|
+
|
|
179
|
+
- `--config <path>` - Path to nipkg config file (default: `nipkg.config.json`)
|
|
180
|
+
- `--output <path>` - Output path for manifest file (default: `manifest.json`)
|
|
181
|
+
- `--nipkg-file <filename>` - Filename of the `.nipkg` to reference in the manifest
|
|
182
|
+
|
|
183
|
+
#### Example
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
# Generate manifest after build
|
|
187
|
+
sl-webapp-nipkg build
|
|
188
|
+
sl-webapp-nipkg generate-manifest --nipkg-file my-app_1.0.0_all.nipkg
|
|
189
|
+
```
|
|
167
190
|
|
|
168
191
|
### `sl-webapp-nipkg login`
|
|
169
192
|
|
|
@@ -358,33 +381,56 @@ Precedence: CLI flags > environment variables > stored login credential (`sl-web
|
|
|
358
381
|
|
|
359
382
|
| Property | Type | Required | Description |
|
|
360
383
|
| -------- | ---- | -------- | ----------- |
|
|
361
|
-
| `
|
|
384
|
+
| `package` | string | ❌ | Unique package identifier — lowercase with hyphens/dots/underscores (auto-detected from package.json) |
|
|
385
|
+
| `name` | string | ❌ | **Deprecated.** Use `package` instead |
|
|
362
386
|
| `version` | string | ❌ | Package version (auto-detected from package.json, defaults to 1.0.0) |
|
|
363
|
-
| `
|
|
387
|
+
| `displayName` | string | ❌ | Human-readable display name shown in the catalog card |
|
|
388
|
+
| `description` | string | ❌ | Short description (auto-detected from package.json) |
|
|
389
|
+
| `section` | string | ❌ | Package section (e.g. `'WebApps'`) |
|
|
364
390
|
| `maintainer` | string | ❌ | Maintainer information (defaults to 'Unknown') |
|
|
365
|
-
| `
|
|
366
|
-
| `
|
|
367
|
-
| `
|
|
368
|
-
| `
|
|
369
|
-
| `
|
|
391
|
+
| `homepage` | string | ❌ | Homepage / repository URL (auto-detected from package.json) |
|
|
392
|
+
| `license` | string | ❌ | SPDX license identifier — **required for App Store submissions** (auto-detected from package.json) |
|
|
393
|
+
| `appStoreCategory` | string | ❌ | App Store category (e.g. `'Dashboard'`, `'Data Analysis'`) |
|
|
394
|
+
| `appStoreType` | string | ❌ | Resource type: `'webapp'`, `'notebook'`, or `'dashboard'` |
|
|
395
|
+
| `appStoreAuthor` | string | ❌ | Author / company name shown in the catalog |
|
|
396
|
+
| `appStoreTags` | string | ❌ | Comma-separated search tags (e.g. `'assets,calibration'`) |
|
|
397
|
+
| `appStoreRepo` | string | ❌ | Source repository URL |
|
|
398
|
+
| `appStoreMinServerVersion` | string | ❌ | Minimum SystemLink server version (e.g. `'2024 Q4'`) |
|
|
399
|
+
| `iconFile` | string | ❌ | Path to app icon (SVG or PNG, max 128×128 px) — base64-embedded in package |
|
|
400
|
+
| `screenshotFiles` | string[] | ❌ | Paths to up to 3 screenshot files (PNG, max 800×600 px) — base64-embedded in package |
|
|
401
|
+
| `tags` | string | ❌ | Standard nipkg `Tags:` field (falls back to `appStoreTags` if omitted) |
|
|
402
|
+
| `extraControlFields` | object | ❌ | Arbitrary extra control file fields written verbatim as `Key: value` lines |
|
|
403
|
+
| `architecture` | string | ❌ | Target architecture (default: `'windows_all'` for App Store packages) |
|
|
404
|
+
| `userVisible` | boolean \| `'yes'` \| `'no'` | ❌ | Whether the package appears in the App Store catalog (default: `'yes'`) |
|
|
405
|
+
| `buildDir` | string | ❌* | Build output directory (e.g., `'dist'`, `'build'`) — *Required if not provided via CLI |
|
|
406
|
+
| `buildCommand` | string | ❌ | Custom build command (default: `'npm run build'`) |
|
|
407
|
+
| `outputDir` | string | ❌ | Custom nipkg output directory (default: `'dist/nipkg'`) |
|
|
370
408
|
| `buildSuffix` | string | ❌ | Optional suffix for package filename (e.g., build ID for CI/CD) |
|
|
371
409
|
| `depends` | string[] | ❌ | Package dependencies |
|
|
372
|
-
| `userVisible` | boolean | ❌ | Whether package is user visible |
|
|
373
410
|
| `deployment` | object | ❌ | SystemLink deployment defaults used by `deploy` command |
|
|
374
411
|
|
|
375
412
|
### Example Configuration
|
|
376
413
|
|
|
377
414
|
```json
|
|
378
415
|
{
|
|
379
|
-
"
|
|
416
|
+
"package": "my-webapp",
|
|
380
417
|
"version": "1.2.3",
|
|
381
|
-
"description": "A SystemLink WebApp for National Instruments",
|
|
418
|
+
"description": "A SystemLink WebApp for National Instruments",
|
|
419
|
+
"displayName": "My WebApp",
|
|
420
|
+
"section": "WebApps",
|
|
382
421
|
"maintainer": "John Doe <john.doe@company.com>",
|
|
422
|
+
"homepage": "https://github.com/org/my-webapp",
|
|
423
|
+
"license": "MIT",
|
|
424
|
+
"appStoreCategory": "Dashboard",
|
|
425
|
+
"appStoreType": "webapp",
|
|
426
|
+
"appStoreAuthor": "Acme Corp",
|
|
427
|
+
"appStoreTags": "assets,calibration",
|
|
428
|
+
"appStoreMinServerVersion": "2024 Q4",
|
|
429
|
+
"iconFile": "assets/icon.svg",
|
|
383
430
|
"architecture": "all",
|
|
384
|
-
"
|
|
431
|
+
"userVisible": "yes",
|
|
385
432
|
"buildDir": "dist",
|
|
386
433
|
"buildCommand": "npm run build",
|
|
387
|
-
"userVisible": true,
|
|
388
434
|
"depends": [
|
|
389
435
|
"ni-systemlink-server >= 2023.1"
|
|
390
436
|
],
|
|
@@ -513,12 +559,16 @@ npm run package:nipkg
|
|
|
513
559
|
import { SystemLinkNipkgBuilder, NipkgConfig, BuildOptions } from '@ni-kismet/sl-webapp-nipkg';
|
|
514
560
|
|
|
515
561
|
const config: NipkgConfig = {
|
|
516
|
-
|
|
562
|
+
package: 'my-app',
|
|
517
563
|
version: '1.0.0',
|
|
518
564
|
description: 'My SystemLink WebApp',
|
|
565
|
+
displayName: 'My App',
|
|
566
|
+
section: 'WebApps',
|
|
519
567
|
maintainer: 'John Doe <john@example.com>',
|
|
568
|
+
license: 'MIT',
|
|
569
|
+
appStoreCategory: 'Dashboard',
|
|
570
|
+
appStoreType: 'webapp',
|
|
520
571
|
buildDir: 'dist',
|
|
521
|
-
userVisible: true
|
|
522
572
|
};
|
|
523
573
|
|
|
524
574
|
const options: BuildOptions = {
|
package/dist/builder.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { NipkgConfig, BuildOptions } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Read a file from disk and return it as a base64-encoded data URI.
|
|
4
|
+
*/
|
|
5
|
+
export declare function encodeFileAsBase64(filePath: string): string;
|
|
2
6
|
export declare class SystemLinkNipkgBuilder {
|
|
3
7
|
private readonly config;
|
|
4
8
|
private readonly options;
|
|
@@ -8,6 +12,10 @@ export declare class SystemLinkNipkgBuilder {
|
|
|
8
12
|
* Build the complete nipkg package
|
|
9
13
|
*/
|
|
10
14
|
build(): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Build the complete control file content with all standard and custom fields.
|
|
17
|
+
*/
|
|
18
|
+
buildControlFileContent(): string;
|
|
11
19
|
/**
|
|
12
20
|
* Get the package name from CLI options, config, or package.json
|
|
13
21
|
*/
|
|
@@ -36,5 +44,9 @@ export declare class SystemLinkNipkgBuilder {
|
|
|
36
44
|
* Package the application into .nipkg format
|
|
37
45
|
*/
|
|
38
46
|
private packageApplication;
|
|
47
|
+
/**
|
|
48
|
+
* Resolve userVisible to 'yes' or 'no' string for the control file.
|
|
49
|
+
*/
|
|
50
|
+
private resolveUserVisible;
|
|
39
51
|
}
|
|
40
52
|
//# sourceMappingURL=builder.d.ts.map
|
package/dist/builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA0FvD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAa3D;AAoBD,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,YAAiB;IAM3D;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BnC;;OAEG;IACI,uBAAuB,IAAI,MAAM;IA2ExC;;OAEG;IACH,OAAO,CAAC,OAAO;IAgCf;;OAEG;IACH,OAAO,CAAC,cAAc;IA0BtB;;OAEG;IACH,OAAO,CAAC,UAAU;IA2BlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAerB;;OAEG;IACH,OAAO,CAAC,eAAe;IAqCvB;;OAEG;YACW,sBAAsB;IAwCpC;;OAEG;YACW,kBAAkB;IA0EhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAU7B"}
|
package/dist/builder.js
CHANGED
|
@@ -1,12 +1,125 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
2
|
import fs from 'fs-extra';
|
|
3
3
|
import path from 'path';
|
|
4
|
+
import zlib from 'zlib';
|
|
4
5
|
import { execSync } from 'child_process';
|
|
5
6
|
import chalk from 'chalk';
|
|
6
7
|
import { createRequire } from 'node:module';
|
|
7
8
|
const require = createRequire(import.meta.url);
|
|
8
9
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
9
10
|
const { Deboa } = require('deboa');
|
|
11
|
+
const AR_MAGIC = '!<arch>\n';
|
|
12
|
+
function parseAr(buffer) {
|
|
13
|
+
if (buffer.toString('ascii', 0, 8) !== AR_MAGIC) {
|
|
14
|
+
throw new Error('Not a valid ar archive');
|
|
15
|
+
}
|
|
16
|
+
const members = [];
|
|
17
|
+
let offset = 8;
|
|
18
|
+
while (offset + 60 <= buffer.length) {
|
|
19
|
+
const name = buffer.toString('ascii', offset, offset + 16).trim().replace(/\/$/, '');
|
|
20
|
+
const date = buffer.toString('ascii', offset + 16, offset + 28).trim();
|
|
21
|
+
const uid = buffer.toString('ascii', offset + 28, offset + 34).trim();
|
|
22
|
+
const gid = buffer.toString('ascii', offset + 34, offset + 40).trim();
|
|
23
|
+
const mode = buffer.toString('ascii', offset + 40, offset + 48).trim();
|
|
24
|
+
const size = parseInt(buffer.toString('ascii', offset + 48, offset + 58).trim(), 10);
|
|
25
|
+
offset += 60;
|
|
26
|
+
members.push({
|
|
27
|
+
name,
|
|
28
|
+
headerFields: { date, uid, gid, mode },
|
|
29
|
+
data: buffer.subarray(offset, offset + size),
|
|
30
|
+
});
|
|
31
|
+
offset += size;
|
|
32
|
+
if (offset % 2 !== 0) {
|
|
33
|
+
offset += 1;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return members;
|
|
37
|
+
}
|
|
38
|
+
function buildAr(members) {
|
|
39
|
+
const parts = [Buffer.from(AR_MAGIC, 'ascii')];
|
|
40
|
+
for (const member of members) {
|
|
41
|
+
const header = Buffer.alloc(60, 0x20); // space-filled
|
|
42
|
+
const nameField = `${member.name}/`;
|
|
43
|
+
header.write(nameField.slice(0, 16), 0, 16, 'ascii');
|
|
44
|
+
header.write(member.headerFields.date, 16, member.headerFields.date.length, 'ascii');
|
|
45
|
+
header.write(member.headerFields.uid, 28, member.headerFields.uid.length, 'ascii');
|
|
46
|
+
header.write(member.headerFields.gid, 34, member.headerFields.gid.length, 'ascii');
|
|
47
|
+
header.write(member.headerFields.mode, 40, member.headerFields.mode.length, 'ascii');
|
|
48
|
+
const sizeStr = member.data.length.toString();
|
|
49
|
+
header.write(sizeStr, 48, sizeStr.length, 'ascii');
|
|
50
|
+
header.write('`\n', 58, 2, 'ascii');
|
|
51
|
+
parts.push(header, Buffer.from(member.data));
|
|
52
|
+
if (member.data.length % 2 !== 0) {
|
|
53
|
+
parts.push(Buffer.from('\n'));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return Buffer.concat(parts);
|
|
57
|
+
}
|
|
58
|
+
function createTarGzSingleFile(filename, content) {
|
|
59
|
+
const header = Buffer.alloc(512);
|
|
60
|
+
header.write(filename, 0, Math.min(Buffer.byteLength(filename, 'utf-8'), 100), 'utf-8');
|
|
61
|
+
header.write('0000644\0', 100, 8, 'ascii');
|
|
62
|
+
header.write('0000000\0', 108, 8, 'ascii');
|
|
63
|
+
header.write('0000000\0', 116, 8, 'ascii');
|
|
64
|
+
const sizeOctal = content.length.toString(8).padStart(11, '0');
|
|
65
|
+
header.write(`${sizeOctal}\0`, 124, 12, 'ascii');
|
|
66
|
+
const mtimeOctal = Math.floor(Date.now() / 1000).toString(8).padStart(11, '0');
|
|
67
|
+
header.write(`${mtimeOctal}\0`, 136, 12, 'ascii');
|
|
68
|
+
header.write(' ', 148, 8, 'ascii'); // placeholder for checksum
|
|
69
|
+
header.write('0', 156, 1, 'ascii'); // typeflag: regular file
|
|
70
|
+
header.write('ustar\0', 257, 6, 'ascii');
|
|
71
|
+
header.write('00', 263, 2, 'ascii');
|
|
72
|
+
let chksum = 0;
|
|
73
|
+
for (let i = 0; i < 512; i++) {
|
|
74
|
+
chksum += header[i];
|
|
75
|
+
}
|
|
76
|
+
header.write(`${chksum.toString(8).padStart(6, '0')}\0 `, 148, 8, 'ascii');
|
|
77
|
+
const paddedLen = Math.ceil(content.length / 512) * 512;
|
|
78
|
+
const dataBlock = Buffer.alloc(paddedLen);
|
|
79
|
+
content.copy(dataBlock);
|
|
80
|
+
const endBlock = Buffer.alloc(1024); // two zero blocks
|
|
81
|
+
return zlib.gzipSync(Buffer.concat([header, dataBlock, endBlock]));
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Read a file from disk and return it as a base64-encoded data URI.
|
|
85
|
+
*/
|
|
86
|
+
export function encodeFileAsBase64(filePath) {
|
|
87
|
+
const resolved = path.resolve(filePath);
|
|
88
|
+
const data = fs.readFileSync(resolved);
|
|
89
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
90
|
+
let mime;
|
|
91
|
+
switch (ext) {
|
|
92
|
+
case '.svg':
|
|
93
|
+
mime = 'image/svg+xml';
|
|
94
|
+
break;
|
|
95
|
+
case '.png':
|
|
96
|
+
mime = 'image/png';
|
|
97
|
+
break;
|
|
98
|
+
case '.jpg':
|
|
99
|
+
case '.jpeg':
|
|
100
|
+
mime = 'image/jpeg';
|
|
101
|
+
break;
|
|
102
|
+
default: mime = 'application/octet-stream';
|
|
103
|
+
}
|
|
104
|
+
return `data:${mime};base64,${data.toString('base64')}`;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Replace the control file inside a .deb archive with new content.
|
|
108
|
+
* The .deb is an ar archive containing control.tar.gz.
|
|
109
|
+
*/
|
|
110
|
+
async function patchDebControlFile(debPath, controlContent) {
|
|
111
|
+
const debBuffer = await fs.readFile(debPath);
|
|
112
|
+
const members = parseAr(debBuffer);
|
|
113
|
+
const newControlTarGz = createTarGzSingleFile('./control', Buffer.from(controlContent, 'utf-8'));
|
|
114
|
+
const controlIdx = members.findIndex(m => m.name.startsWith('control.tar'));
|
|
115
|
+
if (controlIdx === -1) {
|
|
116
|
+
throw new Error('control.tar.gz not found in .deb archive');
|
|
117
|
+
}
|
|
118
|
+
members[controlIdx].name = 'control.tar.gz';
|
|
119
|
+
members[controlIdx].data = newControlTarGz;
|
|
120
|
+
const newAr = buildAr(members);
|
|
121
|
+
await fs.writeFile(debPath, newAr);
|
|
122
|
+
}
|
|
10
123
|
export class SystemLinkNipkgBuilder {
|
|
11
124
|
config;
|
|
12
125
|
options;
|
|
@@ -40,14 +153,90 @@ export class SystemLinkNipkgBuilder {
|
|
|
40
153
|
process.exit(1);
|
|
41
154
|
}
|
|
42
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Build the complete control file content with all standard and custom fields.
|
|
158
|
+
*/
|
|
159
|
+
buildControlFileContent() {
|
|
160
|
+
const lines = [];
|
|
161
|
+
// Standard fields
|
|
162
|
+
lines.push(`Package: ${this.getName()}`);
|
|
163
|
+
lines.push(`Version: ${this.getVersion()}`);
|
|
164
|
+
if (this.config.section) {
|
|
165
|
+
lines.push(`Section: ${this.config.section}`);
|
|
166
|
+
}
|
|
167
|
+
lines.push('Priority: optional');
|
|
168
|
+
lines.push(`Architecture: ${this.config.architecture ?? 'all'}`);
|
|
169
|
+
lines.push(`Maintainer: ${this.getMaintainer()}`);
|
|
170
|
+
if (this.config.depends !== undefined && this.config.depends.length > 0) {
|
|
171
|
+
lines.push(`Depends: ${this.config.depends.join(', ')}`);
|
|
172
|
+
}
|
|
173
|
+
if (this.config.homepage) {
|
|
174
|
+
lines.push(`Homepage: ${this.config.homepage}`);
|
|
175
|
+
}
|
|
176
|
+
const tags = this.config.tags ?? this.config.appStoreTags;
|
|
177
|
+
if (tags) {
|
|
178
|
+
lines.push(`Tags: ${tags}`);
|
|
179
|
+
}
|
|
180
|
+
const description = this.getDescription();
|
|
181
|
+
lines.push(`Description: ${description}`);
|
|
182
|
+
// Extended binary (XB-) attributes — prefix required by NI Package Manager convention.
|
|
183
|
+
// The Feed Service strips the XB- prefix when populating metadata.attributes.
|
|
184
|
+
lines.push('XB-Plugin: file');
|
|
185
|
+
if (this.config.displayName) {
|
|
186
|
+
lines.push(`XB-DisplayName: ${this.config.displayName}`);
|
|
187
|
+
}
|
|
188
|
+
lines.push(`XB-UserVisible: ${this.resolveUserVisible()}`);
|
|
189
|
+
lines.push(`XB-DisplayVersion: ${this.getVersion()}`);
|
|
190
|
+
if (this.config.appStoreCategory) {
|
|
191
|
+
lines.push(`XB-AppStoreCategory: ${this.config.appStoreCategory}`);
|
|
192
|
+
}
|
|
193
|
+
if (this.config.iconFile) {
|
|
194
|
+
lines.push(`XB-AppStoreIcon: ${encodeFileAsBase64(this.config.iconFile)}`);
|
|
195
|
+
}
|
|
196
|
+
if (this.config.screenshotFiles?.[0]) {
|
|
197
|
+
lines.push(`XB-AppStoreScreenshot1: ${encodeFileAsBase64(this.config.screenshotFiles[0])}`);
|
|
198
|
+
}
|
|
199
|
+
if (this.config.screenshotFiles?.[1]) {
|
|
200
|
+
lines.push(`XB-AppStoreScreenshot2: ${encodeFileAsBase64(this.config.screenshotFiles[1])}`);
|
|
201
|
+
}
|
|
202
|
+
if (this.config.screenshotFiles?.[2]) {
|
|
203
|
+
lines.push(`XB-AppStoreScreenshot3: ${encodeFileAsBase64(this.config.screenshotFiles[2])}`);
|
|
204
|
+
}
|
|
205
|
+
if (this.config.appStoreAuthor) {
|
|
206
|
+
lines.push(`XB-AppStoreAuthor: ${this.config.appStoreAuthor}`);
|
|
207
|
+
}
|
|
208
|
+
if (this.config.appStoreType) {
|
|
209
|
+
lines.push(`XB-AppStoreType: ${this.config.appStoreType}`);
|
|
210
|
+
}
|
|
211
|
+
if (this.config.appStoreTags) {
|
|
212
|
+
lines.push(`XB-AppStoreTags: ${this.config.appStoreTags}`);
|
|
213
|
+
}
|
|
214
|
+
if (this.config.appStoreRepo) {
|
|
215
|
+
lines.push(`XB-AppStoreRepo: ${this.config.appStoreRepo}`);
|
|
216
|
+
}
|
|
217
|
+
if (this.config.license) {
|
|
218
|
+
lines.push(`XB-AppStoreLicense: ${this.config.license}`);
|
|
219
|
+
}
|
|
220
|
+
if (this.config.appStoreMinServerVersion) {
|
|
221
|
+
lines.push(`XB-AppStoreMinServerVersion: ${this.config.appStoreMinServerVersion}`);
|
|
222
|
+
}
|
|
223
|
+
// General escape hatch
|
|
224
|
+
for (const [key, value] of Object.entries(this.config.extraControlFields ?? {})) {
|
|
225
|
+
lines.push(`${key}: ${value}`);
|
|
226
|
+
}
|
|
227
|
+
return `${lines.join('\n')}\n`;
|
|
228
|
+
}
|
|
43
229
|
/**
|
|
44
230
|
* Get the package name from CLI options, config, or package.json
|
|
45
231
|
*/
|
|
46
232
|
getName() {
|
|
47
|
-
// Priority: CLI option > config > package.json > directory name
|
|
233
|
+
// Priority: CLI option > config.package > config.name > package.json > directory name
|
|
48
234
|
if (this.options.name) {
|
|
49
235
|
return this.options.name;
|
|
50
236
|
}
|
|
237
|
+
if (this.config.package) {
|
|
238
|
+
return this.config.package;
|
|
239
|
+
}
|
|
51
240
|
// If name is explicitly set in config, use it
|
|
52
241
|
if (this.config.name) {
|
|
53
242
|
return this.config.name;
|
|
@@ -216,6 +405,10 @@ export class SystemLinkNipkgBuilder {
|
|
|
216
405
|
console.log(chalk.yellow(`🗑️ Removed existing package: ${pkg}`));
|
|
217
406
|
}));
|
|
218
407
|
}
|
|
408
|
+
// Validate license (required for App Store submissions)
|
|
409
|
+
if (!this.config.license) {
|
|
410
|
+
console.log(chalk.yellow('⚠️ No "license" field in config — required for App Store submissions'));
|
|
411
|
+
}
|
|
219
412
|
console.log(chalk.blue('📦 Packaging application...'));
|
|
220
413
|
try {
|
|
221
414
|
// Prepare source directory with ApplicationFiles_64 structure
|
|
@@ -228,7 +421,7 @@ export class SystemLinkNipkgBuilder {
|
|
|
228
421
|
: `${this.getName()}_${this.getVersion()}_${architecture}`;
|
|
229
422
|
const debPath = path.join(nipkgDir, `${packageName}.deb`);
|
|
230
423
|
const nipkgPath = path.join(nipkgDir, `${packageName}.nipkg`);
|
|
231
|
-
// Build control file options
|
|
424
|
+
// Build control file options (standard fields only — deboa drops custom ones)
|
|
232
425
|
const depends = this.config.depends ? this.config.depends.join(', ') : undefined;
|
|
233
426
|
const controlFileOptions = {
|
|
234
427
|
maintainer: this.getMaintainer(),
|
|
@@ -237,8 +430,6 @@ export class SystemLinkNipkgBuilder {
|
|
|
237
430
|
version: this.getVersion(),
|
|
238
431
|
architecture,
|
|
239
432
|
...(depends && { depends }),
|
|
240
|
-
...(this.config.displayName && { displayName: this.config.displayName }),
|
|
241
|
-
...(this.config.userVisible !== undefined && { userVisible: String(this.config.userVisible) }),
|
|
242
433
|
};
|
|
243
434
|
// Use Deboa to create the .deb file
|
|
244
435
|
if (this.options.verbose) {
|
|
@@ -251,6 +442,9 @@ export class SystemLinkNipkgBuilder {
|
|
|
251
442
|
targetFileName: `${packageName}`,
|
|
252
443
|
});
|
|
253
444
|
await deboa.package();
|
|
445
|
+
// Patch the control file with all fields (standard + App Store + custom)
|
|
446
|
+
const controlContent = this.buildControlFileContent();
|
|
447
|
+
await patchDebControlFile(debPath, controlContent);
|
|
254
448
|
// Clean up temp source directory
|
|
255
449
|
await fs.remove(sourceDir);
|
|
256
450
|
// Rename .deb to .nipkg
|
|
@@ -262,5 +456,18 @@ export class SystemLinkNipkgBuilder {
|
|
|
262
456
|
throw new Error(`Packaging failed: ${error.message}`);
|
|
263
457
|
}
|
|
264
458
|
}
|
|
459
|
+
/**
|
|
460
|
+
* Resolve userVisible to 'yes' or 'no' string for the control file.
|
|
461
|
+
*/
|
|
462
|
+
resolveUserVisible() {
|
|
463
|
+
const uv = this.config.userVisible;
|
|
464
|
+
if (uv === undefined) {
|
|
465
|
+
return 'yes';
|
|
466
|
+
}
|
|
467
|
+
if (typeof uv === 'boolean') {
|
|
468
|
+
return uv ? 'yes' : 'no';
|
|
469
|
+
}
|
|
470
|
+
return uv;
|
|
471
|
+
}
|
|
265
472
|
}
|
|
266
473
|
//# sourceMappingURL=builder.js.map
|
package/dist/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|