@contrail/flexplm 1.3.0 → 1.3.1-alpha.eae3d9f
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/.github/workflows/flexplm-lib.yml +1 -1
- package/.github/workflows/publish-to-npm.yml +35 -38
- package/lib/entity-processor/base-entity-processor.d.ts +42 -42
- package/lib/entity-processor/base-entity-processor.js +385 -385
- package/lib/entity-processor/base-entity-processor.spec.d.ts +1 -1
- package/lib/entity-processor/base-entity-processor.spec.js +397 -397
- package/lib/flexplm-request.d.ts +3 -3
- package/lib/flexplm-request.js +34 -34
- package/lib/flexplm-utils.d.ts +5 -5
- package/lib/flexplm-utils.js +33 -33
- package/lib/flexplm-utils.spec.d.ts +1 -1
- package/lib/flexplm-utils.spec.js +26 -26
- package/lib/index.d.ts +22 -22
- package/lib/index.js +38 -38
- package/lib/interfaces/interfaces.d.ts +105 -105
- package/lib/interfaces/interfaces.js +2 -2
- package/lib/interfaces/item-family-changes.d.ts +20 -20
- package/lib/interfaces/item-family-changes.js +56 -56
- package/lib/interfaces/publish-change-data.d.ts +19 -19
- package/lib/interfaces/publish-change-data.js +32 -32
- package/lib/publish/base-process-publish-assortment-callback.d.ts +9 -9
- package/lib/publish/base-process-publish-assortment-callback.js +38 -38
- package/lib/publish/base-process-publish-assortment.d.ts +93 -93
- package/lib/publish/base-process-publish-assortment.js +944 -944
- package/lib/publish/base-process-publish-assortment.spec.d.ts +1 -1
- package/lib/publish/base-process-publish-assortment.spec.js +1670 -1670
- package/lib/publish/mockData.d.ts +1389 -1389
- package/lib/publish/mockData.js +4519 -4519
- package/lib/transform/identifier-conversion-spec-mockData.js +444 -444
- package/lib/transform/identifier-conversion.d.ts +15 -15
- package/lib/transform/identifier-conversion.js +212 -212
- package/lib/transform/identifier-conversion.spec.d.ts +1 -1
- package/lib/transform/identifier-conversion.spec.js +339 -339
- package/lib/util/config-defaults.d.ts +8 -8
- package/lib/util/config-defaults.js +85 -85
- package/lib/util/config-defaults.spec.d.ts +1 -1
- package/lib/util/config-defaults.spec.js +293 -293
- package/lib/util/data-converter-spec-mockData.js +205 -205
- package/lib/util/data-converter.d.ts +39 -39
- package/lib/util/data-converter.js +592 -592
- package/lib/util/data-converter.spec.d.ts +1 -1
- package/lib/util/data-converter.spec.js +904 -904
- package/lib/util/error-response-object.d.ts +4 -4
- package/lib/util/error-response-object.js +47 -47
- package/lib/util/error-response-object.spec.d.ts +1 -1
- package/lib/util/error-response-object.spec.js +99 -99
- package/lib/util/event-short-message-status.d.ts +19 -19
- package/lib/util/event-short-message-status.js +23 -23
- package/lib/util/federation.d.ts +15 -15
- package/lib/util/federation.js +149 -149
- package/lib/util/flexplm-connect.d.ts +22 -22
- package/lib/util/flexplm-connect.js +176 -176
- package/lib/util/flexplm-connect.spec.d.ts +1 -1
- package/lib/util/flexplm-connect.spec.js +88 -88
- package/lib/util/logger-config.d.ts +1 -1
- package/lib/util/logger-config.js +26 -26
- package/lib/util/map-util-spec-mockData.js +205 -205
- package/lib/util/map-utils.d.ts +6 -6
- package/lib/util/map-utils.js +15 -15
- package/lib/util/map-utils.spec.d.ts +1 -1
- package/lib/util/map-utils.spec.js +89 -89
- package/lib/util/mockData.d.ts +80 -80
- package/lib/util/mockData.js +103 -103
- package/lib/util/thumbnail-util.d.ts +34 -34
- package/lib/util/thumbnail-util.js +215 -215
- package/lib/util/thumbnail-util.spec.d.ts +1 -1
- package/lib/util/thumbnail-util.spec.js +434 -434
- package/lib/util/type-conversion-utils-spec-mockData.js +259 -259
- package/lib/util/type-conversion-utils.d.ts +23 -23
- package/lib/util/type-conversion-utils.js +265 -265
- package/lib/util/type-conversion-utils.spec.d.ts +1 -1
- package/lib/util/type-conversion-utils.spec.js +868 -868
- package/lib/util/type-defaults.d.ts +16 -16
- package/lib/util/type-defaults.js +221 -221
- package/lib/util/type-defaults.spec.d.ts +1 -1
- package/lib/util/type-defaults.spec.js +516 -516
- package/lib/util/type-utils.d.ts +13 -13
- package/lib/util/type-utils.js +114 -114
- package/lib/util/type-utils.spec.d.ts +1 -1
- package/lib/util/type-utils.spec.js +190 -190
- package/package.json +1 -1
- package/publish.sh +0 -0
- package/tsconfig.json +1 -6
- package/.claude/settings.local.json +0 -8
|
@@ -30,10 +30,38 @@ jobs:
|
|
|
30
30
|
echo "Version ${VERSION} is available."
|
|
31
31
|
fi
|
|
32
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
|
+
|
|
33
57
|
publish-alpha:
|
|
34
58
|
name: Publish alpha
|
|
35
|
-
|
|
59
|
+
needs: check-dependencies
|
|
60
|
+
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository
|
|
36
61
|
runs-on: ubuntu-latest
|
|
62
|
+
permissions:
|
|
63
|
+
id-token: write
|
|
64
|
+
contents: read
|
|
37
65
|
outputs:
|
|
38
66
|
version: ${{ steps.publish.outputs.version }}
|
|
39
67
|
steps:
|
|
@@ -41,13 +69,10 @@ jobs:
|
|
|
41
69
|
|
|
42
70
|
- uses: actions/setup-node@v4
|
|
43
71
|
with:
|
|
44
|
-
node-version: '
|
|
72
|
+
node-version: '24'
|
|
45
73
|
registry-url: 'https://registry.npmjs.org'
|
|
46
74
|
|
|
47
75
|
- name: Install and build
|
|
48
|
-
env:
|
|
49
|
-
NPM_TOKEN: ${{ secrets.ZACH_NPM_TOKEN_4 }}
|
|
50
|
-
NODE_AUTH_TOKEN: ${{ secrets.ZACH_NPM_TOKEN_4 }}
|
|
51
76
|
run: npm ci && npm run build
|
|
52
77
|
|
|
53
78
|
- name: Publish alpha
|
|
@@ -67,14 +92,15 @@ jobs:
|
|
|
67
92
|
exit 1
|
|
68
93
|
fi
|
|
69
94
|
}
|
|
70
|
-
env:
|
|
71
|
-
NPM_TOKEN: ${{ secrets.ZACH_NPM_TOKEN_4 }}
|
|
72
|
-
NODE_AUTH_TOKEN: ${{ secrets.ZACH_NPM_TOKEN_4 }}
|
|
73
95
|
|
|
74
96
|
publish-release:
|
|
75
97
|
name: Publish release
|
|
98
|
+
needs: check-dependencies
|
|
76
99
|
if: github.event_name == 'push'
|
|
77
100
|
runs-on: ubuntu-latest
|
|
101
|
+
permissions:
|
|
102
|
+
id-token: write
|
|
103
|
+
contents: read
|
|
78
104
|
outputs:
|
|
79
105
|
version: ${{ steps.publish.outputs.version }}
|
|
80
106
|
steps:
|
|
@@ -82,13 +108,10 @@ jobs:
|
|
|
82
108
|
|
|
83
109
|
- uses: actions/setup-node@v4
|
|
84
110
|
with:
|
|
85
|
-
node-version: '
|
|
111
|
+
node-version: '24'
|
|
86
112
|
registry-url: 'https://registry.npmjs.org'
|
|
87
113
|
|
|
88
114
|
- name: Install and build
|
|
89
|
-
env:
|
|
90
|
-
NPM_TOKEN: ${{ secrets.ZACH_NPM_TOKEN_4 }}
|
|
91
|
-
NODE_AUTH_TOKEN: ${{ secrets.ZACH_NPM_TOKEN_4 }}
|
|
92
115
|
run: npm ci && npm run build
|
|
93
116
|
|
|
94
117
|
- name: Publish release
|
|
@@ -96,29 +119,3 @@ jobs:
|
|
|
96
119
|
run: |
|
|
97
120
|
npm publish
|
|
98
121
|
echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
|
|
99
|
-
env:
|
|
100
|
-
NPM_TOKEN: ${{ secrets.ZACH_NPM_TOKEN_4 }}
|
|
101
|
-
NODE_AUTH_TOKEN: ${{ secrets.ZACH_NPM_TOKEN_4 }}
|
|
102
|
-
|
|
103
|
-
verify-install:
|
|
104
|
-
name: Verify public install
|
|
105
|
-
needs: [publish-alpha, publish-release]
|
|
106
|
-
if: always() && (needs.publish-alpha.outputs.version || needs.publish-release.outputs.version)
|
|
107
|
-
runs-on: ubuntu-latest
|
|
108
|
-
steps:
|
|
109
|
-
- name: Install without auth
|
|
110
|
-
run: |
|
|
111
|
-
VERSION="${{ needs.publish-alpha.outputs.version || needs.publish-release.outputs.version }}"
|
|
112
|
-
echo "Verifying @contrail/flexplm@${VERSION} can be installed without auth..."
|
|
113
|
-
mkdir /tmp/install-test && cd /tmp/install-test
|
|
114
|
-
npm init -y > /dev/null
|
|
115
|
-
for attempt in 1 2 3; do
|
|
116
|
-
if npm install @contrail/flexplm@${VERSION} --no-save 2>/dev/null; then
|
|
117
|
-
echo "Install verified successfully."
|
|
118
|
-
exit 0
|
|
119
|
-
fi
|
|
120
|
-
echo "Attempt ${attempt} failed, waiting 10s for registry propagation..."
|
|
121
|
-
sleep 10
|
|
122
|
-
done
|
|
123
|
-
echo "::error::Failed to install @contrail/flexplm@${VERSION} after 3 attempts"
|
|
124
|
-
exit 1
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import { FCConfig, EntityPayloadType } from '../interfaces/interfaces';
|
|
2
|
-
import { DataConverter } from '../util/data-converter';
|
|
3
|
-
import { TypeUtils } from '../util/type-utils';
|
|
4
|
-
import { MapFileUtil } from '@contrail/transform-data';
|
|
5
|
-
export declare class IncomingEntityResponse {
|
|
6
|
-
entity: any;
|
|
7
|
-
earlyReturn: any;
|
|
8
|
-
}
|
|
9
|
-
export declare abstract class BaseEntityProcessor {
|
|
10
|
-
protected config: FCConfig;
|
|
11
|
-
protected dc: DataConverter;
|
|
12
|
-
protected mapFileUtil: MapFileUtil;
|
|
13
|
-
protected baseType: string;
|
|
14
|
-
protected typeUtil: TypeUtils;
|
|
15
|
-
protected transformMapFile: string;
|
|
16
|
-
protected entities: any;
|
|
17
|
-
protected orgSlug: string;
|
|
18
|
-
constructor(config: FCConfig, dc: DataConverter, mapFileUtil: MapFileUtil, baseType: string);
|
|
19
|
-
inbound(event: EntityPayloadType): Promise<any>;
|
|
20
|
-
handleIncomingUpsert(event: EntityPayloadType): Promise<any>;
|
|
21
|
-
getInboundStatusMessage(statusObject: any): string;
|
|
22
|
-
queryEntityWithSubTypeCriteria(entityType: string, entityTypePath: string, propertyCriteria: any): Promise<any[]>;
|
|
23
|
-
getCriteriaForEntity(entityType: string, entityTypePath: string, propertyCriteria: any): Promise<any>;
|
|
24
|
-
getRootTypePropertyKeys(rootType: any, propertyCriteria?: any): string[];
|
|
25
|
-
handleIncomingDelete(event: any): Promise<void>;
|
|
26
|
-
getTransformedData(event: any): Promise<any>;
|
|
27
|
-
getUpdatesForEntity(entity: any, inboundData: any): Promise<object>;
|
|
28
|
-
getVibeOwningKeys(entity: any): Promise<any[]>;
|
|
29
|
-
getVibeOwningKeysFromInbound(entity: any): Promise<any[]>;
|
|
30
|
-
createEntity(entityName: any, changes: any): Promise<any>;
|
|
31
|
-
updateEntity(entityName: any, entity: any, diffs: any): Promise<any>;
|
|
32
|
-
protected abstract getIncomingEntity(event: any, inboundData: any): Promise<IncomingEntityResponse>;
|
|
33
|
-
protected abstract getCreateEntity(inboundData: any): Promise<IncomingEntityResponse>;
|
|
34
|
-
outbound(event: any): Promise<any>;
|
|
35
|
-
handleOutgoingUpsert(entityType: any, event: any): Promise<any>;
|
|
36
|
-
getOutboundEntityUpdates(event: any, flexResponse: any): Promise<any>;
|
|
37
|
-
handleOutgoingDelete(entityType: any, event: any): Promise<void>;
|
|
38
|
-
protected abstract getOutgoingUpsertPayload(entityType: any, event: any): Promise<EntityPayloadType>;
|
|
39
|
-
protected triggerNewEvent(triggerKey: string, event: any): Promise<any>;
|
|
40
|
-
protected sendUpsertToFlexPLM(event: any): Promise<any>;
|
|
41
|
-
protected getEntityCurrentStateUpsertPayload(event: any): Promise<EntityPayloadType>;
|
|
42
|
-
}
|
|
1
|
+
import { FCConfig, EntityPayloadType } from '../interfaces/interfaces';
|
|
2
|
+
import { DataConverter } from '../util/data-converter';
|
|
3
|
+
import { TypeUtils } from '../util/type-utils';
|
|
4
|
+
import { MapFileUtil } from '@contrail/transform-data';
|
|
5
|
+
export declare class IncomingEntityResponse {
|
|
6
|
+
entity: any;
|
|
7
|
+
earlyReturn: any;
|
|
8
|
+
}
|
|
9
|
+
export declare abstract class BaseEntityProcessor {
|
|
10
|
+
protected config: FCConfig;
|
|
11
|
+
protected dc: DataConverter;
|
|
12
|
+
protected mapFileUtil: MapFileUtil;
|
|
13
|
+
protected baseType: string;
|
|
14
|
+
protected typeUtil: TypeUtils;
|
|
15
|
+
protected transformMapFile: string;
|
|
16
|
+
protected entities: any;
|
|
17
|
+
protected orgSlug: string;
|
|
18
|
+
constructor(config: FCConfig, dc: DataConverter, mapFileUtil: MapFileUtil, baseType: string);
|
|
19
|
+
inbound(event: EntityPayloadType): Promise<any>;
|
|
20
|
+
handleIncomingUpsert(event: EntityPayloadType): Promise<any>;
|
|
21
|
+
getInboundStatusMessage(statusObject: any): string;
|
|
22
|
+
queryEntityWithSubTypeCriteria(entityType: string, entityTypePath: string, propertyCriteria: any): Promise<any[]>;
|
|
23
|
+
getCriteriaForEntity(entityType: string, entityTypePath: string, propertyCriteria: any): Promise<any>;
|
|
24
|
+
getRootTypePropertyKeys(rootType: any, propertyCriteria?: any): string[];
|
|
25
|
+
handleIncomingDelete(event: any): Promise<void>;
|
|
26
|
+
getTransformedData(event: any): Promise<any>;
|
|
27
|
+
getUpdatesForEntity(entity: any, inboundData: any): Promise<object>;
|
|
28
|
+
getVibeOwningKeys(entity: any): Promise<any[]>;
|
|
29
|
+
getVibeOwningKeysFromInbound(entity: any): Promise<any[]>;
|
|
30
|
+
createEntity(entityName: any, changes: any): Promise<any>;
|
|
31
|
+
updateEntity(entityName: any, entity: any, diffs: any): Promise<any>;
|
|
32
|
+
protected abstract getIncomingEntity(event: any, inboundData: any): Promise<IncomingEntityResponse>;
|
|
33
|
+
protected abstract getCreateEntity(inboundData: any): Promise<IncomingEntityResponse>;
|
|
34
|
+
outbound(event: any): Promise<any>;
|
|
35
|
+
handleOutgoingUpsert(entityType: any, event: any): Promise<any>;
|
|
36
|
+
getOutboundEntityUpdates(event: any, flexResponse: any): Promise<any>;
|
|
37
|
+
handleOutgoingDelete(entityType: any, event: any): Promise<void>;
|
|
38
|
+
protected abstract getOutgoingUpsertPayload(entityType: any, event: any): Promise<EntityPayloadType>;
|
|
39
|
+
protected triggerNewEvent(triggerKey: string, event: any): Promise<any>;
|
|
40
|
+
protected sendUpsertToFlexPLM(event: any): Promise<any>;
|
|
41
|
+
protected getEntityCurrentStateUpsertPayload(event: any): Promise<EntityPayloadType>;
|
|
42
|
+
}
|