@contrail/flexplm 1.3.2-alpha.30ca8bf → 1.3.2-alpha.3ffe557

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.
Files changed (113) hide show
  1. package/lib/cli/commands/compile.d.ts +4 -0
  2. package/lib/cli/commands/compile.js +73 -0
  3. package/lib/cli/commands/compile.spec.d.ts +1 -0
  4. package/lib/cli/commands/compile.spec.js +80 -0
  5. package/lib/cli/commands/create.d.ts +5 -0
  6. package/lib/cli/commands/create.js +77 -0
  7. package/lib/cli/commands/create.spec.d.ts +1 -0
  8. package/lib/cli/commands/create.spec.js +78 -0
  9. package/lib/cli/commands/upload.d.ts +17 -0
  10. package/lib/cli/commands/upload.js +228 -0
  11. package/lib/cli/commands/upload.spec.d.ts +1 -0
  12. package/lib/cli/commands/upload.spec.js +88 -0
  13. package/lib/cli/index.d.ts +5 -0
  14. package/lib/cli/index.js +70 -0
  15. package/lib/cli/index.spec.d.ts +1 -0
  16. package/lib/cli/index.spec.js +85 -0
  17. package/lib/cli/template/mapping-template.ts.template +62 -0
  18. package/lib/entity-processor/base-entity-processor.d.ts +47 -10
  19. package/lib/entity-processor/base-entity-processor.js +53 -34
  20. package/lib/entity-processor/base-entity-processor.spec.js +1 -191
  21. package/lib/index.d.ts +1 -0
  22. package/lib/index.js +1 -0
  23. package/lib/interfaces/mapping-file.d.ts +460 -0
  24. package/lib/interfaces/mapping-file.js +2 -0
  25. package/lib/publish/base-process-publish-assortment.d.ts +25 -0
  26. package/lib/publish/base-process-publish-assortment.js +60 -6
  27. package/lib/publish/base-process-publish-assortment.spec.js +22 -4
  28. package/lib/publish/mockData.js +5 -0
  29. package/lib/transform/identifier-conversion-spec-mockData.js +34 -6
  30. package/lib/transform/identifier-conversion.d.ts +36 -0
  31. package/lib/transform/identifier-conversion.js +36 -0
  32. package/lib/transform/identifier-conversion.spec.js +4 -0
  33. package/lib/util/config-defaults.d.ts +0 -1
  34. package/lib/util/config-defaults.js +3 -3
  35. package/lib/util/config-defaults.spec.js +9 -32
  36. package/lib/util/data-converter-spec-mockData.js +17 -3
  37. package/lib/util/data-converter.d.ts +97 -0
  38. package/lib/util/data-converter.js +133 -1
  39. package/lib/util/data-converter.spec.js +68 -0
  40. package/lib/util/error-response-object.d.ts +5 -0
  41. package/lib/util/error-response-object.js +7 -0
  42. package/lib/util/event-short-message-status.js +1 -0
  43. package/lib/util/federation.js +8 -0
  44. package/lib/util/flexplm-connect.d.ts +7 -0
  45. package/lib/util/flexplm-connect.js +14 -0
  46. package/lib/util/logger-config.js +1 -0
  47. package/lib/util/map-util-spec-mockData.js +17 -3
  48. package/lib/util/map-utils.d.ts +27 -0
  49. package/lib/util/map-utils.js +27 -0
  50. package/lib/util/thumbnail-util.d.ts +21 -0
  51. package/lib/util/thumbnail-util.js +28 -1
  52. package/lib/util/thumbnail-util.spec.js +6 -0
  53. package/lib/util/type-conversion-utils-spec-mockData.js +3 -4
  54. package/lib/util/type-conversion-utils.d.ts +140 -1
  55. package/lib/util/type-conversion-utils.js +143 -16
  56. package/lib/util/type-conversion-utils.spec.js +0 -59
  57. package/lib/util/type-defaults.d.ts +58 -0
  58. package/lib/util/type-defaults.js +58 -0
  59. package/lib/util/type-defaults.spec.js +5 -5
  60. package/lib/util/type-utils.d.ts +21 -0
  61. package/lib/util/type-utils.js +23 -0
  62. package/lib/util/type-utils.spec.js +2 -0
  63. package/package.json +21 -6
  64. package/scripts/copy-template.js +10 -0
  65. package/.github/pull_request_template.md +0 -31
  66. package/.github/workflows/flexplm-lib.yml +0 -27
  67. package/.github/workflows/publish-to-npm.yml +0 -121
  68. package/CHANGELOG.md +0 -36
  69. package/publish.bat +0 -5
  70. package/publish.sh +0 -5
  71. package/src/entity-processor/base-entity-processor.spec.ts +0 -689
  72. package/src/entity-processor/base-entity-processor.ts +0 -583
  73. package/src/flexplm-request.ts +0 -28
  74. package/src/flexplm-utils.spec.ts +0 -27
  75. package/src/flexplm-utils.ts +0 -29
  76. package/src/index.ts +0 -22
  77. package/src/interfaces/interfaces.ts +0 -122
  78. package/src/interfaces/item-family-changes.ts +0 -67
  79. package/src/interfaces/publish-change-data.ts +0 -43
  80. package/src/publish/base-process-publish-assortment-callback.ts +0 -50
  81. package/src/publish/base-process-publish-assortment.spec.ts +0 -1992
  82. package/src/publish/base-process-publish-assortment.ts +0 -1134
  83. package/src/publish/mockData.ts +0 -4561
  84. package/src/transform/identifier-conversion-spec-mockData.ts +0 -496
  85. package/src/transform/identifier-conversion.spec.ts +0 -354
  86. package/src/transform/identifier-conversion.ts +0 -282
  87. package/src/util/config-defaults.spec.ts +0 -392
  88. package/src/util/config-defaults.ts +0 -97
  89. package/src/util/data-converter-spec-mockData.ts +0 -231
  90. package/src/util/data-converter.spec.ts +0 -1041
  91. package/src/util/data-converter.ts +0 -762
  92. package/src/util/error-response-object.spec.ts +0 -116
  93. package/src/util/error-response-object.ts +0 -50
  94. package/src/util/event-short-message-status.ts +0 -22
  95. package/src/util/federation.ts +0 -172
  96. package/src/util/flexplm-connect.spec.ts +0 -132
  97. package/src/util/flexplm-connect.ts +0 -208
  98. package/src/util/logger-config.ts +0 -20
  99. package/src/util/map-util-spec-mockData.ts +0 -231
  100. package/src/util/map-utils.spec.ts +0 -103
  101. package/src/util/map-utils.ts +0 -41
  102. package/src/util/mockData.ts +0 -101
  103. package/src/util/thumbnail-util.spec.ts +0 -508
  104. package/src/util/thumbnail-util.ts +0 -272
  105. package/src/util/type-conversion-utils-spec-mockData.ts +0 -272
  106. package/src/util/type-conversion-utils.spec.ts +0 -1031
  107. package/src/util/type-conversion-utils.ts +0 -490
  108. package/src/util/type-defaults.spec.ts +0 -669
  109. package/src/util/type-defaults.ts +0 -281
  110. package/src/util/type-utils.spec.ts +0 -227
  111. package/src/util/type-utils.ts +0 -144
  112. package/tsconfig.json +0 -24
  113. package/tslint.json +0 -57
package/package.json CHANGED
@@ -1,11 +1,18 @@
1
1
  {
2
2
  "name": "@contrail/flexplm",
3
- "version": "1.3.2-alpha.30ca8bf",
3
+ "version": "1.3.2-alpha.3ffe557",
4
4
  "description": "Library used for integration with flexplm.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
7
+ "bin": {
8
+ "flexplm-mapping": "lib/cli/index.js"
9
+ },
10
+ "files": [
11
+ "lib/**/*",
12
+ "scripts/copy-template.js"
13
+ ],
7
14
  "scripts": {
8
- "build": "tsc",
15
+ "build": "tsc && node scripts/copy-template.js",
9
16
  "format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
10
17
  "lint": "tslint -p tsconfig.json",
11
18
  "test": "jest",
@@ -25,6 +32,14 @@
25
32
  "tslint-config-prettier": "^1.18.0",
26
33
  "typescript": "^4.0.0"
27
34
  },
35
+ "peerDependencies": {
36
+ "typescript": ">=4.0.0"
37
+ },
38
+ "peerDependenciesMeta": {
39
+ "typescript": {
40
+ "optional": true
41
+ }
42
+ },
28
43
  "jest": {
29
44
  "moduleFileExtensions": [
30
45
  "js",
@@ -40,10 +55,10 @@
40
55
  "testEnvironment": "node"
41
56
  },
42
57
  "dependencies": {
43
- "@contrail/app-framework": "^1.3.4",
44
- "@contrail/sdk": "^1.4.3",
45
- "@contrail/transform-data": "^1.1.3",
46
- "@contrail/util": "^1.0.48",
58
+ "@contrail/app-framework": "^1.4.3",
59
+ "@contrail/sdk": "^1.5.10",
60
+ "@contrail/transform-data": "1.3.2-alpha.36321eb",
61
+ "@contrail/util": "^1.3.1",
47
62
  "axios": "^1.4.0",
48
63
  "p-limit": "^3.1.0"
49
64
  }
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+ const fs = require('fs');
3
+ const path = require('path');
4
+
5
+ const SRC = path.join('src', 'cli', 'template', 'mapping-template.ts.template');
6
+ const DST = path.join('lib', 'cli', 'template', 'mapping-template.ts.template');
7
+
8
+ fs.mkdirSync(path.dirname(DST), { recursive: true });
9
+ fs.copyFileSync(SRC, DST);
10
+ console.log(`Copied ${SRC} -> ${DST}`);
@@ -1,31 +0,0 @@
1
- ## What
2
- - [ ] Bugfix
3
- - [ ] Feature
4
- - [ ] Enhancement
5
-
6
- Description:
7
- <!--
8
- Describe the functional changes of the PR.
9
-
10
- If the mechanism of your change are complex, describe them in detail as you
11
- would if you were explaining them to a team mate.
12
-
13
- If the PR is simple, there is no need to repeat yourself. A small description
14
- is sufficient.
15
- -->
16
-
17
- ## Why
18
- <!--
19
- why is this change needed? Same rules as with #What
20
- -->
21
-
22
-
23
- ## Testing added
24
- <!--
25
- Describe the testing you added to this PR
26
- -->
27
-
28
-
29
- ## Link to Jira ticket(s)
30
- https://vibe-team.atlassian.net/browse/VIBE-TICKET_NUMBER_HERE
31
-
@@ -1,27 +0,0 @@
1
- name: flexplm-lib-tests
2
- on:
3
- pull_request:
4
- workflow_dispatch: # allow running in github actions manually
5
- jobs:
6
- test:
7
- runs-on: ubuntu-24.04
8
- strategy:
9
- matrix:
10
- node-version: [22.14.0, 24]
11
- steps:
12
- - name: Node.js
13
- uses: actions/setup-node@v3
14
- with:
15
- node-version: ${{ matrix.node-version }}
16
-
17
- - uses: actions/checkout@v3
18
-
19
- - name: NPM Install
20
- env:
21
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
22
- run: npm ci
23
-
24
- - name: Unit Tests -
25
- env:
26
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
27
- run: npm test
@@ -1,121 +0,0 @@
1
- name: Publish to NPM
2
-
3
- on:
4
- push:
5
- branches: [master]
6
- paths-ignore:
7
- - '.github/**'
8
- pull_request:
9
- branches: [master]
10
- paths-ignore:
11
- - '.github/**'
12
-
13
- jobs:
14
- check-version:
15
- name: Verify version is available on npm
16
- if: github.event_name == 'pull_request'
17
- runs-on: ubuntu-latest
18
- steps:
19
- - uses: actions/checkout@v4
20
-
21
- - name: Check version not already published
22
- run: |
23
- PACKAGE_NAME=$(node -p "require('./package.json').name")
24
- VERSION=$(node -p "require('./package.json').version")
25
- echo "Checking if ${PACKAGE_NAME}@${VERSION} exists on npm..."
26
- if npm view "${PACKAGE_NAME}@${VERSION}" version 2>/dev/null; then
27
- echo "::error::Version ${VERSION} is already published on npm. Bump the version in package.json before merging."
28
- exit 1
29
- else
30
- echo "Version ${VERSION} is available."
31
- fi
32
-
33
- check-dependencies:
34
- name: Verify no private dependencies
35
- runs-on: ubuntu-latest
36
- steps:
37
- - uses: actions/checkout@v4
38
-
39
- - name: Verify no private dependencies
40
- run: |
41
- node -e "
42
- const deps = require('./package.json').dependencies || {};
43
- const { execSync } = require('child_process');
44
- let failed = false;
45
- for (const pkg of Object.keys(deps)) {
46
- try {
47
- execSync('npm view ' + pkg, { stdio: 'pipe' });
48
- } catch {
49
- console.error('::error::Dependency ' + pkg + ' is not publicly accessible on npm');
50
- failed = true;
51
- }
52
- }
53
- if (failed) process.exit(1);
54
- console.log('All ' + Object.keys(deps).length + ' dependencies are public.');
55
- "
56
-
57
- publish-alpha:
58
- name: Publish alpha
59
- needs: check-dependencies
60
- if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository
61
- runs-on: ubuntu-latest
62
- permissions:
63
- id-token: write
64
- contents: read
65
- outputs:
66
- version: ${{ steps.publish.outputs.version }}
67
- steps:
68
- - uses: actions/checkout@v4
69
-
70
- - uses: actions/setup-node@v4
71
- with:
72
- node-version: '24'
73
- registry-url: 'https://registry.npmjs.org'
74
-
75
- - name: Install and build
76
- run: npm ci && npm run build
77
-
78
- - name: Publish alpha
79
- id: publish
80
- run: |
81
- SHORT_SHA=$(echo ${{ github.event.pull_request.head.sha }} | cut -c1-7)
82
- VERSION=$(node -p "require('./package.json').version")-alpha.${SHORT_SHA}
83
- npm version $VERSION --no-git-tag-version
84
- OUTPUT=$(npm publish --tag alpha 2>&1) && {
85
- echo "version=$VERSION" >> $GITHUB_OUTPUT
86
- } || {
87
- if echo "$OUTPUT" | grep -q "You cannot publish over the previously published versions"; then
88
- echo "::warning::Alpha ${VERSION} already published, skipping."
89
- else
90
- echo "::error::Failed to publish alpha ${VERSION}"
91
- echo "$OUTPUT"
92
- exit 1
93
- fi
94
- }
95
-
96
- publish-release:
97
- name: Publish release
98
- needs: check-dependencies
99
- if: github.event_name == 'push'
100
- runs-on: ubuntu-latest
101
- permissions:
102
- id-token: write
103
- contents: read
104
- outputs:
105
- version: ${{ steps.publish.outputs.version }}
106
- steps:
107
- - uses: actions/checkout@v4
108
-
109
- - uses: actions/setup-node@v4
110
- with:
111
- node-version: '24'
112
- registry-url: 'https://registry.npmjs.org'
113
-
114
- - name: Install and build
115
- run: npm ci && npm run build
116
-
117
- - name: Publish release
118
- id: publish
119
- run: |
120
- npm publish
121
- echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
package/CHANGELOG.md DELETED
@@ -1,36 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to `@contrail/flexplm` are documented here.
4
-
5
- Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6
- Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [Unreleased]
9
-
10
- ## [1.3.2] - 2026-04-24
11
- ### Added
12
- - Added `getEntityUsingIdentityService` method to `BaseEntityProcessor` for looking up entities via the identity service using a pool key and property criteria. Returns the resolved entity from the identity's `entityReference`, `undefined` if not found, or throws if multiple matches exist.
13
-
14
- ## [1.3.0] - 2026-04-15
15
- ### Added
16
- - Added inbound thumbnail/primary content syncing from FlexPLM to VibeIQ via `ThumbnailUtil.syncThumbnailToVibeIQ`.
17
- - Added `syncInboundImages` and `syncOutboundImages` methods to `TypeConversionUtils` for controlling image sync per map file configuration.
18
- - Added `PRIMARY_CONTENT_UPDATED` status to `EventShortMessageStatus` for when only primary content changes are detected.
19
-
20
- ### Changed
21
- - `BaseEntityProcessor` update flow now distinguishes between primary-content-only changes and no changes, returning the updated entity when only the thumbnail was synced.
22
- - Improved `FlexPLMConnect.getRequest` function and added unit tests.
23
-
24
- ## [1.2.1] - 2026-04-08
25
-
26
- ### Added
27
- - Added EventShortMessageStatus status values for adding items to projects functionality.
28
- - Added `TypeConversionUtils.isOutboundCreatableFromEntity` method to determine if VibeIQ entities are creatable in FlexPLM (defaults to true).
29
-
30
- ### Changed
31
- - Added optional `context` parameter to `TypeConversionUtils.isInboundCreatableFromObject` method to allow passing context data to map file `isInboundCreatable` functions.
32
-
33
- ## [1.1.66] - (initial changelog entry)
34
-
35
- - Initial changelog. Prior releases did not include a changelog.
36
- See git history for changes predating this entry.
package/publish.bat DELETED
@@ -1,5 +0,0 @@
1
- rd /s /q lib
2
- call npm install
3
- call npm run build
4
- call npm version patch
5
- call npm publish
package/publish.sh DELETED
@@ -1,5 +0,0 @@
1
- rm -rf lib;
2
- npm install;
3
- npm run build;
4
- npm version patch;
5
- npm publish;