@feasibleone/blong-login 0.0.1 → 1.0.5
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/CHANGELOG.md +49 -0
- package/dist/browser.d.ts +3 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +15 -0
- package/dist/browser.js.map +1 -0
- package/dist/gateway/login/login.oidc.getConfiguration.d.ts +3 -0
- package/dist/gateway/login/login.oidc.getConfiguration.d.ts.map +1 -0
- package/dist/gateway/login/login.oidc.getConfiguration.js +10 -0
- package/dist/gateway/login/login.oidc.getConfiguration.js.map +1 -0
- package/dist/gateway/login/login.oidc.getKeys.d.ts +3 -0
- package/dist/gateway/login/login.oidc.getKeys.d.ts.map +1 -0
- package/dist/gateway/login/login.oidc.getKeys.js +10 -0
- package/dist/gateway/login/login.oidc.getKeys.js.map +1 -0
- package/dist/gateway/login/login.token.create.d.ts +3 -0
- package/dist/gateway/login/login.token.create.d.ts.map +1 -0
- package/dist/gateway/login/login.token.create.js +12 -0
- package/dist/gateway/login/login.token.create.js.map +1 -0
- package/dist/orchestrator/login/loginOidcGetConfiguration.d.ts +4 -0
- package/dist/orchestrator/login/loginOidcGetConfiguration.d.ts.map +1 -0
- package/dist/orchestrator/login/loginOidcGetConfiguration.js +21 -0
- package/dist/orchestrator/login/loginOidcGetConfiguration.js.map +1 -0
- package/dist/orchestrator/login/loginOidcGetKeys.d.ts +3 -0
- package/dist/orchestrator/login/loginOidcGetKeys.d.ts.map +1 -0
- package/dist/orchestrator/login/loginOidcGetKeys.js +5 -0
- package/dist/orchestrator/login/loginOidcGetKeys.js.map +1 -0
- package/dist/orchestrator/login/loginTokenCreate.d.ts +4 -0
- package/dist/orchestrator/login/loginTokenCreate.d.ts.map +1 -0
- package/dist/orchestrator/login/loginTokenCreate.js +14 -0
- package/dist/orchestrator/login/loginTokenCreate.js.map +1 -0
- package/dist/orchestrator/login/refresh.d.ts +13 -0
- package/dist/orchestrator/login/refresh.d.ts.map +1 -0
- package/dist/orchestrator/login/refresh.js +14 -0
- package/dist/orchestrator/login/refresh.js.map +1 -0
- package/dist/orchestrator/login/token.d.ts +16 -0
- package/dist/orchestrator/login/token.d.ts.map +1 -0
- package/dist/orchestrator/login/token.js +57 -0
- package/dist/orchestrator/login/token.js.map +1 -0
- package/dist/orchestrator/loginDispatch.d.ts +3 -0
- package/dist/orchestrator/loginDispatch.d.ts.map +1 -0
- package/dist/orchestrator/loginDispatch.js +5 -0
- package/dist/orchestrator/loginDispatch.js.map +1 -0
- package/dist/server.d.ts +37 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +84 -0
- package/dist/server.js.map +1 -0
- package/dist/test/test/testUserAdminLogin.d.ts +3 -0
- package/dist/test/test/testUserAdminLogin.d.ts.map +1 -0
- package/dist/test/test/testUserAdminLogin.js +12 -0
- package/dist/test/test/testUserAdminLogin.js.map +1 -0
- package/package.json +14 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [1.0.5](https://github.com/feasibleone/blong/compare/blong-login-v1.0.4...blong-login-v1.0.5) (2026-01-25)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* update keywords in package.json files for consistency ([3a391a7](https://github.com/feasibleone/blong/commit/3a391a740e4e9d33a0f0c23aa9be9d8f59013bf8))
|
|
9
|
+
|
|
10
|
+
## [1.0.4](https://github.com/feasibleone/blong/compare/blong-login-v1.0.3...blong-login-v1.0.4) (2026-01-25)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* update repository URLs in package.json files for consistency ([a1856ea](https://github.com/feasibleone/blong/commit/a1856ea8d9ef44495a8776e72b18b81a7e692e7f))
|
|
16
|
+
|
|
17
|
+
## [1.0.3](https://github.com/feasibleone/blong/compare/blong-login-v1.0.2...blong-login-v1.0.3) (2026-01-25)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* add repository field to package.json files for consistency ([0d881d5](https://github.com/feasibleone/blong/commit/0d881d58fbaf52a03c6a4e89e50901c3440c56f6))
|
|
23
|
+
|
|
24
|
+
## [1.0.2](https://github.com/feasibleone/blong/compare/blong-login-v1.0.1...blong-login-v1.0.2) (2026-01-25)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Bug Fixes
|
|
28
|
+
|
|
29
|
+
* add descriptions to package.json files for clarity ([36dd517](https://github.com/feasibleone/blong/commit/36dd517dd2caee4e25ecbb4ef2a3be5e126d125b))
|
|
30
|
+
|
|
31
|
+
## [1.0.1](https://github.com/feasibleone/blong/compare/blong-login-v1.0.0...blong-login-v1.0.1) (2026-01-25)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Bug Fixes
|
|
35
|
+
|
|
36
|
+
* update ci-publish script to include --provenance flag in package.json ([6580bd3](https://github.com/feasibleone/blong/commit/6580bd38dca27f55b730c062fe9756892d56dd37))
|
|
37
|
+
* update package.json to correctly define peerDependencies and remove unnecessary dependencies ([eb55a88](https://github.com/feasibleone/blong/commit/eb55a88b4883f4d4feef014dfe0537c8e6b4a90e))
|
|
38
|
+
|
|
39
|
+
## 1.0.0 (2026-01-25)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### Features
|
|
43
|
+
|
|
44
|
+
* update dependencies across multiple packages ([03269a5](https://github.com/feasibleone/blong/commit/03269a57405c53a3d6f16f7531f82cde2a31c5cc))
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
### Bug Fixes
|
|
48
|
+
|
|
49
|
+
* prepare for publishing ([6c4e8b1](https://github.com/feasibleone/blong/commit/6c4e8b1da59f5c79ddda19708276d746af6a64ca))
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../browser.ts"],"names":[],"mappings":";AAEA,wBAYI"}
|
package/dist/browser.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { realm } from '@feasibleone/blong';
|
|
2
|
+
export default realm(blong => ({
|
|
3
|
+
url: import.meta.url,
|
|
4
|
+
validation: blong.type.Object({}),
|
|
5
|
+
children: ['./test'],
|
|
6
|
+
config: {
|
|
7
|
+
default: {},
|
|
8
|
+
dev: {},
|
|
9
|
+
microservice: {},
|
|
10
|
+
integration: {
|
|
11
|
+
test: true,
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
}));
|
|
15
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAEzC,eAAe,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;IACpB,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACjC,QAAQ,EAAE,CAAC,QAAQ,CAAC;IACpB,MAAM,EAAE;QACJ,OAAO,EAAE,EAAE;QACX,GAAG,EAAE,EAAE;QACP,YAAY,EAAE,EAAE;QAChB,WAAW,EAAE;YACT,IAAI,EAAE,IAAI;SACb;KACJ;CACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: (blong: import("@feasibleone/blong").IValidationProxy) => Record<string, (() => import("@feasibleone/blong").GatewaySchema) | import("@sinclair/typebox").TSchema> | (() => import("@feasibleone/blong").GatewaySchema) | (() => import("@feasibleone/blong").GatewaySchema)[];
|
|
2
|
+
export default _default;
|
|
3
|
+
//# sourceMappingURL=login.oidc.getConfiguration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.oidc.getConfiguration.d.ts","sourceRoot":"","sources":["../../../gateway/login/login.oidc.getConfiguration.ts"],"names":[],"mappings":";AAEA,wBAOG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { validation } from '@feasibleone/blong';
|
|
2
|
+
export default validation(proxy => function loginOidcGetConfiguration() {
|
|
3
|
+
return {
|
|
4
|
+
security: true,
|
|
5
|
+
method: 'GET',
|
|
6
|
+
path: '/.well-known/openid-configuration',
|
|
7
|
+
auth: false
|
|
8
|
+
};
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=login.oidc.getConfiguration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.oidc.getConfiguration.js","sourceRoot":"","sources":["../../../gateway/login/login.oidc.getConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,eAAe,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,yBAAyB;IACjE,OAAO;QACH,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,mCAAmC;QACzC,IAAI,EAAE,KAAK;KACd,CAAC;AACN,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: (blong: import("@feasibleone/blong").IValidationProxy) => Record<string, (() => import("@feasibleone/blong").GatewaySchema) | import("@sinclair/typebox").TSchema> | (() => import("@feasibleone/blong").GatewaySchema) | (() => import("@feasibleone/blong").GatewaySchema)[];
|
|
2
|
+
export default _default;
|
|
3
|
+
//# sourceMappingURL=login.oidc.getKeys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.oidc.getKeys.d.ts","sourceRoot":"","sources":["../../../gateway/login/login.oidc.getKeys.ts"],"names":[],"mappings":";AAEA,wBAOG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.oidc.getKeys.js","sourceRoot":"","sources":["../../../gateway/login/login.oidc.getKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,eAAe,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,gBAAgB;IACxD,OAAO;QACH,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,KAAK;KACd,CAAC;AACN,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: (blong: import("@feasibleone/blong").IValidationProxy) => Record<string, (() => import("@feasibleone/blong").GatewaySchema) | import("@sinclair/typebox").TSchema> | (() => import("@feasibleone/blong").GatewaySchema) | (() => import("@feasibleone/blong").GatewaySchema)[];
|
|
2
|
+
export default _default;
|
|
3
|
+
//# sourceMappingURL=login.token.create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.token.create.d.ts","sourceRoot":"","sources":["../../../gateway/login/login.token.create.ts"],"names":[],"mappings":";AAEA,wBAYE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { validation } from '@feasibleone/blong';
|
|
2
|
+
export default validation(({ lib: { type } }) => function loginTokenCreate() {
|
|
3
|
+
return {
|
|
4
|
+
auth: 'login',
|
|
5
|
+
params: type.Object({
|
|
6
|
+
username: type.String(),
|
|
7
|
+
password: type.String(),
|
|
8
|
+
}),
|
|
9
|
+
result: type.Object({}, { additionalProperties: true }),
|
|
10
|
+
};
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=login.token.create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"login.token.create.js","sourceRoot":"","sources":["../../../gateway/login/login.token.create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAE9C,eAAe,UAAU,CACrB,CAAC,EAAC,GAAG,EAAE,EAAC,IAAI,EAAC,EAAC,EAAE,EAAE,CACd,SAAS,gBAAgB;IACrB,OAAO;QACH,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;YACvB,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;SAC1B,CAAC;QACF,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAC,oBAAoB,EAAE,IAAI,EAAC,CAAC;KACxD,CAAC;AACN,CAAC,CACR,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IMeta } from '@feasibleone/blong';
|
|
2
|
+
declare const _default: object | ((blong: import("@feasibleone/blong").IHandlerProxy<Record<string, unknown>>) => (<T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T) | import("@feasibleone/blong").IAdapterFactory | Record<string, <T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T>) | ((blong: import("@feasibleone/blong").IHandlerProxy<Record<string, unknown>>) => (<T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T) | import("@feasibleone/blong").IAdapterFactory | Record<string, <T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T>)[];
|
|
3
|
+
export default _default;
|
|
4
|
+
//# sourceMappingURL=loginOidcGetConfiguration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginOidcGetConfiguration.d.ts","sourceRoot":"","sources":["../../../orchestrator/login/loginOidcGetConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAU,MAAM,oBAAoB,CAAC;;AAElD,wBAuBE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { handler } from '@feasibleone/blong';
|
|
2
|
+
export default handler(() => function loginOidcGetConfiguration(params, { httpRequest: { url: urlRequest, headers } }) {
|
|
3
|
+
const url = new URL(urlRequest);
|
|
4
|
+
if (headers['x-forwarded-host']) {
|
|
5
|
+
url.port = ''; // WTF WHATWG!
|
|
6
|
+
url.host = headers['x-forwarded-host'];
|
|
7
|
+
if (headers['x-forwarded-proto'])
|
|
8
|
+
url.protocol = headers['x-forwarded-proto'];
|
|
9
|
+
}
|
|
10
|
+
return {
|
|
11
|
+
issuer: 'ut-login',
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
13
|
+
id_token_signing_alg_values_supported: ['RS256'],
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
15
|
+
code_challenge_methods_supported: ['S256'],
|
|
16
|
+
authorization_endpoint: new URL('../form', url.href).href,
|
|
17
|
+
token_endpoint: new URL('../token', url.href).href,
|
|
18
|
+
jwks_uri: new URL('../jwks', url.href).href,
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=loginOidcGetConfiguration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginOidcGetConfiguration.js","sourceRoot":"","sources":["../../../orchestrator/login/loginOidcGetConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAElD,eAAe,OAAO,CAClB,GAAG,EAAE,CACD,SAAS,yBAAyB,CAC9B,MAAe,EACf,EAAC,WAAW,EAAE,EAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAC,EAAQ;IAEhD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAChC,IAAI,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,cAAc;QAC7B,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACvC,IAAI,OAAO,CAAC,mBAAmB,CAAC;YAAE,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClF,CAAC;IACD,OAAO;QACH,MAAM,EAAE,UAAU;QAClB,gEAAgE;QAChE,qCAAqC,EAAE,CAAC,OAAO,CAAC;QAChD,gEAAgE;QAChE,gCAAgC,EAAE,CAAC,MAAM,CAAC;QAC1C,sBAAsB,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI;QACzD,cAAc,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI;QAClD,QAAQ,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI;KAC9C,CAAC;AACN,CAAC,CACR,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: object | ((blong: import("@feasibleone/blong").IHandlerProxy<Record<string, unknown>>) => (<T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: import("@feasibleone/blong").IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T) | import("@feasibleone/blong").IAdapterFactory | Record<string, <T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: import("@feasibleone/blong").IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T>) | ((blong: import("@feasibleone/blong").IHandlerProxy<Record<string, unknown>>) => (<T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: import("@feasibleone/blong").IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T) | import("@feasibleone/blong").IAdapterFactory | Record<string, <T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: import("@feasibleone/blong").IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T>)[];
|
|
2
|
+
export default _default;
|
|
3
|
+
//# sourceMappingURL=loginOidcGetKeys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginOidcGetKeys.d.ts","sourceRoot":"","sources":["../../../orchestrator/login/loginOidcGetKeys.ts"],"names":[],"mappings":";AAEA,wBAMI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginOidcGetKeys.js","sourceRoot":"","sources":["../../../orchestrator/login/loginOidcGetKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,eAAe,OAAO,CAAC,CAAC,EACpB,GAAG,EAAE,EACD,IAAI,EACP,EACJ,EAAE,EAAE,CAAC,CAAC;IACH,gBAAgB,EAAE,IAAI;CACzB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IMeta } from '@feasibleone/blong';
|
|
2
|
+
declare const _default: object | ((blong: import("@feasibleone/blong").IHandlerProxy<Record<string, unknown>>) => (<T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T) | import("@feasibleone/blong").IAdapterFactory | Record<string, <T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T>) | ((blong: import("@feasibleone/blong").IHandlerProxy<Record<string, unknown>>) => (<T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T) | import("@feasibleone/blong").IAdapterFactory | Record<string, <T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T>)[];
|
|
3
|
+
export default _default;
|
|
4
|
+
//# sourceMappingURL=loginTokenCreate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginTokenCreate.d.ts","sourceRoot":"","sources":["../../../orchestrator/login/loginTokenCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAU,MAAM,oBAAoB,CAAC;;AAElD,wBAiBE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { handler } from '@feasibleone/blong';
|
|
2
|
+
export default handler(({ lib: { token } }) => function loginTokenCreate({ username, password }, { auth: { mlek, mlsk } = {} }) {
|
|
3
|
+
return token({
|
|
4
|
+
clientId: username,
|
|
5
|
+
actorId: 0,
|
|
6
|
+
sessionId: 'session',
|
|
7
|
+
language: 'en',
|
|
8
|
+
refresh: '',
|
|
9
|
+
permissionMap: '',
|
|
10
|
+
mlek,
|
|
11
|
+
mlsk,
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=loginTokenCreate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginTokenCreate.js","sourceRoot":"","sources":["../../../orchestrator/login/loginTokenCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAElD,eAAe,OAAO,CAClB,CAAC,EAAC,GAAG,EAAE,EAAC,KAAK,EAAC,EAAC,EAAE,EAAE,CACf,SAAS,gBAAgB,CACrB,EAAC,QAAQ,EAAE,QAAQ,EAAuC,EAC1D,EAAC,IAAI,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,EAAE,EAAQ;IAEhC,OAAO,KAAK,CAAC;QACT,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,EAAE;QACX,aAAa,EAAE,EAAE;QACjB,IAAI;QACJ,IAAI;KACP,CAAC,CAAC;AACP,CAAC,CACR,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare const _default: object | ((blong: import("@feasibleone/blong").IHandlerProxy<{
|
|
2
|
+
keys: {
|
|
3
|
+
refresh: string;
|
|
4
|
+
refreshCbc: unknown;
|
|
5
|
+
};
|
|
6
|
+
}>) => Record<string, <T>(...params: unknown[]) => T> | (<T>(...params: unknown[]) => T)) | ((blong: import("@feasibleone/blong").IHandlerProxy<{
|
|
7
|
+
keys: {
|
|
8
|
+
refresh: string;
|
|
9
|
+
refreshCbc: unknown;
|
|
10
|
+
};
|
|
11
|
+
}>) => Record<string, <T>(...params: unknown[]) => T> | (<T>(...params: unknown[]) => T))[];
|
|
12
|
+
export default _default;
|
|
13
|
+
//# sourceMappingURL=refresh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../orchestrator/login/refresh.ts"],"names":[],"mappings":";UAG8B;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC;;UAAtC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAC;;AAApE,wBAmBI"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import cbc from 'ut-function.cbc';
|
|
2
|
+
import { library } from '@feasibleone/blong';
|
|
3
|
+
export default library(({ config: { keys: { refresh, refreshCbc = cbc(refresh) } }, handler: { errorLoginRefreshTokenExpired } }) => ({
|
|
4
|
+
writeRefresh(params) {
|
|
5
|
+
return refreshCbc.encrypt(JSON.stringify({ ...params, expire: Date.now() + params.refresh * 1000 })).toString('base64');
|
|
6
|
+
},
|
|
7
|
+
readRefresh(token) {
|
|
8
|
+
const result = JSON.parse(refreshCbc.decrypt(Buffer.from(token, 'base64')));
|
|
9
|
+
if (result.expire <= Date.now())
|
|
10
|
+
throw errorLoginRefreshTokenExpired();
|
|
11
|
+
return result;
|
|
12
|
+
}
|
|
13
|
+
}));
|
|
14
|
+
//# sourceMappingURL=refresh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../orchestrator/login/refresh.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,iBAAiB,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,eAAe,OAAO,CAAiD,CAAC,EACpE,MAAM,EAAE,EACJ,IAAI,EAAE,EACF,OAAO,EACP,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,EAC5B,EACJ,EACD,OAAO,EAAE,EACL,6BAA6B,EAChC,EACJ,EAAE,EAAE,CAAC,CAAC;IACH,YAAY,CAAC,MAAyB;QAClC,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,EAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1H,CAAC;IACD,WAAW,CAAC,KAAa;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE;YAAE,MAAM,6BAA6B,EAAE,CAAC;QACvE,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type JWK } from 'jose';
|
|
2
|
+
declare const _default: object | ((blong: import("@feasibleone/blong").IHandlerProxy<{
|
|
3
|
+
keys: {
|
|
4
|
+
access: JWK;
|
|
5
|
+
id: JWK;
|
|
6
|
+
};
|
|
7
|
+
expire: Record<string, string>;
|
|
8
|
+
}>) => Record<string, <T>(...params: unknown[]) => T> | (<T>(...params: unknown[]) => T)) | ((blong: import("@feasibleone/blong").IHandlerProxy<{
|
|
9
|
+
keys: {
|
|
10
|
+
access: JWK;
|
|
11
|
+
id: JWK;
|
|
12
|
+
};
|
|
13
|
+
expire: Record<string, string>;
|
|
14
|
+
}>) => Record<string, <T>(...params: unknown[]) => T> | (<T>(...params: unknown[]) => T))[];
|
|
15
|
+
export default _default;
|
|
16
|
+
//# sourceMappingURL=token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../orchestrator/login/token.ts"],"names":[],"mappings":"AACA,OAAO,EAAgE,KAAK,GAAG,EAAC,MAAM,MAAM,CAAC;;UAGnF;QACF,MAAM,EAAE,GAAG,CAAC;QACZ,EAAE,EAAE,GAAG,CAAC;KACX;YACO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;UAJxB;QACF,MAAM,EAAE,GAAG,CAAC;QACZ,EAAE,EAAE,GAAG,CAAC;KACX;YACO,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;AALlC,wBA+EE"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { library } from '@feasibleone/blong';
|
|
2
|
+
import { SignJWT, calculateJwkThumbprint, createLocalJWKSet, importJWK } from 'jose';
|
|
3
|
+
export default library(async ({ config: { keys: { access, id }, expire, }, lib: { writeRefresh }, gateway, }) => {
|
|
4
|
+
const alg = access.alg || 'EdDSA';
|
|
5
|
+
const kid = access.kid || (await calculateJwkThumbprint(access));
|
|
6
|
+
const keyAccessToken = await importJWK(access, alg);
|
|
7
|
+
const jwks = {
|
|
8
|
+
keys: [access, id].filter(Boolean).map(({ d, p, q, dp, dq, qi, ...pub }) => pub),
|
|
9
|
+
};
|
|
10
|
+
const keyStore = createLocalJWKSet(jwks);
|
|
11
|
+
const { public: keys } = gateway.config();
|
|
12
|
+
return {
|
|
13
|
+
async jwks(header = {}, token) {
|
|
14
|
+
return Object.keys(header).length ? keyStore(header, token) : jwks;
|
|
15
|
+
},
|
|
16
|
+
async token({ clientId, actorId, sessionId, permissionMap, mlek, mlsk, refresh, ...rest }) {
|
|
17
|
+
if (!refresh || refresh > expire.refresh)
|
|
18
|
+
refresh = expire.refresh;
|
|
19
|
+
refresh = expire.never || refresh;
|
|
20
|
+
const access = expire.never || (expire.access > refresh ? refresh : expire.access);
|
|
21
|
+
return {
|
|
22
|
+
encrypt: keys.encrypt,
|
|
23
|
+
sign: keys.sign,
|
|
24
|
+
token_type: 'Bearer',
|
|
25
|
+
scope: 'openid',
|
|
26
|
+
access_token: await new SignJWT({
|
|
27
|
+
...rest,
|
|
28
|
+
typ: 'Bearer',
|
|
29
|
+
ses: sessionId,
|
|
30
|
+
per: permissionMap,
|
|
31
|
+
...(mlek && { enc: mlek }),
|
|
32
|
+
...(mlsk && { sig: mlsk }),
|
|
33
|
+
})
|
|
34
|
+
.setProtectedHeader({ alg, kid })
|
|
35
|
+
.setIssuedAt()
|
|
36
|
+
.setSubject(String(actorId))
|
|
37
|
+
.setIssuer('ut-login')
|
|
38
|
+
.setAudience('ut-bus')
|
|
39
|
+
.setExpirationTime(access + 's')
|
|
40
|
+
.sign(keyAccessToken),
|
|
41
|
+
expires_in: access,
|
|
42
|
+
refresh_token: writeRefresh({
|
|
43
|
+
actorId,
|
|
44
|
+
sessionId,
|
|
45
|
+
clientId,
|
|
46
|
+
mlsk,
|
|
47
|
+
mlek,
|
|
48
|
+
refresh,
|
|
49
|
+
...rest,
|
|
50
|
+
}),
|
|
51
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
52
|
+
refresh_token_expires_in: refresh,
|
|
53
|
+
};
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../orchestrator/login/token.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginDispatch.d.ts","sourceRoot":"","sources":["../../orchestrator/loginDispatch.ts"],"names":[],"mappings":";AAEA,wBAEI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loginDispatch.js","sourceRoot":"","sources":["../../orchestrator/loginDispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAEhD,eAAe,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/B,OAAO,EAAE,uBAAuB;CACnC,CAAC,CAAC,CAAC"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
declare const _default: import("@feasibleone/blong").SolutionFactory<import("@sinclair/typebox").TObject<{
|
|
2
|
+
login: import("@sinclair/typebox").TObject<{
|
|
3
|
+
expire: import("@sinclair/typebox").TObject<{
|
|
4
|
+
code: import("@sinclair/typebox").TNumber;
|
|
5
|
+
access: import("@sinclair/typebox").TNumber;
|
|
6
|
+
cookie: import("@sinclair/typebox").TNumber;
|
|
7
|
+
refresh: import("@sinclair/typebox").TNumber;
|
|
8
|
+
nonce: import("@sinclair/typebox").TNumber;
|
|
9
|
+
}>;
|
|
10
|
+
cookie: import("@sinclair/typebox").TObject<{
|
|
11
|
+
encoding: import("@sinclair/typebox").TString;
|
|
12
|
+
isSecure: import("@sinclair/typebox").TBoolean;
|
|
13
|
+
isHttpOnly: import("@sinclair/typebox").TBoolean;
|
|
14
|
+
clearInvalid: import("@sinclair/typebox").TBoolean;
|
|
15
|
+
strictHeader: import("@sinclair/typebox").TBoolean;
|
|
16
|
+
}>;
|
|
17
|
+
keys: import("@sinclair/typebox").TObject<{
|
|
18
|
+
refresh: import("@sinclair/typebox").TString;
|
|
19
|
+
access: import("@sinclair/typebox").TObject<{
|
|
20
|
+
crv: import("@sinclair/typebox").TString;
|
|
21
|
+
x: import("@sinclair/typebox").TString;
|
|
22
|
+
d: import("@sinclair/typebox").TString;
|
|
23
|
+
kty: import("@sinclair/typebox").TString;
|
|
24
|
+
kid: import("@sinclair/typebox").TString;
|
|
25
|
+
use: import("@sinclair/typebox").TString;
|
|
26
|
+
alg: import("@sinclair/typebox").TString;
|
|
27
|
+
}>;
|
|
28
|
+
}>;
|
|
29
|
+
}>;
|
|
30
|
+
loginDispatch: import("@sinclair/typebox").TObject<{
|
|
31
|
+
namespace: import("@sinclair/typebox").TString;
|
|
32
|
+
imports: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
33
|
+
validations: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
34
|
+
}>;
|
|
35
|
+
}>>;
|
|
36
|
+
export default _default;
|
|
37
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAiFI"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { realm } from '@feasibleone/blong';
|
|
2
|
+
export default realm(blong => ({
|
|
3
|
+
url: import.meta.url,
|
|
4
|
+
validation: blong.type.Object({
|
|
5
|
+
login: blong.type.Object({
|
|
6
|
+
expire: blong.type.Object({
|
|
7
|
+
code: blong.type.Number(),
|
|
8
|
+
access: blong.type.Number(),
|
|
9
|
+
cookie: blong.type.Number(),
|
|
10
|
+
refresh: blong.type.Number(),
|
|
11
|
+
nonce: blong.type.Number(),
|
|
12
|
+
}),
|
|
13
|
+
cookie: blong.type.Object({
|
|
14
|
+
encoding: blong.type.String(),
|
|
15
|
+
isSecure: blong.type.Boolean(),
|
|
16
|
+
isHttpOnly: blong.type.Boolean(),
|
|
17
|
+
clearInvalid: blong.type.Boolean(),
|
|
18
|
+
strictHeader: blong.type.Boolean(),
|
|
19
|
+
}),
|
|
20
|
+
keys: blong.type.Object({
|
|
21
|
+
refresh: blong.type.String(),
|
|
22
|
+
access: blong.type.Object({
|
|
23
|
+
crv: blong.type.String(),
|
|
24
|
+
x: blong.type.String(),
|
|
25
|
+
d: blong.type.String(),
|
|
26
|
+
kty: blong.type.String(),
|
|
27
|
+
kid: blong.type.String(),
|
|
28
|
+
use: blong.type.String(),
|
|
29
|
+
alg: blong.type.String(),
|
|
30
|
+
}),
|
|
31
|
+
}),
|
|
32
|
+
}),
|
|
33
|
+
loginDispatch: blong.type.Object({
|
|
34
|
+
namespace: blong.type.String(),
|
|
35
|
+
imports: blong.type.Array(blong.type.String()),
|
|
36
|
+
validations: blong.type.Array(blong.type.String()),
|
|
37
|
+
}),
|
|
38
|
+
}),
|
|
39
|
+
children: ['./orchestrator', './gateway'],
|
|
40
|
+
config: {
|
|
41
|
+
default: {
|
|
42
|
+
login: {
|
|
43
|
+
expire: {
|
|
44
|
+
code: 60, // 1 minute
|
|
45
|
+
access: 15 * 60, // 15 minutes
|
|
46
|
+
cookie: 8 * 60 * 60, // 8 hours
|
|
47
|
+
refresh: 8 * 60 * 60, // 8 hours
|
|
48
|
+
nonce: 15 * 60, // 15 minute
|
|
49
|
+
},
|
|
50
|
+
cookie: {
|
|
51
|
+
encoding: 'none',
|
|
52
|
+
isSecure: true,
|
|
53
|
+
isHttpOnly: true,
|
|
54
|
+
clearInvalid: false,
|
|
55
|
+
strictHeader: true,
|
|
56
|
+
},
|
|
57
|
+
keys: {
|
|
58
|
+
refresh: 'b1226b7ed6c6e5aded611ffb55a26a18154fb2263c8c2ea0974dd63e8e11919b',
|
|
59
|
+
access: {
|
|
60
|
+
crv: 'Ed25519',
|
|
61
|
+
x: 'hhcGW1iHk_YWlNYDxn7P4PGV1N6mPjghBge4O7zterQ',
|
|
62
|
+
d: 'KGpSfEzpbelEdQStQBlYmHPkHrG4cEcRx_yJZkRc_qY',
|
|
63
|
+
kty: 'OKP',
|
|
64
|
+
kid: 'kMfX1WoDc9dWVRugwGh9sSL956JS7yB8jE1ylo71Z-M',
|
|
65
|
+
use: 'sig',
|
|
66
|
+
alg: 'EdDSA',
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
loginDispatch: {
|
|
71
|
+
namespace: 'login',
|
|
72
|
+
imports: ['login.login'],
|
|
73
|
+
validations: ['login.login.validation'],
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
dev: {},
|
|
77
|
+
microservice: {
|
|
78
|
+
orchestrator: true,
|
|
79
|
+
gateway: true,
|
|
80
|
+
},
|
|
81
|
+
integration: {},
|
|
82
|
+
},
|
|
83
|
+
}));
|
|
84
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: object | ((blong: import("@feasibleone/blong").IHandlerProxy<Record<string, unknown>>) => (<T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: import("@feasibleone/blong").IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T) | import("@feasibleone/blong").IAdapterFactory | Record<string, <T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: import("@feasibleone/blong").IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T>) | ((blong: import("@feasibleone/blong").IHandlerProxy<Record<string, unknown>>) => (<T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: import("@feasibleone/blong").IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T) | import("@feasibleone/blong").IAdapterFactory | Record<string, <T>(this: ReturnType<import("@feasibleone/blong").IAdapterFactory>, params: unknown, $meta: import("@feasibleone/blong").IMeta, context?: import("@feasibleone/blong").IContext) => Promise<T> | T>)[];
|
|
2
|
+
export default _default;
|
|
3
|
+
//# sourceMappingURL=testUserAdminLogin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testUserAdminLogin.d.ts","sourceRoot":"","sources":["../../../test/test/testUserAdminLogin.ts"],"names":[],"mappings":";AAEA,wBAaI"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { handler } from '@feasibleone/blong';
|
|
2
|
+
export default handler(({ lib: { rename } }) => ({
|
|
3
|
+
testUserAdminLogin: ({ name = 'login' }) => rename([
|
|
4
|
+
function createAdmin() {
|
|
5
|
+
return { username: 'sa', password: '123' };
|
|
6
|
+
},
|
|
7
|
+
function loginAdmin() {
|
|
8
|
+
return { accessToken: 'xxx' };
|
|
9
|
+
},
|
|
10
|
+
], name),
|
|
11
|
+
}));
|
|
12
|
+
//# sourceMappingURL=testUserAdminLogin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testUserAdminLogin.js","sourceRoot":"","sources":["../../../test/test/testUserAdminLogin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAE3C,eAAe,OAAO,CAAC,CAAC,EAAC,GAAG,EAAE,EAAC,MAAM,EAAC,EAAC,EAAE,EAAE,CAAC,CAAC;IACzC,kBAAkB,EAAE,CAAC,EAAC,IAAI,GAAG,OAAO,EAAC,EAAE,EAAE,CACrC,MAAM,CACF;QACI,SAAS,WAAW;YAChB,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC;QAC7C,CAAC;QACD,SAAS,UAAU;YACf,OAAO,EAAC,WAAW,EAAE,KAAK,EAAC,CAAC;QAChC,CAAC;KACJ,EACD,IAAI,CACP;CACR,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@feasibleone/blong-login",
|
|
3
|
+
"description": "Login and authentication utilities for the Blong framework",
|
|
4
|
+
"keywords": [
|
|
5
|
+
"blong",
|
|
6
|
+
"rad",
|
|
7
|
+
"framework"
|
|
8
|
+
],
|
|
9
|
+
"repository": {
|
|
10
|
+
"url": "git+https://github.com/feasibleone/blong.git"
|
|
11
|
+
},
|
|
3
12
|
"scripts": {
|
|
4
13
|
"build": "heft build --clean",
|
|
5
14
|
"ci-publish": "npm publish --access public --provenance"
|
|
@@ -9,14 +18,17 @@
|
|
|
9
18
|
"/browser.js": "./dist/browser.js"
|
|
10
19
|
},
|
|
11
20
|
"type": "module",
|
|
12
|
-
"version": "
|
|
21
|
+
"version": "1.0.5",
|
|
13
22
|
"dependencies": {
|
|
14
|
-
"@feasibleone/blong": "workspace:^1.0.0",
|
|
15
23
|
"@sinclair/typebox": "^0.33.7",
|
|
16
24
|
"ut-function.cbc": "^1.1.6",
|
|
17
25
|
"jose": "^5.7.0"
|
|
18
26
|
},
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"@feasibleone/blong": "^1.0.0"
|
|
29
|
+
},
|
|
19
30
|
"devDependencies": {
|
|
31
|
+
"@feasibleone/blong": "workspace:^1.0.0",
|
|
20
32
|
"@rushstack/eslint-config": "^4.0.1",
|
|
21
33
|
"@rushstack/heft": "^1.1.7",
|
|
22
34
|
"@rushstack/heft-lint-plugin": "^1.1.10",
|