@ni-kismet/sl-webapp-nipkg 1.0.1 → 1.1.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/README.md CHANGED
@@ -9,8 +9,8 @@ A flexible tool for packaging web applications into SystemLink WebApp `.nipkg` f
9
9
  ## Features
10
10
 
11
11
  - 🚀 **Easy Integration**: Works seamlessly with any web application
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
12
+ - 📦 **Automated Packaging**: Builds and packages your app in one command
13
+ - 🏪 **Plugin Manager Submission Ready**: Generate Plugin Manager metadata for display name, icon, category, license, and screenshot submission files without embedding `screenshotFiles` in the control file
14
14
  - 🚢 **SystemLink Deployment**: Create/update WebApps and upload `.nipkg` content from CLI
15
15
  - 🔐 **Secure Authentication**: `login`/`logout` commands store credentials per-host — no secrets in config files
16
16
  - ⚙️ **Flexible Configuration**: Optional config files - use CLI flags or JSON config
@@ -77,10 +77,11 @@ sl-webapp-nipkg build \
77
77
  "package": "my-webapp",
78
78
  "maintainer": "John Doe <john.doe@company.com>",
79
79
  "displayName": "My WebApp",
80
- "section": "WebApps",
80
+ "section": "Dashboard",
81
81
  "license": "MIT",
82
- "appStoreCategory": "Dashboard",
83
- "appStoreType": "webapp",
82
+ "xbPlugin": "webapp",
83
+ "slPluginManagerTags": "dashboard,monitoring",
84
+ "iconFile": "icon.svg",
84
85
  "buildDir": "dist",
85
86
  "buildCommand": "npm run build"
86
87
  }
@@ -138,7 +139,7 @@ sl-webapp-nipkg build
138
139
  # Build with build ID suffix for CI/CD
139
140
  sl-webapp-nipkg build --build --build-suffix "${BUILD_ID}"
140
141
 
141
- # Verbose output with custom config
142
+ # Verbose output with custom config
142
143
  sl-webapp-nipkg build --build --verbose --config my-nipkg.config.json
143
144
  ```
144
145
 
@@ -168,11 +169,11 @@ sl-webapp-nipkg build \
168
169
 
169
170
  ### `sl-webapp-nipkg init`
170
171
 
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
+ Initialize a `nipkg.config.json` file in the current directory. Auto-populates `package`, `maintainer`, `homepage`, and `license` from `package.json`, and sets `section: "Dashboard"` and `xbPlugin: "webapp"` as starter defaults.
172
173
 
173
174
  ### `sl-webapp-nipkg generate-manifest`
174
175
 
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
+ Generate a `manifest.json` for Plugin Manager submission from `nipkg.config.json`. Only canonical submission-manifest fields are emitted, and legacy `appStore*` inputs are normalized to the new key names.
176
177
 
177
178
  #### Options
178
179
 
@@ -379,35 +380,34 @@ Precedence: CLI flags > environment variables > stored login credential (`sl-web
379
380
 
380
381
  **All fields are optional.** CLI options override config file values. Config file values override package.json auto-detection.
381
382
 
382
- | Property | Type | Required | Description |
383
- | -------- | ---- | -------- | ----------- |
384
- | `package` | string | | Unique package identifier — lowercase with hyphens/dots/underscores (auto-detected from package.json) |
385
- | `name` | string | | **Deprecated.** Use `package` instead |
386
- | `version` | string | ❌ | Package version (auto-detected from package.json, defaults to 1.0.0) |
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'`) |
390
- | `maintainer` | string | ❌ | Maintainer information (defaults to 'Unknown') |
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'`) |
408
- | `buildSuffix` | string | ❌ | Optional suffix for package filename (e.g., build ID for CI/CD) |
409
- | `depends` | string[] | ❌ | Package dependencies |
410
- | `deployment` | object | ❌ | SystemLink deployment defaults used by `deploy` command |
383
+ Legacy `appStore*` fields are still accepted as input during the transition, but generated manifests and control files always use the new Plugin Manager field names.
384
+
385
+ | Property | Type | Required | Description |
386
+ | --------------------------------- | ---------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------- |
387
+ | `package` | string | ❌ | Unique package identifier — lowercase with hyphens/dots/underscores (auto-detected from package.json) |
388
+ | `name` | string | ❌ | **Deprecated.** Use `package` instead |
389
+ | `version` | string | ❌ | Package version (auto-detected from package.json, defaults to 1.0.0) |
390
+ | `displayName` | string | ❌ | Human-readable display name shown in the catalog card |
391
+ | `description` | string | ❌ | Short description (auto-detected from package.json) |
392
+ | `section` | string | ❌ | Fine-grained catalog section (e.g. `'Dashboard'`, `'Administration'`, `'Monitoring'`) |
393
+ | `maintainer` | string | ❌ | Maintainer information (defaults to 'Unknown') |
394
+ | `homepage` | string | ❌ | Homepage / repository URL (auto-detected from package.json) |
395
+ | `license` | string | ❌ | SPDX license identifier **required for Plugin Manager submissions** (auto-detected from package.json) |
396
+ | `xbPlugin` | string | ❌ | Top-level plugin type: `'webapp'`, `'notebook'`, `'dashboard'`, `'routine'`, or `'bundle'` |
397
+ | `slPluginManagerTags` | string | ❌ | Comma-separated Plugin Manager tags (e.g. `'assets,calibration'`) |
398
+ | `slPluginManagerMinServerVersion` | string | ❌ | Minimum SystemLink server version (e.g. `'2024 Q4'`) |
399
+ | `iconFile` | string | ❌ | Path to the primary app icon (SVG or PNG, max 128×128 px); included in generated manifests and embedded as `XB-SlPluginManagerIcon` |
400
+ | `screenshotFiles` | string[] | ❌ | Paths to up to 3 screenshot files (PNG, max 800×600 px) preserved in config for higher-level tooling |
401
+ | `tags` | string | ❌ | Standard nipkg `Tags:` field (falls back to `slPluginManagerTags`, then `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 Plugin Manager submissions) |
404
+ | `userVisible` | boolean \| `'yes'` \| `'no'` | ❌ | Whether the package appears in the Plugin Manager 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'`) |
408
+ | `buildSuffix` | string | ❌ | Optional suffix for package filename (e.g., build ID for CI/CD) |
409
+ | `depends` | string[] | ❌ | Package dependencies |
410
+ | `deployment` | object | ❌ | SystemLink deployment defaults used by `deploy` command |
411
411
 
412
412
  ### Example Configuration
413
413
 
@@ -417,23 +417,19 @@ Precedence: CLI flags > environment variables > stored login credential (`sl-web
417
417
  "version": "1.2.3",
418
418
  "description": "A SystemLink WebApp for National Instruments",
419
419
  "displayName": "My WebApp",
420
- "section": "WebApps",
420
+ "section": "Dashboard",
421
421
  "maintainer": "John Doe <john.doe@company.com>",
422
422
  "homepage": "https://github.com/org/my-webapp",
423
423
  "license": "MIT",
424
- "appStoreCategory": "Dashboard",
425
- "appStoreType": "webapp",
426
- "appStoreAuthor": "Acme Corp",
427
- "appStoreTags": "assets,calibration",
428
- "appStoreMinServerVersion": "2024 Q4",
424
+ "xbPlugin": "webapp",
425
+ "slPluginManagerTags": "assets,calibration",
426
+ "slPluginManagerMinServerVersion": "2024 Q4",
429
427
  "iconFile": "assets/icon.svg",
430
428
  "architecture": "all",
431
429
  "userVisible": "yes",
432
430
  "buildDir": "dist",
433
431
  "buildCommand": "npm run build",
434
- "depends": [
435
- "ni-systemlink-server >= 2023.1"
436
- ],
432
+ "depends": ["ni-systemlink-server >= 2023.1"],
437
433
  "outputDir": "packages",
438
434
  "deployment": {
439
435
  "host": "https://test.lifecyclesolutions.ni.com",
@@ -556,24 +552,27 @@ npm run package:nipkg
556
552
  ## Programmatic Usage
557
553
 
558
554
  ```typescript
559
- import { SystemLinkNipkgBuilder, NipkgConfig, BuildOptions } from '@ni-kismet/sl-webapp-nipkg';
555
+ import {
556
+ SystemLinkNipkgBuilder,
557
+ NipkgConfig,
558
+ BuildOptions,
559
+ } from "@ni-kismet/sl-webapp-nipkg";
560
560
 
561
561
  const config: NipkgConfig = {
562
- package: 'my-app',
563
- version: '1.0.0',
564
- description: 'My SystemLink WebApp',
565
- displayName: 'My App',
566
- section: 'WebApps',
567
- maintainer: 'John Doe <john@example.com>',
568
- license: 'MIT',
569
- appStoreCategory: 'Dashboard',
570
- appStoreType: 'webapp',
571
- buildDir: 'dist',
562
+ package: "my-app",
563
+ version: "1.0.0",
564
+ description: "My SystemLink WebApp",
565
+ displayName: "My App",
566
+ section: "Dashboard",
567
+ maintainer: "John Doe <john@example.com>",
568
+ license: "MIT",
569
+ xbPlugin: "webapp",
570
+ buildDir: "dist",
572
571
  };
573
572
 
574
573
  const options: BuildOptions = {
575
574
  build: true,
576
- verbose: true
575
+ verbose: true,
577
576
  };
578
577
 
579
578
  const builder = new SystemLinkNipkgBuilder(config, options);
@@ -596,72 +595,72 @@ name: Build and Package
596
595
 
597
596
  on:
598
597
  push:
599
- branches: [ main ]
598
+ branches: [main]
600
599
  pull_request:
601
- branches: [ main ]
600
+ branches: [main]
602
601
 
603
602
  jobs:
604
603
  build:
605
604
  runs-on: windows-latest
606
-
605
+
607
606
  steps:
608
- - uses: actions/checkout@v3
609
-
610
- - name: Setup Node.js
611
- uses: actions/setup-node@v3
612
- with:
613
- node-version: '20'
614
- cache: 'npm'
615
-
616
- - name: Install dependencies
617
- run: npm ci
618
-
619
- - name: Build and Package (PR)
620
- if: github.event_name == 'pull_request'
621
- run: sl-webapp-nipkg build --build --build-suffix "${{ github.run_number }}"
622
-
623
- - name: Build and Package (Main)
624
- if: github.event_name == 'push' && github.ref == 'refs/heads/main'
625
- run: sl-webapp-nipkg build --build
626
-
627
- - name: Upload Package
628
- uses: actions/upload-artifact@v3
629
- with:
630
- name: nipkg-package
631
- path: dist/nipkg/*.nipkg
607
+ - uses: actions/checkout@v3
608
+
609
+ - name: Setup Node.js
610
+ uses: actions/setup-node@v3
611
+ with:
612
+ node-version: "20"
613
+ cache: "npm"
614
+
615
+ - name: Install dependencies
616
+ run: npm ci
617
+
618
+ - name: Build and Package (PR)
619
+ if: github.event_name == 'pull_request'
620
+ run: sl-webapp-nipkg build --build --build-suffix "${{ github.run_number }}"
621
+
622
+ - name: Build and Package (Main)
623
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
624
+ run: sl-webapp-nipkg build --build
625
+
626
+ - name: Upload Package
627
+ uses: actions/upload-artifact@v3
628
+ with:
629
+ name: nipkg-package
630
+ path: dist/nipkg/*.nipkg
632
631
  ```
633
632
 
634
633
  ### Azure DevOps
635
634
 
636
635
  ```yaml
637
636
  trigger:
638
- - main
637
+ - main
639
638
 
640
639
  pool:
641
- vmImage: 'windows-latest'
640
+ vmImage: "windows-latest"
642
641
 
643
642
  steps:
644
- - task: NodeTool@0
645
- inputs:
646
- versionSpec: '20.x'
647
-
648
- - script: npm ci
649
- displayName: 'Install dependencies'
650
-
651
- - script: |
652
- if [ "$(Build.SourceBranch)" = "refs/heads/main" ]; then
653
- npm run build
654
- sl-webapp-nipkg build
655
- else
656
- npm run build
657
- sl-webapp-nipkg build --build-suffix "$(Build.BuildId)"
658
- fi
659
- displayName: 'Build and package'
660
-
661
- - task: PublishBuildArtifacts@1
662
- inputs:
663
- PathtoPublish: 'dist/nipkg'
664
- ArtifactName: 'nipkg-package'
643
+ - task: NodeTool@0
644
+ inputs:
645
+ versionSpec: "20.x"
646
+
647
+ - script: npm ci
648
+ displayName: "Install dependencies"
649
+
650
+ - script: |
651
+ if [ "$(Build.SourceBranch)" = "refs/heads/main" ]; then
652
+ npm run build
653
+ sl-webapp-nipkg build
654
+ else
655
+ npm run build
656
+ sl-webapp-nipkg build --build-suffix "$(Build.BuildId)"
657
+ fi
658
+ displayName: "Build and package"
659
+
660
+ - task: PublishBuildArtifacts@1
661
+ inputs:
662
+ PathtoPublish: "dist/nipkg"
663
+ ArtifactName: "nipkg-package"
665
664
  ```
666
665
 
667
666
  ## Package Structure
@@ -677,7 +676,7 @@ your-webapp-project/
677
676
  ├── dist/nipkg/ # NIPKG packaging
678
677
  │ ├── your-app_1.0.0_all.nipkg # Final package
679
678
  │ └── temp-source/ # Temporary (auto-cleaned)
680
- ├── nipkg.config.json # Package configuration
679
+ ├── nipkg.config.json # Package configuration
681
680
  └── package.json # NPM scripts
682
681
  ```
683
682
 
@@ -755,4 +754,4 @@ MIT © National Instruments
755
754
 
756
755
  ---
757
756
 
758
- *Made with ❤️ for the National Instruments community*
757
+ _Made with ❤️ for the National Instruments community_
package/dist/builder.d.ts CHANGED
@@ -32,6 +32,11 @@ export declare class SystemLinkNipkgBuilder {
32
32
  * Get the maintainer from CLI options, config, or use default
33
33
  */
34
34
  private getMaintainer;
35
+ /**
36
+ * Get the plugin type from config, falling back to the package's default webapp type.
37
+ */
38
+ private getPluginType;
39
+ private resolveIconFilePath;
35
40
  /**
36
41
  * Run project build command
37
42
  */
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AA2FnE;;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;IAuDxC;;OAEG;IACH,OAAO,CAAC,OAAO;IAgCf;;OAEG;IACH,OAAO,CAAC,cAAc;IA0BtB;;OAEG;IACH,OAAO,CAAC,UAAU;IA2BlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,mBAAmB;IA0B3B;;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
@@ -5,6 +5,7 @@ import zlib from 'zlib';
5
5
  import { execSync } from 'child_process';
6
6
  import chalk from 'chalk';
7
7
  import { createRequire } from 'node:module';
8
+ import { getNormalizedTags, normalizeManifestMetadata } from './manifestMetadata.js';
8
9
  const require = createRequire(import.meta.url);
9
10
  // eslint-disable-next-line @typescript-eslint/naming-convention
10
11
  const { Deboa } = require('deboa');
@@ -158,11 +159,12 @@ export class SystemLinkNipkgBuilder {
158
159
  */
159
160
  buildControlFileContent() {
160
161
  const lines = [];
162
+ const metadata = normalizeManifestMetadata(this.config);
161
163
  // Standard fields
162
164
  lines.push(`Package: ${this.getName()}`);
163
165
  lines.push(`Version: ${this.getVersion()}`);
164
- if (this.config.section) {
165
- lines.push(`Section: ${this.config.section}`);
166
+ if (metadata.section) {
167
+ lines.push(`Section: ${metadata.section}`);
166
168
  }
167
169
  lines.push('Priority: optional');
168
170
  lines.push(`Architecture: ${this.config.architecture ?? 'all'}`);
@@ -170,55 +172,34 @@ export class SystemLinkNipkgBuilder {
170
172
  if (this.config.depends !== undefined && this.config.depends.length > 0) {
171
173
  lines.push(`Depends: ${this.config.depends.join(', ')}`);
172
174
  }
173
- if (this.config.homepage) {
174
- lines.push(`Homepage: ${this.config.homepage}`);
175
+ if (metadata.homepage) {
176
+ lines.push(`Homepage: ${metadata.homepage}`);
175
177
  }
176
- const tags = this.config.tags ?? this.config.appStoreTags;
178
+ const tags = getNormalizedTags(this.config);
177
179
  if (tags) {
178
180
  lines.push(`Tags: ${tags}`);
179
181
  }
180
182
  const description = this.getDescription();
181
183
  lines.push(`Description: ${description}`);
182
184
  // 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
+ lines.push(`XB-Plugin: ${this.getPluginType()}`);
185
186
  if (this.config.displayName) {
186
187
  lines.push(`XB-DisplayName: ${this.config.displayName}`);
187
188
  }
188
189
  lines.push(`XB-UserVisible: ${this.resolveUserVisible()}`);
189
190
  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}`);
191
+ const resolvedIconFile = this.resolveIconFilePath();
192
+ if (resolvedIconFile) {
193
+ lines.push(`XB-SlPluginManagerIcon: ${encodeFileAsBase64(resolvedIconFile)}`);
216
194
  }
217
195
  if (this.config.license) {
218
- lines.push(`XB-AppStoreLicense: ${this.config.license}`);
196
+ lines.push(`XB-SlPluginManagerLicense: ${this.config.license}`);
197
+ }
198
+ if (metadata.slPluginManagerTags) {
199
+ lines.push(`XB-SlPluginManagerTags: ${metadata.slPluginManagerTags}`);
219
200
  }
220
- if (this.config.appStoreMinServerVersion) {
221
- lines.push(`XB-AppStoreMinServerVersion: ${this.config.appStoreMinServerVersion}`);
201
+ if (metadata.slPluginManagerMinServerVersion) {
202
+ lines.push(`XB-SlPluginManagerMinServerVersion: ${metadata.slPluginManagerMinServerVersion}`);
222
203
  }
223
204
  // General escape hatch
224
205
  for (const [key, value] of Object.entries(this.config.extraControlFields ?? {})) {
@@ -318,13 +299,42 @@ export class SystemLinkNipkgBuilder {
318
299
  if (this.options.maintainer) {
319
300
  return this.options.maintainer;
320
301
  }
321
- if (this.config.maintainer) {
322
- return this.config.maintainer;
302
+ const metadata = normalizeManifestMetadata(this.config);
303
+ if (metadata.maintainer) {
304
+ return metadata.maintainer;
323
305
  }
324
306
  // Default maintainer if not specified
325
307
  console.log(chalk.yellow('⚠️ No maintainer specified, using default'));
326
308
  return 'Unknown <unknown@example.com>';
327
309
  }
310
+ /**
311
+ * Get the plugin type from config, falling back to the package's default webapp type.
312
+ */
313
+ getPluginType() {
314
+ const metadata = normalizeManifestMetadata(this.config);
315
+ return metadata.xbPlugin ?? 'webapp';
316
+ }
317
+ resolveIconFilePath() {
318
+ const iconFile = this.config.iconFile;
319
+ if (typeof iconFile !== 'string') {
320
+ return undefined;
321
+ }
322
+ const normalizedIconFile = iconFile.trim();
323
+ if (normalizedIconFile === '') {
324
+ return undefined;
325
+ }
326
+ const { configPath } = this.options;
327
+ const configBaseDir = typeof configPath === 'string' && configPath !== ''
328
+ ? path.dirname(path.resolve(configPath))
329
+ : this.projectRoot;
330
+ const resolvedIconFile = path.isAbsolute(normalizedIconFile)
331
+ ? normalizedIconFile
332
+ : path.resolve(configBaseDir, normalizedIconFile);
333
+ if (!fs.existsSync(resolvedIconFile)) {
334
+ throw new Error(`Icon file does not exist: ${resolvedIconFile}`);
335
+ }
336
+ return resolvedIconFile;
337
+ }
328
338
  /**
329
339
  * Run project build command
330
340
  */
@@ -405,9 +415,9 @@ export class SystemLinkNipkgBuilder {
405
415
  console.log(chalk.yellow(`🗑️ Removed existing package: ${pkg}`));
406
416
  }));
407
417
  }
408
- // Validate license (required for App Store submissions)
418
+ // Validate license (required for Plugin Manager submissions)
409
419
  if (!this.config.license) {
410
- console.log(chalk.yellow('⚠️ No "license" field in config — required for App Store submissions'));
420
+ console.log(chalk.yellow('⚠️ No "license" field in config — required for Plugin Manager submissions'));
411
421
  }
412
422
  console.log(chalk.blue('📦 Packaging application...'));
413
423
  try {
@@ -442,7 +452,7 @@ export class SystemLinkNipkgBuilder {
442
452
  targetFileName: `${packageName}`,
443
453
  });
444
454
  await deboa.package();
445
- // Patch the control file with all fields (standard + App Store + custom)
455
+ // Patch the control file with all fields (standard + Plugin Manager + custom)
446
456
  const controlContent = this.buildControlFileContent();
447
457
  await patchDebControlFile(debPath, controlContent);
448
458
  // Clean up temp source directory
@@ -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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"}