@memberjunction/esignature-dropboxsign 0.0.1 → 5.40.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.
@@ -0,0 +1,57 @@
1
+ import { BaseSignatureProvider, CreateEnvelopeRequest, EnvelopeResult, EnvelopeStatus, EnvelopeStatusResult, NormalizedSignatureEvent, OperationResult, SignatureOperation, SignatureProviderConfig, SignedDocumentResult, WebhookVerificationResult } from '@memberjunction/esignature';
2
+ /**
3
+ * Maps a Dropbox Sign signature-request / signature state onto our normalized lifecycle.
4
+ *
5
+ * Dropbox Sign exposes status via booleans on the request (`is_complete`, `is_declined`) and a
6
+ * per-signature `status_code` (`awaiting_signature`, `signed`, `declined`, `on_hold`, `error`).
7
+ */
8
+ export declare function mapDropboxSignStatus(statusCode: string): EnvelopeStatus;
9
+ /**
10
+ * Dropbox Sign (formerly HelloSign) driver for the MemberJunction eSignature primitive — v3 REST
11
+ * integration with API-key (HTTP Basic) authentication. Resolved by the engine through
12
+ * `MJGlobal.ClassFactory` by the key `'DropboxSign'`.
13
+ *
14
+ * Credentials are injected by the engine via {@link initialize} (resolved + decrypted from the
15
+ * Credential Engine); this provider does not read environment variables.
16
+ */
17
+ export declare class DropboxSignSignatureProvider extends BaseSignatureProvider {
18
+ protected readonly providerKey = "DropboxSign";
19
+ private config;
20
+ initialize(config: SignatureProviderConfig): Promise<void>;
21
+ get IsConfigured(): boolean;
22
+ getSupportedOperations(): SignatureOperation[];
23
+ CreateEnvelope(req: CreateEnvelopeRequest): Promise<EnvelopeResult>;
24
+ GetEnvelopeStatus(externalEnvelopeId: string): Promise<EnvelopeStatusResult>;
25
+ DownloadSignedDocument(externalEnvelopeId: string): Promise<SignedDocumentResult>;
26
+ VoidEnvelope(externalEnvelopeId: string, _reason: string): Promise<OperationResult>;
27
+ /**
28
+ * Normalize a Dropbox Sign event callback. The payload is `{ event: { event_type, event_time,
29
+ * event_hash }, signature_request: { signature_request_id, ... } }`. We map the request state
30
+ * (not the event name) so the normalized status reflects the current envelope state.
31
+ */
32
+ ParseWebhookEvent(payload: unknown, _headers: Record<string, string>): NormalizedSignatureEvent | null;
33
+ /**
34
+ * Verify a Dropbox Sign callback. Dropbox Sign computes `event_hash = HMAC-SHA256(event_time +
35
+ * event_type, apiKey)` and includes it in the payload's `event` object. We recompute and compare
36
+ * in constant time. Fails closed when no key/material is available.
37
+ */
38
+ VerifyWebhookSignature(_rawBody: Buffer | undefined, _headers: Record<string, string>, payload?: unknown): WebhookVerificationResult;
39
+ private buildSendForm;
40
+ /** Derive a normalized status from the request booleans + first signature's status code. */
41
+ private deriveRequestStatus;
42
+ private mapRecipients;
43
+ private authHeaders;
44
+ private errorText;
45
+ private errorMessage;
46
+ private notConfiguredMessage;
47
+ /** Dropbox Sign event_time is unix seconds (string). Convert to ISO; fall back to now. */
48
+ private eventTimeToIso;
49
+ /** Constant-time hex comparison; false on length mismatch. `Uint8Array.from` strips the
50
+ * Buffer→ArrayBufferLike narrowing TS 5.9's node:crypto typings reject. */
51
+ private safeEqualHex;
52
+ private asRecord;
53
+ private readField;
54
+ private readString;
55
+ private readBoolean;
56
+ }
57
+ //# sourceMappingURL=DropboxSignSignatureProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropboxSignSignatureProvider.d.ts","sourceRoot":"","sources":["../src/DropboxSignSignatureProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EAEf,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,yBAAyB,EAC5B,MAAM,4BAA4B,CAAC;AAiBpC;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAevE;AAKD;;;;;;;GAOG;AACH,qBACa,4BAA6B,SAAQ,qBAAqB;IACnE,SAAS,CAAC,QAAQ,CAAC,WAAW,iBAAiB;IAE/C,OAAO,CAAC,MAAM,CAAkC;IAEnC,UAAU,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvE,IAAW,YAAY,IAAI,OAAO,CAEjC;IAEM,sBAAsB,IAAI,kBAAkB,EAAE;IAaxC,cAAc,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAqCnE,iBAAiB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA2B5E,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAuBjF,YAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAsBhG;;;;OAIG;IACI,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,wBAAwB,GAAG,IAAI;IAiB7G;;;;OAIG;IACI,sBAAsB,CACzB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,OAAO,CAAC,EAAE,OAAO,GAClB,yBAAyB;IAqB5B,OAAO,CAAC,aAAa;IA0BrB,4FAA4F;IAC5F,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,WAAW;YAML,SAAS;IAKvB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,oBAAoB;IAI5B,0FAA0F;IAC1F,OAAO,CAAC,cAAc;IAQtB;gFAC4E;IAC5E,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,WAAW;CAItB"}
@@ -0,0 +1,323 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { createHmac, timingSafeEqual } from 'node:crypto';
8
+ import { RegisterClass } from '@memberjunction/global';
9
+ import { BaseSignatureProvider, } from '@memberjunction/esignature';
10
+ /**
11
+ * Maps a Dropbox Sign signature-request / signature state onto our normalized lifecycle.
12
+ *
13
+ * Dropbox Sign exposes status via booleans on the request (`is_complete`, `is_declined`) and a
14
+ * per-signature `status_code` (`awaiting_signature`, `signed`, `declined`, `on_hold`, `error`).
15
+ */
16
+ export function mapDropboxSignStatus(statusCode) {
17
+ switch ((statusCode || '').toLowerCase()) {
18
+ case 'awaiting_signature':
19
+ return 'Sent';
20
+ case 'on_hold':
21
+ return 'Delivered';
22
+ case 'signed':
23
+ return 'Signed';
24
+ case 'declined':
25
+ return 'Declined';
26
+ case 'error':
27
+ return 'Unknown';
28
+ default:
29
+ return 'Unknown';
30
+ }
31
+ }
32
+ /** Header carrying the event payload's HMAC when Dropbox Sign is configured to sign callbacks. */
33
+ const DROPBOX_SIGN_EVENT_HASH_FIELD = 'event_hash';
34
+ /**
35
+ * Dropbox Sign (formerly HelloSign) driver for the MemberJunction eSignature primitive — v3 REST
36
+ * integration with API-key (HTTP Basic) authentication. Resolved by the engine through
37
+ * `MJGlobal.ClassFactory` by the key `'DropboxSign'`.
38
+ *
39
+ * Credentials are injected by the engine via {@link initialize} (resolved + decrypted from the
40
+ * Credential Engine); this provider does not read environment variables.
41
+ */
42
+ let DropboxSignSignatureProvider = class DropboxSignSignatureProvider extends BaseSignatureProvider {
43
+ constructor() {
44
+ super(...arguments);
45
+ this.providerKey = 'DropboxSign';
46
+ this.config = null;
47
+ }
48
+ async initialize(config) {
49
+ const apiKey = this.readString(config, 'apiKey');
50
+ if (!apiKey) {
51
+ this.config = null;
52
+ return;
53
+ }
54
+ this.config = {
55
+ apiKey,
56
+ restBase: this.readString(config, 'restBase') || 'https://api.hellosign.com/v3',
57
+ testMode: this.readBoolean(config, 'testMode'),
58
+ connectHmacKey: this.readString(config, 'connectHmacKey'),
59
+ };
60
+ }
61
+ get IsConfigured() {
62
+ return this.config !== null;
63
+ }
64
+ getSupportedOperations() {
65
+ return [
66
+ 'CreateEnvelope',
67
+ 'GetEnvelopeStatus',
68
+ 'DownloadSignedDocument',
69
+ 'VoidEnvelope',
70
+ 'ParseWebhookEvent',
71
+ 'VerifyWebhookSignature',
72
+ ];
73
+ }
74
+ // ---- Core operations -------------------------------------------------------------------------
75
+ async CreateEnvelope(req) {
76
+ const config = this.config;
77
+ if (!config) {
78
+ return { Success: false, ErrorMessage: this.notConfiguredMessage() };
79
+ }
80
+ if (!req.documents?.length) {
81
+ return { Success: false, ErrorMessage: 'No documents were provided to sign.' };
82
+ }
83
+ if (!req.recipients?.length) {
84
+ return { Success: false, ErrorMessage: 'No recipients were provided.' };
85
+ }
86
+ try {
87
+ const form = this.buildSendForm(req, config);
88
+ const resp = await fetch(`${config.restBase}/signature_request/send`, {
89
+ method: 'POST',
90
+ headers: this.authHeaders(config),
91
+ body: form,
92
+ });
93
+ if (!resp.ok) {
94
+ return { Success: false, ErrorMessage: await this.errorText('signature request send', resp) };
95
+ }
96
+ const json = (await resp.json());
97
+ const request = json.signature_request;
98
+ if (!request?.signature_request_id) {
99
+ return { Success: false, ErrorMessage: 'Dropbox Sign did not return a signature_request_id.' };
100
+ }
101
+ return {
102
+ Success: true,
103
+ externalEnvelopeId: request.signature_request_id,
104
+ status: this.deriveRequestStatus(request, req.sendImmediately),
105
+ };
106
+ }
107
+ catch (e) {
108
+ return { Success: false, ErrorMessage: this.errorMessage(e) };
109
+ }
110
+ }
111
+ async GetEnvelopeStatus(externalEnvelopeId) {
112
+ const config = this.config;
113
+ if (!config) {
114
+ return { Success: false, status: 'Unknown', ErrorMessage: this.notConfiguredMessage() };
115
+ }
116
+ try {
117
+ const resp = await fetch(`${config.restBase}/signature_request/${encodeURIComponent(externalEnvelopeId)}`, {
118
+ headers: this.authHeaders(config),
119
+ });
120
+ if (!resp.ok) {
121
+ return { Success: false, status: 'Unknown', ErrorMessage: await this.errorText('status check', resp) };
122
+ }
123
+ const json = (await resp.json());
124
+ const request = json.signature_request;
125
+ if (!request) {
126
+ return { Success: false, status: 'Unknown', ErrorMessage: 'Dropbox Sign returned no signature_request.' };
127
+ }
128
+ return {
129
+ Success: true,
130
+ status: this.deriveRequestStatus(request),
131
+ recipients: this.mapRecipients(request),
132
+ };
133
+ }
134
+ catch (e) {
135
+ return { Success: false, status: 'Unknown', ErrorMessage: this.errorMessage(e) };
136
+ }
137
+ }
138
+ async DownloadSignedDocument(externalEnvelopeId) {
139
+ const config = this.config;
140
+ if (!config) {
141
+ return { Success: false, ErrorMessage: this.notConfiguredMessage() };
142
+ }
143
+ try {
144
+ const resp = await fetch(`${config.restBase}/signature_request/files/${encodeURIComponent(externalEnvelopeId)}?file_type=pdf`, { headers: this.authHeaders(config) });
145
+ if (!resp.ok) {
146
+ return { Success: false, ErrorMessage: await this.errorText('document download', resp) };
147
+ }
148
+ const bytes = Buffer.from(await resp.arrayBuffer());
149
+ return {
150
+ Success: true,
151
+ document: { bytes, filename: `${externalEnvelopeId}.pdf`, contentType: 'application/pdf' },
152
+ };
153
+ }
154
+ catch (e) {
155
+ return { Success: false, ErrorMessage: this.errorMessage(e) };
156
+ }
157
+ }
158
+ async VoidEnvelope(externalEnvelopeId, _reason) {
159
+ const config = this.config;
160
+ if (!config) {
161
+ return { Success: false, ErrorMessage: this.notConfiguredMessage() };
162
+ }
163
+ try {
164
+ // Dropbox Sign cancels an in-flight request (no reason field on the API).
165
+ const resp = await fetch(`${config.restBase}/signature_request/cancel/${encodeURIComponent(externalEnvelopeId)}`, {
166
+ method: 'POST',
167
+ headers: this.authHeaders(config),
168
+ });
169
+ if (!resp.ok) {
170
+ return { Success: false, ErrorMessage: await this.errorText('cancel', resp) };
171
+ }
172
+ return { Success: true };
173
+ }
174
+ catch (e) {
175
+ return { Success: false, ErrorMessage: this.errorMessage(e) };
176
+ }
177
+ }
178
+ // ---- Inbound webhook -------------------------------------------------------------------------
179
+ /**
180
+ * Normalize a Dropbox Sign event callback. The payload is `{ event: { event_type, event_time,
181
+ * event_hash }, signature_request: { signature_request_id, ... } }`. We map the request state
182
+ * (not the event name) so the normalized status reflects the current envelope state.
183
+ */
184
+ ParseWebhookEvent(payload, _headers) {
185
+ const root = this.asRecord(payload);
186
+ const request = this.asRecord(root?.signature_request);
187
+ const envelopeId = this.readField(request, 'signature_request_id');
188
+ if (!envelopeId) {
189
+ return null;
190
+ }
191
+ const event = this.asRecord(root?.event);
192
+ const occurredAt = this.eventTimeToIso(this.readField(event, 'event_time'));
193
+ return {
194
+ externalEnvelopeId: envelopeId,
195
+ status: this.deriveRequestStatus(request),
196
+ occurredAt,
197
+ raw: payload,
198
+ };
199
+ }
200
+ /**
201
+ * Verify a Dropbox Sign callback. Dropbox Sign computes `event_hash = HMAC-SHA256(event_time +
202
+ * event_type, apiKey)` and includes it in the payload's `event` object. We recompute and compare
203
+ * in constant time. Fails closed when no key/material is available.
204
+ */
205
+ VerifyWebhookSignature(_rawBody, _headers, payload) {
206
+ // Dropbox Sign signs callbacks with the account API key by default; an explicit connectHmacKey
207
+ // overrides it. Since the apiKey is always present on a configured driver, verification is
208
+ // effectively always enforced for Dropbox Sign.
209
+ const secret = this.config?.connectHmacKey || this.config?.apiKey;
210
+ if (!secret) {
211
+ return 'NotConfigured';
212
+ }
213
+ const event = this.asRecord(this.asRecord(payload)?.event);
214
+ const provided = this.readField(event, DROPBOX_SIGN_EVENT_HASH_FIELD);
215
+ const eventTime = this.readField(event, 'event_time');
216
+ const eventType = this.readField(event, 'event_type');
217
+ if (!provided || !eventTime || !eventType) {
218
+ return 'Failed';
219
+ }
220
+ const expected = createHmac('sha256', secret).update(`${eventTime}${eventType}`, 'utf8').digest('hex');
221
+ return this.safeEqualHex(provided, expected) ? 'Verified' : 'Failed';
222
+ }
223
+ // ---- Request construction --------------------------------------------------------------------
224
+ buildSendForm(req, config) {
225
+ const form = new FormData();
226
+ form.append('title', req.title || 'Please sign this document');
227
+ form.append('subject', req.title || 'Please sign this document');
228
+ if (req.message) {
229
+ form.append('message', req.message);
230
+ }
231
+ form.append('test_mode', config.testMode ? '1' : '0');
232
+ req.documents.forEach((doc, i) => {
233
+ const blob = new Blob([new Uint8Array(doc.bytes)], { type: doc.contentType || 'application/pdf' });
234
+ form.append(`file[${i}]`, blob, doc.filename);
235
+ });
236
+ req.recipients.forEach((r, i) => {
237
+ form.append(`signers[${i}][email_address]`, r.email);
238
+ form.append(`signers[${i}][name]`, r.name || r.email);
239
+ form.append(`signers[${i}][order]`, String(r.routingOrder ?? i + 1));
240
+ });
241
+ Object.entries(req.metadata ?? {}).forEach(([key, value]) => {
242
+ form.append(`metadata[${key}]`, value);
243
+ });
244
+ return form;
245
+ }
246
+ /** Derive a normalized status from the request booleans + first signature's status code. */
247
+ deriveRequestStatus(request, sendImmediately) {
248
+ if (!request) {
249
+ return sendImmediately === false ? 'Draft' : 'Sent';
250
+ }
251
+ if (request.is_complete) {
252
+ return 'Completed';
253
+ }
254
+ if (request.is_declined) {
255
+ return 'Declined';
256
+ }
257
+ const sigStatus = request.signatures?.[0]?.status_code;
258
+ return sigStatus ? mapDropboxSignStatus(sigStatus) : 'Sent';
259
+ }
260
+ mapRecipients(request) {
261
+ if (!request.signatures?.length) {
262
+ return undefined;
263
+ }
264
+ return request.signatures.map((s) => ({
265
+ email: s.signer_email_address,
266
+ name: s.signer_name,
267
+ status: mapDropboxSignStatus(s.status_code || ''),
268
+ externalRecipientId: s.signature_id,
269
+ signedAt: s.signed_at ? this.eventTimeToIso(String(s.signed_at)) : undefined,
270
+ }));
271
+ }
272
+ // ---- HTTP + small helpers --------------------------------------------------------------------
273
+ authHeaders(config) {
274
+ // HTTP Basic with the API key as the username and an empty password.
275
+ const token = Buffer.from(`${config.apiKey}:`).toString('base64');
276
+ return { Authorization: `Basic ${token}` };
277
+ }
278
+ async errorText(operation, resp) {
279
+ const text = await resp.text().catch(() => '');
280
+ return `Dropbox Sign ${operation} failed (${resp.status}): ${text}`;
281
+ }
282
+ errorMessage(e) {
283
+ return e instanceof Error ? e.message : String(e);
284
+ }
285
+ notConfiguredMessage() {
286
+ return 'Dropbox Sign is not configured. Provide an apiKey via the Credential Engine.';
287
+ }
288
+ /** Dropbox Sign event_time is unix seconds (string). Convert to ISO; fall back to now. */
289
+ eventTimeToIso(eventTime) {
290
+ const seconds = Number(eventTime);
291
+ if (!eventTime || Number.isNaN(seconds)) {
292
+ return new Date().toISOString();
293
+ }
294
+ return new Date(seconds * 1000).toISOString();
295
+ }
296
+ /** Constant-time hex comparison; false on length mismatch. `Uint8Array.from` strips the
297
+ * Buffer→ArrayBufferLike narrowing TS 5.9's node:crypto typings reject. */
298
+ safeEqualHex(a, b) {
299
+ const bufA = Buffer.from(a, 'hex');
300
+ const bufB = Buffer.from(b, 'hex');
301
+ return bufA.length === bufB.length && timingSafeEqual(Uint8Array.from(bufA), Uint8Array.from(bufB));
302
+ }
303
+ asRecord(value) {
304
+ return value && typeof value === 'object' ? value : undefined;
305
+ }
306
+ readField(obj, key) {
307
+ const v = obj?.[key];
308
+ return typeof v === 'string' && v.length > 0 ? v : undefined;
309
+ }
310
+ readString(config, key) {
311
+ const value = config[key];
312
+ return typeof value === 'string' ? value : undefined;
313
+ }
314
+ readBoolean(config, key) {
315
+ const value = config[key];
316
+ return value === true || value === 'true' || value === 1 || value === '1';
317
+ }
318
+ };
319
+ DropboxSignSignatureProvider = __decorate([
320
+ RegisterClass(BaseSignatureProvider, 'DropboxSign')
321
+ ], DropboxSignSignatureProvider);
322
+ export { DropboxSignSignatureProvider };
323
+ //# sourceMappingURL=DropboxSignSignatureProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropboxSignSignatureProvider.js","sourceRoot":"","sources":["../src/DropboxSignSignatureProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './DropboxSignSignatureProvider.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,gCAAgC,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ // PUBLIC API SURFACE AREA
2
+ // Side-effect: importing this barrel registers the Dropbox Sign driver with MJGlobal.ClassFactory
3
+ // via the @RegisterClass decorator on DropboxSignSignatureProvider.
4
+ export * from './DropboxSignSignatureProvider.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,kGAAkG;AAClG,oEAAoE;AACpE,cAAc,gCAAgC,CAAC"}
package/package.json CHANGED
@@ -1,10 +1,27 @@
1
1
  {
2
2
  "name": "@memberjunction/esignature-dropboxsign",
3
- "version": "0.0.1",
4
- "description": "OIDC trusted publishing setup package for @memberjunction/esignature-dropboxsign",
5
- "keywords": [
6
- "oidc",
7
- "trusted-publishing",
8
- "setup"
9
- ]
3
+ "version": "5.40.1",
4
+ "description": "Dropbox Sign (formerly HelloSign) driver for the MemberJunction eSignature primitive. Registers a BaseSignatureProvider implementation via @RegisterClass(BaseSignatureProvider, 'DropboxSign') using the Dropbox Sign v3 REST API and API-key authentication.",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "/dist"
10
+ ],
11
+ "scripts": {
12
+ "build": "tsc && tsc-alias -f",
13
+ "watch": "tsc -w",
14
+ "test": "vitest run",
15
+ "test:watch": "vitest",
16
+ "test:coverage": "vitest run --coverage"
17
+ },
18
+ "license": "ISC",
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/MemberJunction/MJ"
22
+ },
23
+ "dependencies": {
24
+ "@memberjunction/esignature": "5.40.1",
25
+ "@memberjunction/global": "5.40.1"
26
+ }
10
27
  }
package/README.md DELETED
@@ -1,45 +0,0 @@
1
- # @memberjunction/esignature-dropboxsign
2
-
3
- ## ⚠️ IMPORTANT NOTICE ⚠️
4
-
5
- **This package is created solely for the purpose of setting up OIDC (OpenID Connect) trusted publishing with npm.**
6
-
7
- This is **NOT** a functional package and contains **NO** code or functionality beyond the OIDC setup configuration.
8
-
9
- ## Purpose
10
-
11
- This package exists to:
12
- 1. Configure OIDC trusted publishing for the package name `@memberjunction/esignature-dropboxsign`
13
- 2. Enable secure, token-less publishing from CI/CD workflows
14
- 3. Establish provenance for packages published under this name
15
-
16
- ## What is OIDC Trusted Publishing?
17
-
18
- OIDC trusted publishing allows package maintainers to publish packages directly from their CI/CD workflows without needing to manage npm access tokens. Instead, it uses OpenID Connect to establish trust between the CI/CD provider (like GitHub Actions) and npm.
19
-
20
- ## Setup Instructions
21
-
22
- To properly configure OIDC trusted publishing for this package:
23
-
24
- 1. Go to [npmjs.com](https://www.npmjs.com/) and navigate to your package settings
25
- 2. Configure the trusted publisher (e.g., GitHub Actions)
26
- 3. Specify the repository and workflow that should be allowed to publish
27
- 4. Use the configured workflow to publish your actual package
28
-
29
- ## DO NOT USE THIS PACKAGE
30
-
31
- This package is a placeholder for OIDC configuration only. It:
32
- - Contains no executable code
33
- - Provides no functionality
34
- - Should not be installed as a dependency
35
- - Exists only for administrative purposes
36
-
37
- ## More Information
38
-
39
- For more details about npm's trusted publishing feature, see:
40
- - [npm Trusted Publishing Documentation](https://docs.npmjs.com/generating-provenance-statements)
41
- - [GitHub Actions OIDC Documentation](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)
42
-
43
- ---
44
-
45
- **Maintained for OIDC setup purposes only**