@crimson-education/replit-sdk 0.0.1 → 1.0.1-alpha-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.
package/Readme.md ADDED
@@ -0,0 +1,18 @@
1
+ Prompts from replit:
2
+
3
+ ````
4
+ we are going to embed the app on a iframe, so now you need to do all things one by one listed here:
5
+ 1. install and save package @crimson-education/replit-sdk@0.0.1
6
+ 2. call `useUrlParams` on the Root app component, like ```function App() {
7
+ useUrlParams();
8
+ return (
9
+ <QueryClientProvider client={queryClient}>
10
+ <TooltipProvider>
11
+ <Toaster />
12
+ <Router />
13
+ </TooltipProvider>
14
+ </QueryClientProvider>
15
+ );
16
+ }```
17
+ 3. use the ExternalLink component to replace all the <a> tag which has a external link.
18
+ ````
@@ -12,8 +12,8 @@ const bindApi = (app) => {
12
12
  details: parsed.error.issues,
13
13
  });
14
14
  }
15
- const { query, variables, graphqlEndpoint } = parsed.data;
16
- const authHeader = req.headers.authorization;
15
+ const { query, variables, graphqlEndpoint, token } = parsed.data;
16
+ const authHeader = token ? `Bearer ${token}` : req.headers.authorization;
17
17
  if (!authHeader) {
18
18
  return res.status(401).json({ error: 'Authorization header is required' });
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"expressRouter.js","sourceRoot":"","sources":["../../src/api/expressRouter.ts"],"names":[],"mappings":";;;AACA,iDAAoD;AAE7C,MAAM,OAAO,GAAG,CAAC,GAAY,EAAE,EAAE;IACtC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,iCAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,KAAK,EAAE,sBAAsB;oBAC7B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;YAC1D,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;YAE7C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;YAC7E,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE;gBAC5C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU;iBAC1B;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;aAC3C,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAE/D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACvG,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;oBACtE,KAAK,EAAE,4CAA4C;oBACnD,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,OAAO,EACL,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,4BAA4B;iBAC9G,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA/CW,QAAA,OAAO,WA+ClB"}
1
+ {"version":3,"file":"expressRouter.js","sourceRoot":"","sources":["../../src/api/expressRouter.ts"],"names":[],"mappings":";;;AACA,iDAAoD;AAE7C,MAAM,OAAO,GAAG,CAAC,GAAY,EAAE,EAAE;IACtC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,iCAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC1B,KAAK,EAAE,sBAAsB;oBAC7B,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;iBAC7B,CAAC,CAAC;YACL,CAAC;YAED,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;YACjE,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;YAEzE,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC,CAAC;YAC7E,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE;gBAC5C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU;iBAC1B;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;aAC3C,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAE/D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACvG,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;oBACtE,KAAK,EAAE,4CAA4C;oBACnD,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,OAAO,EACL,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,kDAAkD,CAAC,CAAC,CAAC,4BAA4B;iBAC9G,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA/CW,QAAA,OAAO,WA+ClB"}
@@ -4,5 +4,6 @@ export declare const graphqlProxySchema: z.ZodObject<{
4
4
  variables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
5
5
  env: z.ZodOptional<z.ZodString>;
6
6
  graphqlEndpoint: z.ZodString;
7
+ token: z.ZodOptional<z.ZodString>;
7
8
  }, z.core.$strip>;
8
9
  //# sourceMappingURL=graphqlProxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphqlProxy.d.ts","sourceRoot":"","sources":["../../src/api/graphqlProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC"}
1
+ {"version":3,"file":"graphqlProxy.d.ts","sourceRoot":"","sources":["../../src/api/graphqlProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,eAAO,MAAM,kBAAkB;;;;;;iBAM7B,CAAC"}
@@ -7,5 +7,6 @@ exports.graphqlProxySchema = zod_1.z.object({
7
7
  variables: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()).optional(),
8
8
  env: zod_1.z.string().optional(),
9
9
  graphqlEndpoint: zod_1.z.string(),
10
+ token: zod_1.z.string().optional(),
10
11
  });
11
12
  //# sourceMappingURL=graphqlProxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphqlProxy.js","sourceRoot":"","sources":["../../src/api/graphqlProxy.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACX,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;CAC5B,CAAC,CAAC"}
1
+ {"version":3,"file":"graphqlProxy.js","sourceRoot":"","sources":["../../src/api/graphqlProxy.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACX,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;IAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function apiRequest(query: string, variables: any, data?: Record<string, any> | null): Promise<Response>;
2
+ //# sourceMappingURL=queryClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryClient.d.ts","sourceRoot":"","sources":["../../src/utils/queryClient.ts"],"names":[],"mappings":"AASA,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAepH"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.apiRequest = apiRequest;
4
+ const use_url_params_1 = require("../hooks/use-url-params");
5
+ async function throwIfResNotOk(res) {
6
+ if (!res.ok) {
7
+ const text = (await res.text()) || res.statusText;
8
+ throw new Error(`${res.status}: ${text}`);
9
+ }
10
+ }
11
+ async function apiRequest(query, variables, data) {
12
+ const source = (data === null || data === void 0 ? void 0 : data.source) || 'capp';
13
+ const graphqlEndpoint = (0, use_url_params_1.getStoredParam)(`${source}Endpoint`);
14
+ const env = (0, use_url_params_1.getStoredEnv)();
15
+ const token = (0, use_url_params_1.getStoredToken)();
16
+ console.log({ token, graphqlEndpoint, env, query, variables });
17
+ const res = await fetch('/api/function', {
18
+ method: 'POST',
19
+ headers: { 'Content-Type': 'application/json' },
20
+ body: JSON.stringify({ ...(data || {}), token, graphqlEndpoint, env, query, variables }),
21
+ credentials: 'include',
22
+ });
23
+ await throwIfResNotOk(res);
24
+ return res;
25
+ }
26
+ //# sourceMappingURL=queryClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryClient.js","sourceRoot":"","sources":["../../src/utils/queryClient.ts"],"names":[],"mappings":";;AASA,gCAeC;AAxBD,4DAAuF;AAEvF,KAAK,UAAU,eAAe,CAAC,GAAa;IAC1C,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,KAAa,EAAE,SAAc,EAAE,IAAiC;IAC/F,MAAM,MAAM,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,MAAM,CAAC;IACtC,MAAM,eAAe,GAAG,IAAA,+BAAc,EAAC,GAAG,MAAM,UAAU,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,IAAA,6BAAY,GAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAA,+BAAc,GAAE,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE;QACvC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACxF,WAAW,EAAE,SAAS;KACvB,CAAC,CAAC;IAEH,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,11 @@
1
1
  {
2
2
  "name": "@crimson-education/replit-sdk",
3
- "version": "0.0.1",
3
+ "version": "1.0.1-alpha-1",
4
4
  "description": "SDK for Replit app integration",
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "license": "MIT",
5
9
  "main": "lib/index.js",
6
10
  "types": "lib/index.d.ts",
7
11
  "files": [
@@ -15,7 +19,6 @@
15
19
  "test": "npm run lint"
16
20
  },
17
21
  "author": "Crimson Education",
18
- "license": "UNLICENSED",
19
22
  "peerDependencies": {
20
23
  "react": "^18.0.0"
21
24
  },