@or-sdk/authorizer 0.10.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/dist/cjs/Basic/BasicAuth.js +157 -0
- package/dist/cjs/Basic/BasicAuth.js.map +1 -0
- package/dist/cjs/Basic/BasicCollection.js +107 -0
- package/dist/cjs/Basic/BasicCollection.js.map +1 -0
- package/dist/cjs/Basic/types.js +3 -0
- package/dist/cjs/Basic/types.js.map +1 -0
- package/dist/cjs/Basic/utils/createAuthKey.js +8 -0
- package/dist/cjs/Basic/utils/createAuthKey.js.map +1 -0
- package/dist/cjs/OAuth/OAuth.js +391 -0
- package/dist/cjs/OAuth/OAuth.js.map +1 -0
- package/dist/cjs/OAuth/OAuthCollection.js +138 -0
- package/dist/cjs/OAuth/OAuthCollection.js.map +1 -0
- package/dist/cjs/OAuth/types.js +11 -0
- package/dist/cjs/OAuth/types.js.map +1 -0
- package/dist/cjs/OAuth/utils/ServiceDefinition.js +175 -0
- package/dist/cjs/OAuth/utils/ServiceDefinition.js.map +1 -0
- package/dist/cjs/OAuth/utils/createAuthKey.js +8 -0
- package/dist/cjs/OAuth/utils/createAuthKey.js.map +1 -0
- package/dist/cjs/OAuth/utils/formatScope.js +20 -0
- package/dist/cjs/OAuth/utils/formatScope.js.map +1 -0
- package/dist/cjs/OAuth/utils/isExpired.js +12 -0
- package/dist/cjs/OAuth/utils/isExpired.js.map +1 -0
- package/dist/cjs/Token/TokenAuth.js +135 -0
- package/dist/cjs/Token/TokenAuth.js.map +1 -0
- package/dist/cjs/Token/TokenCollection.js +106 -0
- package/dist/cjs/Token/TokenCollection.js.map +1 -0
- package/dist/cjs/Token/types.js +3 -0
- package/dist/cjs/Token/types.js.map +1 -0
- package/dist/cjs/Token/utils/createAuthKey.js +8 -0
- package/dist/cjs/Token/utils/createAuthKey.js.map +1 -0
- package/dist/cjs/constants.js +16 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/index.js +27 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types.js +16 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/Basic/BasicAuth.js +86 -0
- package/dist/esm/Basic/BasicAuth.js.map +1 -0
- package/dist/esm/Basic/BasicCollection.js +56 -0
- package/dist/esm/Basic/BasicCollection.js.map +1 -0
- package/dist/esm/Basic/types.js +2 -0
- package/dist/esm/Basic/types.js.map +1 -0
- package/dist/esm/Basic/utils/createAuthKey.js +4 -0
- package/dist/esm/Basic/utils/createAuthKey.js.map +1 -0
- package/dist/esm/OAuth/OAuth.js +258 -0
- package/dist/esm/OAuth/OAuth.js.map +1 -0
- package/dist/esm/OAuth/OAuthCollection.js +69 -0
- package/dist/esm/OAuth/OAuthCollection.js.map +1 -0
- package/dist/esm/OAuth/types.js +8 -0
- package/dist/esm/OAuth/types.js.map +1 -0
- package/dist/esm/OAuth/utils/ServiceDefinition.js +117 -0
- package/dist/esm/OAuth/utils/ServiceDefinition.js.map +1 -0
- package/dist/esm/OAuth/utils/createAuthKey.js +4 -0
- package/dist/esm/OAuth/utils/createAuthKey.js.map +1 -0
- package/dist/esm/OAuth/utils/formatScope.js +16 -0
- package/dist/esm/OAuth/utils/formatScope.js.map +1 -0
- package/dist/esm/OAuth/utils/isExpired.js +8 -0
- package/dist/esm/OAuth/utils/isExpired.js.map +1 -0
- package/dist/esm/Token/TokenAuth.js +64 -0
- package/dist/esm/Token/TokenAuth.js.map +1 -0
- package/dist/esm/Token/TokenCollection.js +55 -0
- package/dist/esm/Token/TokenCollection.js.map +1 -0
- package/dist/esm/Token/types.js +2 -0
- package/dist/esm/Token/types.js.map +1 -0
- package/dist/esm/Token/utils/createAuthKey.js +4 -0
- package/dist/esm/Token/utils/createAuthKey.js.map +1 -0
- package/dist/esm/constants.js +13 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types.js +4 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/types/Basic/BasicAuth.d.ts +19 -0
- package/dist/types/Basic/BasicCollection.d.ts +12 -0
- package/dist/types/Basic/types.d.ts +26 -0
- package/dist/types/Basic/utils/createAuthKey.d.ts +1 -0
- package/dist/types/OAuth/OAuth.d.ts +18 -0
- package/dist/types/OAuth/OAuthCollection.d.ts +14 -0
- package/dist/types/OAuth/types.d.ts +81 -0
- package/dist/types/OAuth/utils/ServiceDefinition.d.ts +36 -0
- package/dist/types/OAuth/utils/createAuthKey.d.ts +1 -0
- package/dist/types/OAuth/utils/formatScope.d.ts +2 -0
- package/dist/types/OAuth/utils/isExpired.d.ts +1 -0
- package/dist/types/Token/TokenAuth.d.ts +11 -0
- package/dist/types/Token/TokenCollection.d.ts +12 -0
- package/dist/types/Token/types.d.ts +25 -0
- package/dist/types/Token/utils/createAuthKey.d.ts +1 -0
- package/dist/types/constants.d.ts +11 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/types.d.ts +3 -0
- package/package.json +33 -0
- package/src/Basic/BasicAuth.ts +147 -0
- package/src/Basic/BasicCollection.ts +97 -0
- package/src/Basic/types.ts +54 -0
- package/src/Basic/utils/createAuthKey.ts +3 -0
- package/src/OAuth/OAuth.ts +480 -0
- package/src/OAuth/OAuthCollection.ts +138 -0
- package/src/OAuth/types.ts +131 -0
- package/src/OAuth/utils/ServiceDefinition.ts +171 -0
- package/src/OAuth/utils/createAuthKey.ts +3 -0
- package/src/OAuth/utils/formatScope.ts +20 -0
- package/src/OAuth/utils/isExpired.ts +7 -0
- package/src/Token/TokenAuth.ts +120 -0
- package/src/Token/TokenCollection.ts +97 -0
- package/src/Token/types.ts +51 -0
- package/src/Token/utils/createAuthKey.ts +3 -0
- package/src/constants.ts +14 -0
- package/src/index.ts +10 -0
- package/src/types.ts +3 -0
- package/tsconfig.esm.json +9 -0
- package/tsconfig.json +7 -0
- package/tsconfig.types.json +9 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceDefinition.js","sourceRoot":"","sources":["../../../../src/OAuth/utils/ServiceDefinition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAuthKey.js","sourceRoot":"","sources":["../../../../src/OAuth/utils/createAuthKey.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,QAAgB,EAAE,kBAA0B,EAAE,gBAA+B,EAAU,EAAE;IACjI,OAAO,GAAG,EAAE,YAAY,QAAQ,KAAK,kBAAkB,KAAK,gBAAgB,EAAE,CAAC;AACjF,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ScopeType } from '../types';
|
|
2
|
+
export const formatScope = (scopeArray, scopeType) => {
|
|
3
|
+
switch (scopeType) {
|
|
4
|
+
case ScopeType.SPACE_DELIMITED:
|
|
5
|
+
return scopeArray.join(' ').trim();
|
|
6
|
+
case ScopeType.COMMA_DELIMITED:
|
|
7
|
+
return scopeArray.join(', ').trim();
|
|
8
|
+
case ScopeType.COMMA_DELIMITED_WITHOUT_WHITESPACE:
|
|
9
|
+
return scopeArray.join(',').trim();
|
|
10
|
+
case ScopeType.JSON_ARRAY:
|
|
11
|
+
return JSON.stringify(scopeArray);
|
|
12
|
+
default:
|
|
13
|
+
return scopeArray.join(' ').trim();
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=formatScope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatScope.js","sourceRoot":"","sources":["../../../../src/OAuth/utils/formatScope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAoB,EAAE,SAAoB,EAAU,EAAE;IAChF,QAAQ,SAAS,EAAE;QACjB,KAAK,SAAS,CAAC,eAAe;YAC5B,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAErC,KAAK,SAAS,CAAC,eAAe;YAC5B,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtC,KAAK,SAAS,CAAC,kCAAkC;YAC/C,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAErC,KAAK,SAAS,CAAC,UAAU;YACvB,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAEpC;YACE,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;KACtC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const isExpired = (createdAt, expireInSeconds) => {
|
|
2
|
+
const userDate = new Date(createdAt);
|
|
3
|
+
const userTimezoneOffset = userDate.getTimezoneOffset() * 60000;
|
|
4
|
+
const correctDate = new Date(userDate.getTime() - userTimezoneOffset);
|
|
5
|
+
const diff = (Date.now() - correctDate.getTime()) / 1000;
|
|
6
|
+
return diff > expireInSeconds;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=isExpired.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isExpired.js","sourceRoot":"","sources":["../../../../src/OAuth/utils/isExpired.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,eAAuB,EAAW,EAAE;IAC/E,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC;IAChE,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,kBAAkB,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IACzD,OAAO,IAAI,GAAG,eAAe,CAAC;AAChC,CAAC,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { KeyValueStorage } from '@or-sdk/key-value-storage';
|
|
11
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
12
|
+
import { createAuthKey } from './utils/createAuthKey';
|
|
13
|
+
export class TokenAuth {
|
|
14
|
+
constructor(params) {
|
|
15
|
+
const { token, discoveryUrl, authKey, serviceName } = params;
|
|
16
|
+
this.authKey = authKey;
|
|
17
|
+
this.serviceName = serviceName;
|
|
18
|
+
this.keyValueStorage = new KeyValueStorage({
|
|
19
|
+
token,
|
|
20
|
+
discoveryUrl,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
static create(params) {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
if (!(params.serviceName && params.authName && params.credentials && params.discoveryUrl && params.token)) {
|
|
26
|
+
throw new Error('Invalid config passed');
|
|
27
|
+
}
|
|
28
|
+
const { serviceName, authName, credentials, discoveryUrl, token } = params;
|
|
29
|
+
const keyValueStorage = new KeyValueStorage({
|
|
30
|
+
token,
|
|
31
|
+
discoveryUrl,
|
|
32
|
+
});
|
|
33
|
+
const id = uuidv4();
|
|
34
|
+
const authKey = createAuthKey(id, authName);
|
|
35
|
+
const authData = Object.assign(Object.assign({}, credentials), { auth_name: authName, date_created: new Date().toISOString() });
|
|
36
|
+
yield keyValueStorage.setValueByKey(serviceName, authKey, authData);
|
|
37
|
+
return new TokenAuth({ serviceName,
|
|
38
|
+
authKey,
|
|
39
|
+
discoveryUrl,
|
|
40
|
+
token });
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
update(newCredentials) {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
const data = yield this.getAuthData();
|
|
46
|
+
const updatedData = Object.assign(Object.assign({}, data), newCredentials);
|
|
47
|
+
const response = yield this.keyValueStorage.setValueByKey(this.serviceName, this.authKey, updatedData);
|
|
48
|
+
const updatedRecord = response.value;
|
|
49
|
+
return updatedRecord;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
getAuthData() {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
const { value } = yield this.keyValueStorage.getValueByKey(this.serviceName, this.authKey);
|
|
55
|
+
return value;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
delete() {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
yield this.keyValueStorage.deleteKey(this.serviceName, this.authKey);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=TokenAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenAuth.js","sourceRoot":"","sources":["../../../src/Token/TokenAuth.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAWtD,MAAM,OAAO,SAAS;IAkBpB,YAAY,MAAuB;QACjC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAE7D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC;YACzC,KAAK;YACL,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAkBD,MAAM,CAAO,MAAM,CAAC,MAA6B;;YAC/C,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;gBACzG,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;aAC1C;YAED,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;YAE3E,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;gBAC1C,KAAK;gBACL,YAAY;aACb,CAAC,CAAC;YAEH,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAE5C,MAAM,QAAQ,mCACT,WAAW,KACd,SAAS,EAAE,QAAQ,EACnB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GACvC,CAAC;YAEF,MAAM,eAAe,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEpE,OAAO,IAAI,SAAS,CAAC,EAAE,WAAW;gBAChC,OAAO;gBACP,YAAY;gBACZ,KAAK,EAAE,CAAC,CAAC;QACb,CAAC;KAAA;IAKY,MAAM,CAAC,cAAuC;;YACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAEtC,MAAM,WAAW,mCACZ,IAAI,GACJ,cAAc,CAClB,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAEvG,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;YACrC,OAAO,aAA8B,CAAC;QACxC,CAAC;KAAA;IAKY,WAAW;;YACtB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3F,OAAO,KAAsB,CAAC;QAChC,CAAC;KAAA;IAKY,MAAM;;YACjB,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC;KAAA;CACF"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { KeyValueStorage } from '@or-sdk/key-value-storage';
|
|
11
|
+
import { TokenAuth } from './TokenAuth';
|
|
12
|
+
export class TokenCollection {
|
|
13
|
+
constructor(params) {
|
|
14
|
+
const { token, discoveryUrl, serviceName } = params;
|
|
15
|
+
this.localToken = token;
|
|
16
|
+
this.localDiscoveryUrl = discoveryUrl;
|
|
17
|
+
this.serviceName = serviceName;
|
|
18
|
+
this.keyValueStorage = new KeyValueStorage({
|
|
19
|
+
token,
|
|
20
|
+
discoveryUrl,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
listAuthorizations() {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const records = yield this.keyValueStorage.listKeys(this.serviceName);
|
|
26
|
+
return records.map((record) => record.key);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
getAuthorization(key) {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
const record = yield this.keyValueStorage.getValueByKey(this.serviceName, key);
|
|
32
|
+
if (!record.value) {
|
|
33
|
+
throw new Error('Authorization does not exist');
|
|
34
|
+
}
|
|
35
|
+
return new TokenAuth({
|
|
36
|
+
serviceName: this.serviceName,
|
|
37
|
+
authKey: key,
|
|
38
|
+
discoveryUrl: this.localDiscoveryUrl,
|
|
39
|
+
token: this.localToken,
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
createAuthorization(params) {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
return yield TokenAuth.create({
|
|
46
|
+
discoveryUrl: this.localDiscoveryUrl,
|
|
47
|
+
token: this.localToken,
|
|
48
|
+
serviceName: this.serviceName,
|
|
49
|
+
authName: params.authName,
|
|
50
|
+
credentials: params.credentials,
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=TokenCollection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenCollection.js","sourceRoot":"","sources":["../../../src/Token/TokenCollection.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAcxC,MAAM,OAAO,eAAe;IAkB1B,YAAY,MAA6B;QACvC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAEpD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC;YACzC,KAAK;YACL,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAKY,kBAAkB;;YAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEtE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC;KAAA;IAKY,gBAAgB,CAAC,GAAW;;YACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YAC/E,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBACjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACjD;YAED,OAAO,IAAI,SAAS,CAAC;gBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,GAAG;gBACZ,YAAY,EAAE,IAAI,CAAC,iBAAiB;gBACpC,KAAK,EAAE,IAAI,CAAC,UAAU;aACvB,CAAC,CAAC;QACL,CAAC;KAAA;IAeY,mBAAmB,CAC9B,MAAyC;;YAEzC,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC;gBAC5B,YAAY,EAAE,IAAI,CAAC,iBAAiB;gBACpC,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;QACL,CAAC;KAAA;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/Token/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAuthKey.js","sourceRoot":"","sources":["../../../../src/Token/utils/createAuthKey.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,QAAgB,EAAU,EAAE;IACpE,OAAO,GAAG,EAAE,YAAY,QAAQ,EAAE,CAAC;AACrC,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const SERVICE_PROVIDER_PATH = '/authorizer/services/list';
|
|
2
|
+
export const OAUTH_REDIRECT_PROVIDER_PATH = '/authorizer/redirect';
|
|
3
|
+
export var AuthStatus;
|
|
4
|
+
(function (AuthStatus) {
|
|
5
|
+
AuthStatus["NEW"] = "NEW";
|
|
6
|
+
AuthStatus["PENDING"] = "PENDING";
|
|
7
|
+
AuthStatus["READY"] = "READY";
|
|
8
|
+
AuthStatus["DELETED"] = "DELETED";
|
|
9
|
+
AuthStatus["ERROR"] = "ERROR";
|
|
10
|
+
})(AuthStatus || (AuthStatus = {}));
|
|
11
|
+
export const PREDEFINED_APP = 'predefined';
|
|
12
|
+
export const TEMPORARY_DATA_EXPIRATION_TIME = 300000;
|
|
13
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AACjE,MAAM,CAAC,MAAM,4BAA4B,GAAG,sBAAsB,CAAC;AAEnE,MAAM,CAAN,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,iCAAmB,CAAA;IACnB,6BAAe,CAAA;IACf,iCAAmB,CAAA;IACnB,6BAAe,CAAA;AACjB,CAAC,EANW,UAAU,KAAV,UAAU,QAMrB;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC;AAE3C,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { BasicAuth } from './Basic/BasicAuth';
|
|
2
|
+
export { BasicCollection } from './Basic/BasicCollection';
|
|
3
|
+
export { TokenAuth } from './Token/TokenAuth';
|
|
4
|
+
export { TokenCollection } from './Token/TokenCollection';
|
|
5
|
+
export { OAuth } from './OAuth/OAuth';
|
|
6
|
+
export { OAuthCollection } from './OAuth/OAuthCollection';
|
|
7
|
+
export * from './types';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BasicAuthConfig, BasicAuthData, CreateBasicAuthConfig } from './types';
|
|
2
|
+
export declare class BasicAuth {
|
|
3
|
+
private readonly authKey;
|
|
4
|
+
private readonly serviceName;
|
|
5
|
+
private readonly keyValueStorage;
|
|
6
|
+
constructor(params: BasicAuthConfig);
|
|
7
|
+
static encodeAccessToken(username: string, password: string): string;
|
|
8
|
+
static decodeAccessToken(token: string): {
|
|
9
|
+
username: string;
|
|
10
|
+
password: string;
|
|
11
|
+
};
|
|
12
|
+
static create(params: CreateBasicAuthConfig): Promise<BasicAuth>;
|
|
13
|
+
update(newCredentials: {
|
|
14
|
+
username?: string;
|
|
15
|
+
password?: string;
|
|
16
|
+
}): Promise<BasicAuthData>;
|
|
17
|
+
getAuthData(): Promise<BasicAuthData>;
|
|
18
|
+
delete(): Promise<void>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BasicAuth } from './BasicAuth';
|
|
2
|
+
import { BasicCollectionConfig, CreateBasicAuthInCollectionConfig } from './types';
|
|
3
|
+
export declare class BasicCollection {
|
|
4
|
+
private readonly serviceName;
|
|
5
|
+
private readonly keyValueStorage;
|
|
6
|
+
private readonly localToken;
|
|
7
|
+
private readonly localDiscoveryUrl;
|
|
8
|
+
constructor(params: BasicCollectionConfig);
|
|
9
|
+
listAuthorizations(): Promise<string[]>;
|
|
10
|
+
getAuthorization(key: string): Promise<BasicAuth>;
|
|
11
|
+
createAuthorization(params: CreateBasicAuthInCollectionConfig): Promise<BasicAuth>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Token } from '@or-sdk/base';
|
|
2
|
+
export declare type BasicAuthConfig = {
|
|
3
|
+
token: Token;
|
|
4
|
+
discoveryUrl: string;
|
|
5
|
+
serviceName: string;
|
|
6
|
+
authKey: string;
|
|
7
|
+
};
|
|
8
|
+
export declare type BasicAuthData = {
|
|
9
|
+
auth_name: string;
|
|
10
|
+
access_token: string;
|
|
11
|
+
date_created: string;
|
|
12
|
+
};
|
|
13
|
+
export declare type CreateBasicAuthConfig = {
|
|
14
|
+
serviceName: string;
|
|
15
|
+
authName: string;
|
|
16
|
+
username: string;
|
|
17
|
+
password: string;
|
|
18
|
+
discoveryUrl: string;
|
|
19
|
+
token: Token;
|
|
20
|
+
};
|
|
21
|
+
export declare type CreateBasicAuthInCollectionConfig = Omit<CreateBasicAuthConfig, 'serviceName' | 'discoveryUrl' | 'token'>;
|
|
22
|
+
export declare type BasicCollectionConfig = {
|
|
23
|
+
token: Token;
|
|
24
|
+
discoveryUrl: string;
|
|
25
|
+
serviceName: string;
|
|
26
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const createAuthKey: (id: string, authName: string) => string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { OAuthConfig, OAuthData, OAuthApp, CreateOAuthConfig, CreateOAuthResult } from './types';
|
|
2
|
+
export declare class OAuth {
|
|
3
|
+
private status;
|
|
4
|
+
private readonly authKey;
|
|
5
|
+
private readonly serviceName;
|
|
6
|
+
private readonly keyValueCollection;
|
|
7
|
+
private readonly keyValueStorage;
|
|
8
|
+
private readonly eventManager;
|
|
9
|
+
constructor(params: OAuthConfig);
|
|
10
|
+
static create(params: CreateOAuthConfig): Promise<CreateOAuthResult>;
|
|
11
|
+
private getOAuthAppById;
|
|
12
|
+
private getServiceDefinition;
|
|
13
|
+
waitForCompletion(): Promise<void>;
|
|
14
|
+
getAuthData(): Promise<OAuthData>;
|
|
15
|
+
refresh(): Promise<void>;
|
|
16
|
+
getOAuthApp(): Promise<OAuthApp>;
|
|
17
|
+
delete(): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OAuth } from './OAuth';
|
|
2
|
+
import { OAuthCollectionConfig, CreateOAuthInCollectionConfig, CreateOAuthResult, OAuthApp } from './types';
|
|
3
|
+
export declare class OAuthCollection {
|
|
4
|
+
private readonly serviceName;
|
|
5
|
+
private readonly keyValueCollection;
|
|
6
|
+
private readonly keyValueStorage;
|
|
7
|
+
private readonly localToken;
|
|
8
|
+
private readonly localDiscoveryUrl;
|
|
9
|
+
constructor(params: OAuthCollectionConfig);
|
|
10
|
+
listAuthorizations(): Promise<string[]>;
|
|
11
|
+
listOAuthApps(): Promise<OAuthApp[]>;
|
|
12
|
+
getAuthorization(key: string): Promise<OAuth>;
|
|
13
|
+
createAuthorization(params: CreateOAuthInCollectionConfig): Promise<CreateOAuthResult>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Token } from '@or-sdk/base';
|
|
2
|
+
import { OAuth } from './OAuth';
|
|
3
|
+
export declare type OAuthConfig = {
|
|
4
|
+
token: Token;
|
|
5
|
+
discoveryUrl: string;
|
|
6
|
+
serviceName: string;
|
|
7
|
+
keyValueCollection?: string;
|
|
8
|
+
authKey: string;
|
|
9
|
+
};
|
|
10
|
+
export declare type OAuthData = {
|
|
11
|
+
auth_name: string;
|
|
12
|
+
displayServiceName: string;
|
|
13
|
+
appId: string;
|
|
14
|
+
token_type: string;
|
|
15
|
+
scope: string;
|
|
16
|
+
redirect_uri: string;
|
|
17
|
+
expires_in?: number;
|
|
18
|
+
refreshUri?: string;
|
|
19
|
+
access_token: string;
|
|
20
|
+
created_at: string;
|
|
21
|
+
authLinkParams?: Record<string, string>;
|
|
22
|
+
accountId: string;
|
|
23
|
+
};
|
|
24
|
+
export declare type CreateOAuthConfig = {
|
|
25
|
+
serviceName: string;
|
|
26
|
+
keyValueCollection?: string;
|
|
27
|
+
authName: string;
|
|
28
|
+
appId: string;
|
|
29
|
+
scope?: Array<string>;
|
|
30
|
+
token: Token;
|
|
31
|
+
discoveryUrl: string;
|
|
32
|
+
};
|
|
33
|
+
export declare type CreateOAuthInCollectionConfig = Omit<CreateOAuthConfig, 'discoveryUrl' | 'serviceName' | 'token' | 'keyValueCollection'>;
|
|
34
|
+
export declare type CreateOAuthResult = {
|
|
35
|
+
authorizeUrl: string;
|
|
36
|
+
instance: OAuth;
|
|
37
|
+
};
|
|
38
|
+
export declare type OAuthApp = {
|
|
39
|
+
name: string;
|
|
40
|
+
appId: string;
|
|
41
|
+
clientId: string;
|
|
42
|
+
clientSecret: string;
|
|
43
|
+
environment?: string;
|
|
44
|
+
authLinkParams?: Record<string, string>;
|
|
45
|
+
};
|
|
46
|
+
export declare type CreateOAuthAppConfig = {
|
|
47
|
+
name: string;
|
|
48
|
+
clientId: string;
|
|
49
|
+
clientSecret: string;
|
|
50
|
+
environment?: string;
|
|
51
|
+
authLinkParams?: Record<string, string>;
|
|
52
|
+
};
|
|
53
|
+
export declare type OAuthCollectionConfig = {
|
|
54
|
+
token: Token;
|
|
55
|
+
discoveryUrl: string;
|
|
56
|
+
serviceName: string;
|
|
57
|
+
keyValueCollection?: string;
|
|
58
|
+
};
|
|
59
|
+
export declare type ServiceDefinitionConfig = {
|
|
60
|
+
serviceName: string;
|
|
61
|
+
requestDataType: string;
|
|
62
|
+
grantType?: string;
|
|
63
|
+
authorizeUri: string;
|
|
64
|
+
exchangeTokenUri: string;
|
|
65
|
+
useRefresh: boolean;
|
|
66
|
+
expiresInPropertyName: string;
|
|
67
|
+
expiresInDefaultValue?: number;
|
|
68
|
+
refreshUri?: string;
|
|
69
|
+
scopeType: ScopeType;
|
|
70
|
+
authRequestAdditionalParams: string;
|
|
71
|
+
codeExchangeRequestAdditionalParams: string;
|
|
72
|
+
environments?: Record<string, any>;
|
|
73
|
+
authLinkAdditionalParams?: Record<string, string>[];
|
|
74
|
+
displayServiceName?: string;
|
|
75
|
+
};
|
|
76
|
+
export declare enum ScopeType {
|
|
77
|
+
SPACE_DELIMITED = "SPACE_DELIMITED",
|
|
78
|
+
COMMA_DELIMITED = "COMMA_DELIMITED",
|
|
79
|
+
COMMA_DELIMITED_WITHOUT_WHITESPACE = "COMMA_DELIMITED_WITHOUT_WHITESPACE",
|
|
80
|
+
JSON_ARRAY = "JSON_ARRAY"
|
|
81
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ServiceDefinitionConfig, ScopeType } from '../types';
|
|
2
|
+
export declare class ServiceDefinition {
|
|
3
|
+
currentEnvironment: string;
|
|
4
|
+
authLinkAdditionalParamsValues: Record<string, string>;
|
|
5
|
+
private readonly _serviceName;
|
|
6
|
+
private readonly _requestDataType;
|
|
7
|
+
private readonly _grantType?;
|
|
8
|
+
private readonly _authorizeUri;
|
|
9
|
+
private readonly _exchangeTokenUri;
|
|
10
|
+
private readonly _useRefresh;
|
|
11
|
+
private readonly _expiresInPropertyName;
|
|
12
|
+
private readonly _expiresInDefaultValue?;
|
|
13
|
+
private readonly _refreshUri?;
|
|
14
|
+
private readonly _scopeType;
|
|
15
|
+
private readonly _authRequestAdditionalParams;
|
|
16
|
+
private readonly _codeExchangeRequestAdditionalParams;
|
|
17
|
+
private readonly _environments?;
|
|
18
|
+
private readonly _authLinkAdditionalParams?;
|
|
19
|
+
private readonly _displayServiceName?;
|
|
20
|
+
constructor(params: ServiceDefinitionConfig, authLinkAdditionalParamsValues?: Record<string, string>, currentEnvironment?: string);
|
|
21
|
+
private isPropertyInEnvironment;
|
|
22
|
+
private replaceAuthLinkParamsByValues;
|
|
23
|
+
get requestDataType(): string;
|
|
24
|
+
get grantType(): string;
|
|
25
|
+
get authorizeUri(): string;
|
|
26
|
+
get exchangeTokenUri(): string;
|
|
27
|
+
get refreshUri(): string;
|
|
28
|
+
get useRefresh(): boolean;
|
|
29
|
+
get expiresInPropertyName(): string;
|
|
30
|
+
get expiresInDefaultValue(): number;
|
|
31
|
+
get scopeType(): ScopeType;
|
|
32
|
+
get authRequestAdditionalParams(): string;
|
|
33
|
+
get codeExchangeRequestAdditionalParams(): string;
|
|
34
|
+
get authLinkAdditionalParams(): Record<string, string>[] | undefined;
|
|
35
|
+
get displayServiceName(): string;
|
|
36
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const createAuthKey: (id: string, authName: string, keyValueCollection: string, currentAccountId: string | null) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isExpired: (createdAt: string, expireInSeconds: number) => boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TokenAuthConfig, TokenAuthData, CreateTokenAuthConfig } from './types';
|
|
2
|
+
export declare class TokenAuth {
|
|
3
|
+
private readonly authKey;
|
|
4
|
+
private readonly serviceName;
|
|
5
|
+
private readonly keyValueStorage;
|
|
6
|
+
constructor(params: TokenAuthConfig);
|
|
7
|
+
static create(params: CreateTokenAuthConfig): Promise<TokenAuth>;
|
|
8
|
+
update(newCredentials: Record<string, unknown>): Promise<TokenAuthData>;
|
|
9
|
+
getAuthData(): Promise<TokenAuthData>;
|
|
10
|
+
delete(): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TokenAuth } from './TokenAuth';
|
|
2
|
+
import { TokenCollectionConfig, CreateTokenAuthInCollectionConfig } from './types';
|
|
3
|
+
export declare class TokenCollection {
|
|
4
|
+
private readonly serviceName;
|
|
5
|
+
private readonly keyValueStorage;
|
|
6
|
+
private readonly localToken;
|
|
7
|
+
private readonly localDiscoveryUrl;
|
|
8
|
+
constructor(params: TokenCollectionConfig);
|
|
9
|
+
listAuthorizations(): Promise<string[]>;
|
|
10
|
+
getAuthorization(key: string): Promise<TokenAuth>;
|
|
11
|
+
createAuthorization(params: CreateTokenAuthInCollectionConfig): Promise<TokenAuth>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Token } from '@or-sdk/base';
|
|
2
|
+
export declare type TokenAuthConfig = {
|
|
3
|
+
token: Token;
|
|
4
|
+
discoveryUrl: string;
|
|
5
|
+
serviceName: string;
|
|
6
|
+
authKey: string;
|
|
7
|
+
};
|
|
8
|
+
export declare type TokenAuthData = {
|
|
9
|
+
auth_name: string;
|
|
10
|
+
date_created: string;
|
|
11
|
+
[credentialKey: string]: string;
|
|
12
|
+
};
|
|
13
|
+
export declare type CreateTokenAuthConfig = {
|
|
14
|
+
serviceName: string;
|
|
15
|
+
authName: string;
|
|
16
|
+
credentials: Record<string, unknown>;
|
|
17
|
+
token: Token;
|
|
18
|
+
discoveryUrl: string;
|
|
19
|
+
};
|
|
20
|
+
export declare type CreateTokenAuthInCollectionConfig = Omit<CreateTokenAuthConfig, 'serviceName' | 'discoveryUrl' | 'token'>;
|
|
21
|
+
export declare type TokenCollectionConfig = {
|
|
22
|
+
token: Token;
|
|
23
|
+
discoveryUrl: string;
|
|
24
|
+
serviceName: string;
|
|
25
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const createAuthKey: (id: string, authName: string) => string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const SERVICE_PROVIDER_PATH = "/authorizer/services/list";
|
|
2
|
+
export declare const OAUTH_REDIRECT_PROVIDER_PATH = "/authorizer/redirect";
|
|
3
|
+
export declare enum AuthStatus {
|
|
4
|
+
NEW = "NEW",
|
|
5
|
+
PENDING = "PENDING",
|
|
6
|
+
READY = "READY",
|
|
7
|
+
DELETED = "DELETED",
|
|
8
|
+
ERROR = "ERROR"
|
|
9
|
+
}
|
|
10
|
+
export declare const PREDEFINED_APP = "predefined";
|
|
11
|
+
export declare const TEMPORARY_DATA_EXPIRATION_TIME = 300000;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { BasicAuth } from './Basic/BasicAuth';
|
|
2
|
+
export { BasicCollection } from './Basic/BasicCollection';
|
|
3
|
+
export { TokenAuth } from './Token/TokenAuth';
|
|
4
|
+
export { TokenCollection } from './Token/TokenCollection';
|
|
5
|
+
export { OAuth } from './OAuth/OAuth';
|
|
6
|
+
export { OAuthCollection } from './OAuth/OAuthCollection';
|
|
7
|
+
export * from './types';
|
package/package.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.10.0",
|
|
3
|
+
"name": "@or-sdk/authorizer",
|
|
4
|
+
"main": "dist/cjs/index.js",
|
|
5
|
+
"module": "dist/esm/index.js",
|
|
6
|
+
"types": "dist/types/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "npm run clean && concurrently \"npm run build:cjs\" \"npm run build:esm\" \"npm run build:types\"",
|
|
9
|
+
"build:watch": "concurrently -r --hide 1,2 \"npm run build:watch:cjs\" \"npm run build:watch:esm\" \"npm run build:watch:types\"",
|
|
10
|
+
"build:cjs": "tsc --project tsconfig.json",
|
|
11
|
+
"build:watch:cjs": "tsc --project tsconfig.json -w",
|
|
12
|
+
"build:esm": "tsc --project tsconfig.esm.json",
|
|
13
|
+
"build:watch:esm": "tsc --project tsconfig.esm.json -w",
|
|
14
|
+
"build:types": "tsc --project tsconfig.types.json",
|
|
15
|
+
"build:watch:types": "tsc --project tsconfig.types.json -w",
|
|
16
|
+
"clean": "rm -rf ./dist"
|
|
17
|
+
},
|
|
18
|
+
"devDependencies": {
|
|
19
|
+
"@types/uuid": "^8.3.1",
|
|
20
|
+
"concurrently": "^6.4.0",
|
|
21
|
+
"typescript": "^4.4.4"
|
|
22
|
+
},
|
|
23
|
+
"publishConfig": {
|
|
24
|
+
"access": "public"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@or-sdk/base": "^0.10.0",
|
|
28
|
+
"@or-sdk/event-manager": "^0.10.0",
|
|
29
|
+
"@or-sdk/key-value-storage": "^0.10.0",
|
|
30
|
+
"uuid": "^8.3.2"
|
|
31
|
+
},
|
|
32
|
+
"gitHead": "23aeec7f6d64271cf5e44480379e40b87eb9115d"
|
|
33
|
+
}
|