Skip to content

Commit b8e595d

Browse files
authored
Merge pull request clerk#52 from clerkinc/next
Javascript SDK version 3
2 parents db0ac47 + e439647 commit b8e595d

File tree

250 files changed

+12743
-5894
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

250 files changed

+12743
-5894
lines changed

Diff for: .eslintrc.js

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ module.exports = {
2424
'@typescript-eslint/no-unsafe-member-access': 'off',
2525
'@typescript-eslint/no-unsafe-return': 'off',
2626
'@typescript-eslint/restrict-template-expressions': 'off',
27+
'@typescript-eslint/ban-ts-comment': 'off',
2728
'simple-import-sort/imports': 'error',
2829
},
2930
};

Diff for: .github/ISSUE_TEMPLATE/bug_report.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ labels: 'Status: Triage'
1919
- [ ] `@clerk/clerk-js`
2020
- [ ] `@clerk/clerk-react`
2121
- [ ] `@clerk/nextjs`
22-
- [ ] `@clerk/clerk-remix`
22+
- [ ] `@clerk/remix`
2323
- [ ] `@clerk/clerk-expo`
2424
- [ ] `@clerk/backend-core`
2525
- [ ] `@clerk/clerk-sdk-node`

Diff for: .github/ISSUE_TEMPLATE/feature_request.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ labels: 'Status: Feature Request'
1212
- [ ] `@clerk/clerk-js`
1313
- [ ] `@clerk/clerk-react`
1414
- [ ] `@clerk/nextjs`
15-
- [ ] `@clerk/clerk-remix`
15+
- [ ] `@clerk/remix`
1616
- [ ] `@clerk/clerk-expo`
1717
- [ ] `@clerk/backend-core`
1818
- [ ] `@clerk/clerk-sdk-node`

Diff for: .github/PULL_REQUEST_TEMPLATE.md

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
- [ ] `@clerk/clerk-js`
1212
- [ ] `@clerk/clerk-react`
1313
- [ ] `@clerk/nextjs`
14+
- [ ] `@clerk/remix`
1415
- [ ] `@clerk/types`
1516
- [ ] `@clerk/clerk-expo`
1617
- [ ] `@clerk/backend-core`

Diff for: package-lock.json

+8,707-2,784
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: package.json

+7-6
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,22 @@
1818
"@commitlint/config-conventional": "^16.0.0",
1919
"@commitlint/config-lerna-scopes": "^16.0.0",
2020
"@types/node": "14.14.33",
21-
"@typescript-eslint/eslint-plugin": "^5.5.0",
21+
"@types/web": "^0.0.55",
22+
"@typescript-eslint/eslint-plugin": "^5.15.0",
2223
"@typescript-eslint/parser": "^5.5.0",
2324
"conventional-changelog-conventionalcommits": "^4.6.3",
24-
"eslint": "8.2.0",
25-
"eslint-config-prettier": "8.1.0",
25+
"eslint": "8.11.0",
26+
"eslint-config-prettier": "8.5.0",
2627
"eslint-plugin-simple-import-sort": "^7.0.0",
2728
"husky": "^7.0.4",
2829
"lerna": "^4.0.0",
29-
"prettier": "^2.3.1",
30+
"prettier": "^2.5.1",
3031
"rimraf": "^3.0.2",
3132
"turbo": "^1.1.5",
32-
"typescript": "4.5.5"
33+
"typescript": "^4.6.2"
3334
},
3435
"scripts": {
35-
"dev": "lerna run dev --parallel --scope @clerk/types --scope @clerk/clerk-react --scope @clerk/clerk-js",
36+
"dev": "lerna run dev --parallel --scope @clerk/types --scope @clerk/clerk-js --scope @clerk/clerk-react --scope @clerk/remix --scope @clerk/nextjs",
3637
"lint-fix": "eslint . --ext .ts",
3738
"bump": "lerna version",
3839
"bump:next": "lerna version --conventional-prerelease",

Diff for: packages/backend-core/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@clerk/backend-core",
3-
"version": "0.6.1",
3+
"version": "0.6.3-staging.0",
44
"license": "MIT",
55
"description": "Clerk Backend API core resources and authentication utilities for JavaScript environments.",
66
"scripts": {
@@ -17,7 +17,7 @@
1717
"tslib": "^2.3.1"
1818
},
1919
"devDependencies": {
20-
"@peculiar/webcrypto": "^1.2.3",
20+
"@peculiar/webcrypto": "^1.3.2",
2121
"@types/jest": "^27.4.0",
2222
"@types/node": "^16.11.12",
2323
"@types/node-fetch": "^2",
@@ -26,7 +26,7 @@
2626
"nock": "^13.2.1",
2727
"node-fetch": "^2.6.0",
2828
"ts-jest": "^27.1.3",
29-
"typescript": "4.5.5"
29+
"typescript": "^4.6.2"
3030
},
3131
"publishConfig": {
3232
"access": "public"

Diff for: packages/backend-core/src/api/collection/SessionApi.ts

+11
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Session } from '../resources/Session';
2+
import { Token } from '../resources/Token';
23
import { AbstractApi } from './AbstractApi';
34

45
type QueryParams = {
@@ -39,4 +40,14 @@ export class SessionApi extends AbstractApi {
3940
bodyParams: { token },
4041
});
4142
}
43+
44+
public async getToken(sessionId: string, template: string) {
45+
this.requireId(sessionId);
46+
return (
47+
(await this._restClient.makeRequest<Token>({
48+
method: 'POST',
49+
path: `/sessions/${sessionId}/tokens/${template || ''}`,
50+
})) as any
51+
).jwt;
52+
}
4253
}

Diff for: packages/backend-core/src/api/resources/JSON.ts

+7-4
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,19 @@ export enum ObjectType {
2424
SmsMessage = 'sms_message',
2525
User = 'user',
2626
Web3Wallet = 'web3_wallet',
27+
Token = 'token',
2728
}
2829

2930
export interface ClerkResourceJSON {
3031
object: ObjectType;
3132
id: string;
3233
}
3334

35+
export interface TokenJSON {
36+
object: ObjectType.Token;
37+
jwt: string;
38+
}
39+
3440
export interface AllowlistIdentifierJSON extends ClerkResourceJSON {
3541
object: ObjectType.AllowlistIdentifier;
3642
identifier: string;
@@ -107,10 +113,7 @@ export interface ExtAccountJSON extends ClerkResourceJSON {
107113
label?: string;
108114
}
109115

110-
export type ExternalAccountJSON =
111-
| FacebookAccountJSON
112-
| GoogleAccountJSON
113-
| ExtAccountJSON;
116+
export type ExternalAccountJSON = FacebookAccountJSON | GoogleAccountJSON | ExtAccountJSON;
114117

115118
export interface IdentificationLinkJSON extends ClerkResourceJSON {
116119
type: string;

Diff for: packages/backend-core/src/api/resources/Props.ts

+5
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ export interface ClerkProps {
1212
id: Nullable<string>;
1313
}
1414

15+
export interface TokenProps extends ClerkProps {
16+
id: null;
17+
jwt: string;
18+
}
19+
1520
export interface AllowlistIdentifierProps extends ClerkProps {
1621
identifier: string;
1722
createdAt: number;

Diff for: packages/backend-core/src/api/resources/Token.ts

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import camelcaseKeys from 'camelcase-keys';
2+
3+
import filterKeys from '../utils/Filter';
4+
import type { TokenProps } from './Props';
5+
import { TokenJSON } from './JSON';
6+
7+
interface TokenPayload extends TokenProps {}
8+
9+
export class Token {
10+
static attributes = ['jwt'];
11+
12+
static defaults = [];
13+
14+
constructor(data: Partial<TokenProps> = {}) {
15+
Object.assign(this, Token.defaults, data);
16+
}
17+
18+
static fromJSON(data: TokenJSON): Token {
19+
const camelcased = camelcaseKeys(data);
20+
const filtered = filterKeys(camelcased, Token.attributes);
21+
return new Token(filtered as TokenPayload);
22+
}
23+
}

Diff for: packages/backend-core/src/api/resources/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ export * from './Session';
1414
export * from './SMSMessage';
1515
export * from './User';
1616
export * from './Verification';
17+
export * from './Token';

Diff for: packages/backend-core/src/api/utils/Deserializer.ts

+3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
Organization,
77
Session,
88
SMSMessage,
9+
Token,
910
User,
1011
} from '../resources';
1112
import { ObjectType } from '../resources/JSON';
@@ -40,6 +41,8 @@ function jsonToObject(item: any): any {
4041
return Session.fromJSON(item);
4142
case ObjectType.SmsMessage:
4243
return SMSMessage.fromJSON(item);
44+
case ObjectType.Token:
45+
return Token.fromJSON(item);
4346
default:
4447
Logger.error(`Unexpected object type: ${item.object}`);
4548
}

Diff for: packages/backend-core/tsconfig.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"esModuleInterop": true,
88
"forceConsistentCasingInFileNames": true,
99
"importHelpers": true,
10-
"lib": ["ES2020", "DOM"],
10+
"lib": ["ES2020"],
1111
"moduleResolution": "node",
1212
"noUnusedLocals": true,
1313
"noUnusedParameters": true,

Diff for: packages/clerk-js/CHANGELOG.md

+33
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,39 @@
33
All notable changes to this project will be documented in this file.
44
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
55

6+
## [3.0.0-alpha.9](https://github.com/clerkinc/javascript/compare/@clerk/clerk-js@2.17.3...@clerk/clerk-js@3.0.0-alpha.9) (2022-03-11)
7+
8+
**Note:** Version bump only for package @clerk/clerk-js
9+
10+
11+
12+
13+
14+
## [3.0.0-alpha.8](https://github.com/clerkinc/javascript/compare/@clerk/clerk-js@2.14.3...@clerk/clerk-js@3.0.0-alpha.8) (2022-02-28)
15+
16+
17+
### Features
18+
19+
* **types:** Add support for oauth_microsoft ([96c1cc6](https://github.com/clerkinc/javascript/commit/96c1cc6817b9bbc6917ea2773498299c1ff9b951))
20+
21+
22+
23+
## [3.0.0-alpha.7](https://github.com/clerkinc/javascript/compare/@clerk/clerk-js@2.14.3...@clerk/clerk-js@3.0.0-alpha.7) (2022-02-25)
24+
25+
**Note:** Version bump only for package @clerk/clerk-js
26+
27+
28+
29+
30+
31+
## [3.0.0-alpha.6](https://github.com/clerkinc/javascript/compare/@clerk/clerk-js@2.13.2...@clerk/clerk-js@3.0.0-alpha.6) (2022-02-18)
32+
33+
**Note:** Version bump only for package @clerk/clerk-js
34+
35+
36+
37+
38+
639
### [2.17.6](https://github.com/clerkinc/javascript/compare/@clerk/clerk-js@2.17.6-staging.1...@clerk/clerk-js@2.17.6) (2022-03-17)
740

841
**Note:** Version bump only for package @clerk/clerk-js

Diff for: packages/clerk-js/jest.config.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ module.exports = {
1717
'!**/*.d.ts',
1818
'!**/index.ts',
1919
'!**/index.browser.ts',
20-
'!**/index.nocomponents.ts',
21-
'!**/index.nocomponents.browser.ts',
20+
'!**/index.headless.ts',
21+
'!**/index.headless.browser.ts',
2222
'!**/coverage/**',
2323
'!**/dist/**',
2424
'!**/node_modules/**',

Diff for: packages/clerk-js/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@clerk/clerk-js",
3-
"version": "2.17.6",
3+
"version": "3.0.0-alpha.9",
44
"license": "MIT",
55
"description": "Clerk.dev JS library",
66
"keywords": [
@@ -38,7 +38,7 @@
3838
"test:coverage": "jest --collectCoverage"
3939
},
4040
"dependencies": {
41-
"@clerk/types": "^1.29.2",
41+
"@clerk/types": "^2.0.0-alpha.10",
4242
"@popperjs/core": "^2.4.4",
4343
"browser-tabs-lock": "^1.2.15",
4444
"classnames": "^2.3.1",
@@ -99,7 +99,7 @@
9999
"style-loader": "^2.0.0",
100100
"ts-jest": "^27.1.3",
101101
"type-fest": "^0.20.2",
102-
"typescript": "4.5.5",
102+
"typescript": "^4.6.2",
103103
"webpack": "^5.64.1",
104104
"webpack-cli": "^4.9.1",
105105
"webpack-dev-server": "^4.5.0",
@@ -113,7 +113,7 @@
113113
"maxSize": "148kB"
114114
},
115115
{
116-
"path": "./dist/clerk.nocomponents.js",
116+
"path": "./dist/clerk.headless.js",
117117
"maxSize": "40kB"
118118
}
119119
]

0 commit comments

Comments
 (0)