@qredex/angular 1.0.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/LICENSE +21 -0
- package/README.md +156 -0
- package/dist/index.d.ts +58 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +62 -0
- package/dist/index.js.map +1 -0
- package/package.json +46 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Qredex, LTD.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
▄▄▄▄
|
|
3
|
+
▄█▀▀███▄▄ █▄
|
|
4
|
+
██ ██ ▄ ██
|
|
5
|
+
██ ██ ████▄▄█▀█▄ ▄████ ▄█▀█▄▀██ ██▀
|
|
6
|
+
██ ▄ ██ ██ ██▄█▀ ██ ██ ██▄█▀ ███
|
|
7
|
+
▀█████▄▄█▀ ▄▀█▄▄▄▄█▀███▄▀█▄▄▄▄██ ██▄
|
|
8
|
+
▀█
|
|
9
|
+
|
|
10
|
+
Copyright (C) 2026 — 2026, Qredex, LTD. All Rights Reserved.
|
|
11
|
+
|
|
12
|
+
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
13
|
+
|
|
14
|
+
This file is part of the Qredex Agent SDK and is licensed under the MIT License. See LICENSE.
|
|
15
|
+
Redistribution and use are permitted under that license.
|
|
16
|
+
|
|
17
|
+
If you need additional information or have any questions, please email: copyright@qredex.com
|
|
18
|
+
-->
|
|
19
|
+
|
|
20
|
+
# @qredex/angular
|
|
21
|
+
|
|
22
|
+
Thin Angular bindings for `@qredex/agent`.
|
|
23
|
+
|
|
24
|
+
[](https://github.com/Qredex/qredex-agent/actions/workflows/ci.yml)
|
|
25
|
+
[](https://github.com/Qredex/qredex-agent/actions/workflows/release.yml)
|
|
26
|
+
[](https://www.npmjs.com/package/@qredex/angular)
|
|
27
|
+
[](LICENSE)
|
|
28
|
+
|
|
29
|
+
## Install
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm install @qredex/angular
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Attribution Flow
|
|
36
|
+
|
|
37
|
+
```mermaid
|
|
38
|
+
sequenceDiagram
|
|
39
|
+
participant User
|
|
40
|
+
participant Bootstrap as App bootstrap
|
|
41
|
+
participant Component as Cart component
|
|
42
|
+
participant Agent as QredexAgent
|
|
43
|
+
|
|
44
|
+
Bootstrap->>Agent: provideQredexAgent()
|
|
45
|
+
User->>Component: Land with ?qdx_intent=iit_xxx
|
|
46
|
+
Component->>Agent: injectQredexAgent()
|
|
47
|
+
Note right of Agent: Captures IIT automatically<br/>No function call needed
|
|
48
|
+
|
|
49
|
+
User->>Component: Cart item count changes
|
|
50
|
+
Component->>Agent: agent.handleCartChange({ itemCount, previousCount })
|
|
51
|
+
Note right of Agent: Locks IIT to PIT internally when lockable
|
|
52
|
+
|
|
53
|
+
User->>Component: Checkout
|
|
54
|
+
Component->>Agent: agent.getPurchaseIntentToken()
|
|
55
|
+
Note right of Component: Send PIT with the order to your backend
|
|
56
|
+
|
|
57
|
+
User->>Component: Cart is cleared
|
|
58
|
+
Component->>Agent: agent.handleCartEmpty()
|
|
59
|
+
|
|
60
|
+
opt No cart-empty step after checkout
|
|
61
|
+
Component->>Agent: agent.handlePaymentSuccess()
|
|
62
|
+
end
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Call `provideQredexAgent()` once at bootstrap, get the runtime with `injectQredexAgent()`, then forward merchant cart state with `agent.handleCartChange(...)`, read the PIT with `agent.getPurchaseIntentToken()`, and clear attribution with `agent.handleCartEmpty()`. Only call `agent.handlePaymentSuccess()` if your platform has no cart-empty step after checkout.
|
|
66
|
+
|
|
67
|
+
## Recommended Integration
|
|
68
|
+
|
|
69
|
+
Register `provideQredexAgent()` once, then call `injectQredexAgent()` inside the existing cart surface you already control.
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
import { bootstrapApplication } from '@angular/platform-browser';
|
|
73
|
+
import { Component, Input, OnChanges } from '@angular/core';
|
|
74
|
+
import { injectQredexAgent, provideQredexAgent } from '@qredex/angular';
|
|
75
|
+
|
|
76
|
+
bootstrapApplication(AppComponent, {
|
|
77
|
+
providers: [
|
|
78
|
+
provideQredexAgent(),
|
|
79
|
+
],
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
@Component({
|
|
83
|
+
selector: 'qredex-cart-bridge',
|
|
84
|
+
standalone: true,
|
|
85
|
+
template: `
|
|
86
|
+
<span>Qredex status: {{ agent.hasPurchaseIntentToken() ? 'locked' : 'waiting' }}</span>
|
|
87
|
+
<button (click)="clearCart()">Clear cart</button>
|
|
88
|
+
<button [disabled]="!agent.hasPurchaseIntentToken()" (click)="submitOrder()">
|
|
89
|
+
Send PIT to backend
|
|
90
|
+
</button>
|
|
91
|
+
`,
|
|
92
|
+
})
|
|
93
|
+
export class QredexCartBridgeComponent implements OnChanges {
|
|
94
|
+
@Input() itemCount = 0;
|
|
95
|
+
|
|
96
|
+
private previousCount = 0;
|
|
97
|
+
readonly agent = injectQredexAgent();
|
|
98
|
+
|
|
99
|
+
ngOnChanges(): void {
|
|
100
|
+
this.agent.handleCartChange({
|
|
101
|
+
itemCount: this.itemCount,
|
|
102
|
+
previousCount: this.previousCount,
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
this.previousCount = this.itemCount;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
async clearCart(): Promise<void> {
|
|
109
|
+
await fetch('/api/cart/clear', {
|
|
110
|
+
method: 'POST',
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
this.agent.handleCartEmpty();
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
async submitOrder(): Promise<void> {
|
|
117
|
+
const pit = this.agent.getPurchaseIntentToken();
|
|
118
|
+
|
|
119
|
+
await fetch('/api/orders', {
|
|
120
|
+
method: 'POST',
|
|
121
|
+
headers: {
|
|
122
|
+
'Content-Type': 'application/json',
|
|
123
|
+
},
|
|
124
|
+
body: JSON.stringify({
|
|
125
|
+
orderId: 'order-123',
|
|
126
|
+
qredex_pit: pit,
|
|
127
|
+
}),
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
await this.clearCart();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## What To Call When
|
|
136
|
+
|
|
137
|
+
| Merchant event | Call | Why |
|
|
138
|
+
|---|---|---|
|
|
139
|
+
| App bootstrap | `provideQredexAgent()` | Makes the agent available to Angular surfaces |
|
|
140
|
+
| Cart becomes non-empty | `agent.handleCartChange({ itemCount, previousCount })` | Gives Qredex the live cart state so IIT can lock to PIT |
|
|
141
|
+
| Cart changes while still non-empty | `agent.handleCartChange(...)` | Safe retry path on the next merchant-reported non-empty cart event if a previous lock failed |
|
|
142
|
+
| Clear cart action | `clearCart() -> agent.handleCartEmpty()` | Clears IIT/PIT from the live session |
|
|
143
|
+
| Need PIT for order submission | `agent.getPurchaseIntentToken()` | Attach PIT to the checkout payload |
|
|
144
|
+
| Checkout completes without a cart-empty step | `agent.handlePaymentSuccess()` | Optional explicit cleanup path |
|
|
145
|
+
|
|
146
|
+
## API Surface
|
|
147
|
+
|
|
148
|
+
| Export | Use |
|
|
149
|
+
|---|---|
|
|
150
|
+
| `provideQredexAgent()` | Primary Angular bootstrap helper |
|
|
151
|
+
| `provideQredex()` | Deprecated alias for `provideQredexAgent()` |
|
|
152
|
+
| `injectQredexAgent()` | Primary Angular injection helper |
|
|
153
|
+
| `getQredexAgent()` | Direct access to the singleton runtime |
|
|
154
|
+
| `initQredex()` | Explicit browser init when needed |
|
|
155
|
+
| `QREDEX_AGENT` | Angular injection token |
|
|
156
|
+
| `QredexAgent` | Re-export of the core agent |
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ▄▄▄▄
|
|
3
|
+
* ▄█▀▀███▄▄ █▄
|
|
4
|
+
* ██ ██ ▄ ██
|
|
5
|
+
* ██ ██ ████▄▄█▀█▄ ▄████ ▄█▀█▄▀██ ██▀
|
|
6
|
+
* ██ ▄ ██ ██ ██▄█▀ ██ ██ ██▄█▀ ███
|
|
7
|
+
* ▀█████▄▄█▀ ▄▀█▄▄▄▄█▀███▄▀█▄▄▄▄██ ██▄
|
|
8
|
+
* ▀█
|
|
9
|
+
*
|
|
10
|
+
* Copyright (C) 2026 — 2026, Qredex, LTD. All Rights Reserved.
|
|
11
|
+
*
|
|
12
|
+
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
13
|
+
*
|
|
14
|
+
* This file is part of the Qredex Agent SDK and is licensed under the MIT License. See LICENSE.
|
|
15
|
+
* Redistribution and use are permitted under that license.
|
|
16
|
+
*
|
|
17
|
+
* If you need additional information or have any questions, please email: copyright@qredex.com
|
|
18
|
+
*/
|
|
19
|
+
import { InjectionToken, type EnvironmentProviders } from '@angular/core';
|
|
20
|
+
import CoreQredexAgent, { type AgentConfig } from '@qredex/agent';
|
|
21
|
+
export declare const QREDEX_AGENT: InjectionToken<{
|
|
22
|
+
getInfluenceIntentToken: typeof import("@qredex/agent").getInfluenceIntentToken;
|
|
23
|
+
getPurchaseIntentToken: typeof import("@qredex/agent").getPurchaseIntentToken;
|
|
24
|
+
hasInfluenceIntentToken: () => boolean;
|
|
25
|
+
hasPurchaseIntentToken: typeof import("@qredex/agent").hasPurchaseIntentToken;
|
|
26
|
+
getState: typeof import("@qredex/agent").getState;
|
|
27
|
+
lockIntent: typeof import("@qredex/agent").lockIntent;
|
|
28
|
+
clearIntent: () => void;
|
|
29
|
+
handleCartChange: typeof import("@qredex/agent").handleCartChange;
|
|
30
|
+
handleCartAdd: typeof import("@qredex/agent").handleCartAdd;
|
|
31
|
+
handleCartEmpty: typeof import("@qredex/agent").handleCartEmpty;
|
|
32
|
+
handlePaymentSuccess: typeof import("@qredex/agent").handlePaymentSuccess;
|
|
33
|
+
onLocked: typeof import("@qredex/agent").onLocked;
|
|
34
|
+
onCleared: typeof import("@qredex/agent").onCleared;
|
|
35
|
+
onError: typeof import("@qredex/agent").onError;
|
|
36
|
+
offLocked: typeof import("@qredex/agent").offLocked;
|
|
37
|
+
offCleared: typeof import("@qredex/agent").offCleared;
|
|
38
|
+
offError: typeof import("@qredex/agent").offError;
|
|
39
|
+
onStateChanged: typeof import("@qredex/agent").onStateChanged;
|
|
40
|
+
offStateChanged: typeof import("@qredex/agent").offStateChanged;
|
|
41
|
+
onIntentCaptured: typeof import("@qredex/agent").onIntentCaptured;
|
|
42
|
+
offIntentCaptured: typeof import("@qredex/agent").offIntentCaptured;
|
|
43
|
+
init: typeof import("@qredex/agent").init;
|
|
44
|
+
isInitialized: typeof import("@qredex/agent").isInitialized;
|
|
45
|
+
destroy: typeof import("@qredex/agent").destroy;
|
|
46
|
+
stop: typeof import("@qredex/agent").stop;
|
|
47
|
+
}>;
|
|
48
|
+
export declare function getQredexAgent(): typeof CoreQredexAgent;
|
|
49
|
+
export declare function initQredex(config?: AgentConfig): typeof CoreQredexAgent;
|
|
50
|
+
export declare function provideQredexAgent(config?: AgentConfig): EnvironmentProviders;
|
|
51
|
+
/**
|
|
52
|
+
* @deprecated Use provideQredexAgent() instead.
|
|
53
|
+
*/
|
|
54
|
+
export declare function provideQredex(config?: AgentConfig): EnvironmentProviders;
|
|
55
|
+
export declare function injectQredexAgent(): typeof CoreQredexAgent;
|
|
56
|
+
export { CoreQredexAgent as QredexAgent };
|
|
57
|
+
export * from '@qredex/agent';
|
|
58
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAEL,cAAc,EAGd,KAAK,oBAAoB,EAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,eAAe,EAAE,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAMlE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;EAEvB,CAAC;AAEH,wBAAgB,cAAc,IAAI,OAAO,eAAe,CAEvD;AAED,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,eAAe,CAMvE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,oBAAoB,CAc7E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,oBAAoB,CAExE;AAED,wBAAgB,iBAAiB,IAAI,OAAO,eAAe,CAE1D;AAED,OAAO,EAAE,eAAe,IAAI,WAAW,EAAE,CAAC;AAC1C,cAAc,eAAe,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ▄▄▄▄
|
|
3
|
+
* ▄█▀▀███▄▄ █▄
|
|
4
|
+
* ██ ██ ▄ ██
|
|
5
|
+
* ██ ██ ████▄▄█▀█▄ ▄████ ▄█▀█▄▀██ ██▀
|
|
6
|
+
* ██ ▄ ██ ██ ██▄█▀ ██ ██ ██▄█▀ ███
|
|
7
|
+
* ▀█████▄▄█▀ ▄▀█▄▄▄▄█▀███▄▀█▄▄▄▄██ ██▄
|
|
8
|
+
* ▀█
|
|
9
|
+
*
|
|
10
|
+
* Copyright (C) 2026 — 2026, Qredex, LTD. All Rights Reserved.
|
|
11
|
+
*
|
|
12
|
+
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
13
|
+
*
|
|
14
|
+
* This file is part of the Qredex Agent SDK and is licensed under the MIT License. See LICENSE.
|
|
15
|
+
* Redistribution and use are permitted under that license.
|
|
16
|
+
*
|
|
17
|
+
* If you need additional information or have any questions, please email: copyright@qredex.com
|
|
18
|
+
*/
|
|
19
|
+
import { ENVIRONMENT_INITIALIZER, InjectionToken, inject, makeEnvironmentProviders, } from '@angular/core';
|
|
20
|
+
import CoreQredexAgent from '@qredex/agent';
|
|
21
|
+
function canUseBrowser() {
|
|
22
|
+
return typeof window !== 'undefined';
|
|
23
|
+
}
|
|
24
|
+
export const QREDEX_AGENT = new InjectionToken('QREDEX_AGENT', {
|
|
25
|
+
factory: () => CoreQredexAgent,
|
|
26
|
+
});
|
|
27
|
+
export function getQredexAgent() {
|
|
28
|
+
return CoreQredexAgent;
|
|
29
|
+
}
|
|
30
|
+
export function initQredex(config) {
|
|
31
|
+
if (canUseBrowser() && (config !== undefined || !CoreQredexAgent.isInitialized())) {
|
|
32
|
+
CoreQredexAgent.init(config);
|
|
33
|
+
}
|
|
34
|
+
return CoreQredexAgent;
|
|
35
|
+
}
|
|
36
|
+
export function provideQredexAgent(config) {
|
|
37
|
+
return makeEnvironmentProviders([
|
|
38
|
+
{
|
|
39
|
+
provide: QREDEX_AGENT,
|
|
40
|
+
useValue: CoreQredexAgent,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
provide: ENVIRONMENT_INITIALIZER,
|
|
44
|
+
multi: true,
|
|
45
|
+
useValue: () => {
|
|
46
|
+
initQredex(config);
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
]);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* @deprecated Use provideQredexAgent() instead.
|
|
53
|
+
*/
|
|
54
|
+
export function provideQredex(config) {
|
|
55
|
+
return provideQredexAgent(config);
|
|
56
|
+
}
|
|
57
|
+
export function injectQredexAgent() {
|
|
58
|
+
return inject(QREDEX_AGENT);
|
|
59
|
+
}
|
|
60
|
+
export { CoreQredexAgent as QredexAgent };
|
|
61
|
+
export * from '@qredex/agent';
|
|
62
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EACL,uBAAuB,EACvB,cAAc,EACd,MAAM,EACN,wBAAwB,GAEzB,MAAM,eAAe,CAAC;AACvB,OAAO,eAAqC,MAAM,eAAe,CAAC;AAElE,SAAS,aAAa;IACpB,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,cAAc,CAAyB,cAAc,EAAE;IACrF,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe;CAC/B,CAAC,CAAC;AAEH,MAAM,UAAU,cAAc;IAC5B,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAoB;IAC7C,IAAI,aAAa,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC;QAClF,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,OAAO,wBAAwB,CAAC;QAC9B;YACE,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE,eAAe;SAC1B;QACD;YACE,OAAO,EAAE,uBAAuB;YAChC,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,GAAG,EAAE;gBACb,UAAU,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAoB;IAChD,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9B,CAAC;AAED,OAAO,EAAE,eAAe,IAAI,WAAW,EAAE,CAAC;AAC1C,cAAc,eAAe,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@qredex/angular",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Angular wrapper for Qredex Agent",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"module": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist",
|
|
18
|
+
"README.md",
|
|
19
|
+
"LICENSE"
|
|
20
|
+
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "tsc -p tsconfig.json"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@qredex/agent": "^1.0.0"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@qredex/agent": "file:../.."
|
|
29
|
+
},
|
|
30
|
+
"peerDependencies": {
|
|
31
|
+
"@angular/core": ">=17.0.0 <21.0.0"
|
|
32
|
+
},
|
|
33
|
+
"license": "MIT",
|
|
34
|
+
"publishConfig": {
|
|
35
|
+
"access": "public"
|
|
36
|
+
},
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "git+https://github.com/Qredex/qredex-agent.git",
|
|
40
|
+
"directory": "packages/angular"
|
|
41
|
+
},
|
|
42
|
+
"homepage": "https://github.com/Qredex/qredex-agent/tree/main/packages/angular#readme",
|
|
43
|
+
"bugs": {
|
|
44
|
+
"url": "https://github.com/Qredex/qredex-agent/issues"
|
|
45
|
+
}
|
|
46
|
+
}
|