tinacms-clerk 10.0.6 → 10.0.7
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/tinacms.js +1 -0
- package/dist/tinacms.js.map +1 -0
- package/dist/tinacms.mjs +1 -0
- package/dist/tinacms.mjs.map +1 -0
- package/package.json +3 -3
package/dist/tinacms.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tinacms.js","sources":["../src/tinacms.ts"],"sourcesContent":["import { AbstractAuthProvider } from 'tinacms';\n\nimport type Clerk from '@clerk/clerk-js';\n\nexport class ClerkAuthProvider extends AbstractAuthProvider {\n clerk: Clerk;\n allowedList?: string[];\n orgId?: string;\n constructor({\n orgId,\n clerk,\n allowedList,\n }: {\n clerk: Clerk;\n /**\n * For premium Clerk users, you can use restrictions\n * https://clerk.com/docs/authentication/allowlist\n */\n allowedList?: string[];\n // Ensure the user is a member of the provided orgId\n orgId?: string;\n }) {\n super();\n this.clerk = clerk;\n\n this.allowedList = allowedList;\n this.orgId = orgId;\n }\n /**\n * Generates a short-lived token when Tina makes a request\n */\n async getToken() {\n await this.clerk.load();\n if (this.clerk.session) {\n return { id_token: await this.clerk.session.getToken() };\n }\n }\n\n async logout() {\n await this.clerk?.load();\n await this.clerk?.session?.remove();\n }\n async authenticate() {\n this.clerk.openSignIn({\n redirectUrl: '/admin/index.html', // This should be the Tina admin path\n appearance: {\n elements: {\n // Tina's sign in modal is in the way without this\n modalBackdrop: { zIndex: 20000 },\n // Some styles clash with Tina's styling\n socialButtonsBlockButton: 'px-4 py-2 border border-gray-100',\n formFieldInput: `px-4 py-2`,\n formButtonPrimary: 'bg-blue-600 text-white p-4',\n formFieldInputShowPasswordButton: 'm-2',\n dividerText: 'px-2',\n },\n },\n });\n }\n async authorize(context?: any): Promise<any> {\n await this.clerk.load();\n if (this.clerk.user) {\n if (\n this.allowedList &&\n !this.allowedList.includes(\n this.clerk.user.primaryEmailAddress.emailAddress\n )\n ) {\n // if there is an allowList, and the user is not in it, return false\n return false;\n }\n\n if (\n this.orgId &&\n !this.clerk.user.organizationMemberships.find(\n (x) => x.id === this.orgId\n )\n ) {\n // if there is an orgId, and the user is not in it, return false\n return false;\n }\n\n return true;\n }\n // Handle when a user is logged in outside of the org\n await this.clerk.session.end();\n return false;\n }\n\n async getUser(): Promise<any> {\n await this.clerk.load();\n return this.clerk.user;\n }\n}\n"],"names":["AbstractAuthProvider"],"mappings":";;;;EAIO,MAAM,0BAA0BA,QAAAA,qBAAqB;AAAA,IAI1D,YAAY;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IAAA,GAUC;AACK;AACN,WAAK,QAAQ;AAEb,WAAK,cAAc;AACnB,WAAK,QAAQ;AAAA,IACf;AAAA;AAAA;AAAA;AAAA,IAIA,MAAM,WAAW;AACT,YAAA,KAAK,MAAM;AACb,UAAA,KAAK,MAAM,SAAS;AACtB,eAAO,EAAE,UAAU,MAAM,KAAK,MAAM,QAAQ;MAC9C;AAAA,IACF;AAAA,IAEA,MAAM,SAAS;;AACP,cAAA,UAAK,UAAL,mBAAY;AACZ,cAAA,gBAAK,UAAL,mBAAY,YAAZ,mBAAqB;AAAA,IAC7B;AAAA,IACA,MAAM,eAAe;AACnB,WAAK,MAAM,WAAW;AAAA,QACpB,aAAa;AAAA;AAAA,QACb,YAAY;AAAA,UACV,UAAU;AAAA;AAAA,YAER,eAAe,EAAE,QAAQ,IAAM;AAAA;AAAA,YAE/B,0BAA0B;AAAA,YAC1B,gBAAgB;AAAA,YAChB,mBAAmB;AAAA,YACnB,kCAAkC;AAAA,YAClC,aAAa;AAAA,UACf;AAAA,QACF;AAAA,MAAA,CACD;AAAA,IACH;AAAA,IACA,MAAM,UAAU,SAA6B;AACrC,YAAA,KAAK,MAAM;AACb,UAAA,KAAK,MAAM,MAAM;AACnB,YACE,KAAK,eACL,CAAC,KAAK,YAAY;AAAA,UAChB,KAAK,MAAM,KAAK,oBAAoB;AAAA,QAAA,GAEtC;AAEO,iBAAA;AAAA,QACT;AAEA,YACE,KAAK,SACL,CAAC,KAAK,MAAM,KAAK,wBAAwB;AAAA,UACvC,CAAC,MAAM,EAAE,OAAO,KAAK;AAAA,QAAA,GAEvB;AAEO,iBAAA;AAAA,QACT;AAEO,eAAA;AAAA,MACT;AAEM,YAAA,KAAK,MAAM,QAAQ,IAAI;AACtB,aAAA;AAAA,IACT;AAAA,IAEA,MAAM,UAAwB;AACtB,YAAA,KAAK,MAAM;AACjB,aAAO,KAAK,MAAM;AAAA,IACpB;AAAA,EACF;;;;"}
|
package/dist/tinacms.mjs
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tinacms.mjs","sources":["../src/tinacms.ts"],"sourcesContent":["import { AbstractAuthProvider } from 'tinacms';\n\nimport type Clerk from '@clerk/clerk-js';\n\nexport class ClerkAuthProvider extends AbstractAuthProvider {\n clerk: Clerk;\n allowedList?: string[];\n orgId?: string;\n constructor({\n orgId,\n clerk,\n allowedList,\n }: {\n clerk: Clerk;\n /**\n * For premium Clerk users, you can use restrictions\n * https://clerk.com/docs/authentication/allowlist\n */\n allowedList?: string[];\n // Ensure the user is a member of the provided orgId\n orgId?: string;\n }) {\n super();\n this.clerk = clerk;\n\n this.allowedList = allowedList;\n this.orgId = orgId;\n }\n /**\n * Generates a short-lived token when Tina makes a request\n */\n async getToken() {\n await this.clerk.load();\n if (this.clerk.session) {\n return { id_token: await this.clerk.session.getToken() };\n }\n }\n\n async logout() {\n await this.clerk?.load();\n await this.clerk?.session?.remove();\n }\n async authenticate() {\n this.clerk.openSignIn({\n redirectUrl: '/admin/index.html', // This should be the Tina admin path\n appearance: {\n elements: {\n // Tina's sign in modal is in the way without this\n modalBackdrop: { zIndex: 20000 },\n // Some styles clash with Tina's styling\n socialButtonsBlockButton: 'px-4 py-2 border border-gray-100',\n formFieldInput: `px-4 py-2`,\n formButtonPrimary: 'bg-blue-600 text-white p-4',\n formFieldInputShowPasswordButton: 'm-2',\n dividerText: 'px-2',\n },\n },\n });\n }\n async authorize(context?: any): Promise<any> {\n await this.clerk.load();\n if (this.clerk.user) {\n if (\n this.allowedList &&\n !this.allowedList.includes(\n this.clerk.user.primaryEmailAddress.emailAddress\n )\n ) {\n // if there is an allowList, and the user is not in it, return false\n return false;\n }\n\n if (\n this.orgId &&\n !this.clerk.user.organizationMemberships.find(\n (x) => x.id === this.orgId\n )\n ) {\n // if there is an orgId, and the user is not in it, return false\n return false;\n }\n\n return true;\n }\n // Handle when a user is logged in outside of the org\n await this.clerk.session.end();\n return false;\n }\n\n async getUser(): Promise<any> {\n await this.clerk.load();\n return this.clerk.user;\n }\n}\n"],"names":[],"mappings":";AAIO,MAAM,0BAA0B,qBAAqB;AAAA,EAI1D,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EAAA,GAUC;AACK;AACN,SAAK,QAAQ;AAEb,SAAK,cAAc;AACnB,SAAK,QAAQ;AAAA,EACf;AAAA;AAAA;AAAA;AAAA,EAIA,MAAM,WAAW;AACT,UAAA,KAAK,MAAM;AACb,QAAA,KAAK,MAAM,SAAS;AACtB,aAAO,EAAE,UAAU,MAAM,KAAK,MAAM,QAAQ;IAC9C;AAAA,EACF;AAAA,EAEA,MAAM,SAAS;;AACP,YAAA,UAAK,UAAL,mBAAY;AACZ,YAAA,gBAAK,UAAL,mBAAY,YAAZ,mBAAqB;AAAA,EAC7B;AAAA,EACA,MAAM,eAAe;AACnB,SAAK,MAAM,WAAW;AAAA,MACpB,aAAa;AAAA;AAAA,MACb,YAAY;AAAA,QACV,UAAU;AAAA;AAAA,UAER,eAAe,EAAE,QAAQ,IAAM;AAAA;AAAA,UAE/B,0BAA0B;AAAA,UAC1B,gBAAgB;AAAA,UAChB,mBAAmB;AAAA,UACnB,kCAAkC;AAAA,UAClC,aAAa;AAAA,QACf;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EACH;AAAA,EACA,MAAM,UAAU,SAA6B;AACrC,UAAA,KAAK,MAAM;AACb,QAAA,KAAK,MAAM,MAAM;AACnB,UACE,KAAK,eACL,CAAC,KAAK,YAAY;AAAA,QAChB,KAAK,MAAM,KAAK,oBAAoB;AAAA,MAAA,GAEtC;AAEO,eAAA;AAAA,MACT;AAEA,UACE,KAAK,SACL,CAAC,KAAK,MAAM,KAAK,wBAAwB;AAAA,QACvC,CAAC,MAAM,EAAE,OAAO,KAAK;AAAA,MAAA,GAEvB;AAEO,eAAA;AAAA,MACT;AAEO,aAAA;AAAA,IACT;AAEM,UAAA,KAAK,MAAM,QAAQ,IAAI;AACtB,WAAA;AAAA,EACT;AAAA,EAEA,MAAM,UAAwB;AACtB,UAAA,KAAK,MAAM;AACjB,WAAO,KAAK,MAAM;AAAA,EACpB;AACF;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tinacms-clerk",
|
|
3
|
-
"version": "10.0.
|
|
3
|
+
"version": "10.0.7",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/index.mjs",
|
|
6
6
|
"files": [
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
"@types/node": "^22.13.1",
|
|
24
24
|
"typescript": "^5.7.3",
|
|
25
25
|
"@tinacms/scripts": "1.3.4",
|
|
26
|
-
"tinacms": "2.7.
|
|
26
|
+
"tinacms": "2.7.7"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
29
|
"@clerk/backend": "0.x",
|
|
30
30
|
"@clerk/clerk-js": "4.x",
|
|
31
|
-
"tinacms": "2.7.
|
|
31
|
+
"tinacms": "2.7.7"
|
|
32
32
|
},
|
|
33
33
|
"publishConfig": {
|
|
34
34
|
"registry": "https://registry.npmjs.org"
|