sst 2.5.8 → 2.7.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/node/api/index.d.ts +1 -4
- package/node/api/index.js +8 -9
- package/node/auth/auth.js +2 -2
- package/node/auth/index.js +1 -2
- package/node/bucket/index.js +2 -3
- package/node/config/index.js +4 -4
- package/node/event-bus/index.js +3 -3
- package/node/function/index.js +3 -3
- package/node/future/auth/adapter/link.d.ts +1 -1
- package/node/future/auth/adapter/link.js +5 -3
- package/node/future/auth/handler.js +7 -2
- package/node/future/auth/index.js +2 -3
- package/node/future/auth/session.js +3 -1
- package/node/graphql/index.d.ts +11 -38
- package/node/graphql/index.js +21 -45
- package/node/job/index.js +10 -7
- package/node/kinesis-stream/index.js +3 -3
- package/node/queue/index.js +2 -3
- package/node/rds/index.js +2 -3
- package/node/site/index.js +18 -19
- package/node/table/index.js +4 -3
- package/node/topic/index.js +4 -3
- package/node/util/index.d.ts +1 -1
- package/node/util/index.js +4 -2
- package/package.json +4 -3
- package/support/base-site-archiver.mjs +12 -12
- package/support/bootstrap-metadata-function/index.mjs +1409 -1345
- package/support/bridge/bridge.mjs +35 -46
- package/support/custom-resources/index.mjs +6503 -6439
- package/support/job-invoker/index.mjs +907 -90
- package/support/rds-migrator/index.mjs +16 -16
- package/support/script-function/index.mjs +907 -90
- package/support/ssr-site-function-archiver.mjs +9 -9
package/node/api/index.d.ts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node/url.js" />
|
|
3
|
-
/// <reference types=".pnpm/@types+node@17.0.45/node_modules/@types/node/url.js" />
|
|
4
1
|
import { Handler } from "../../context/handler.js";
|
|
5
2
|
import { APIGatewayProxyStructuredResultV2 } from "aws-lambda";
|
|
6
3
|
export interface ApiResources {
|
|
@@ -31,7 +28,7 @@ export declare const useCookies: () => {
|
|
|
31
28
|
export declare function useCookie(name: string): string | undefined;
|
|
32
29
|
export declare const useBody: () => string | undefined;
|
|
33
30
|
export declare const useJsonBody: () => any;
|
|
34
|
-
export declare const useFormData: () =>
|
|
31
|
+
export declare const useFormData: () => URLSearchParams | undefined;
|
|
35
32
|
export declare const usePath: () => string[];
|
|
36
33
|
interface CookieOptions {
|
|
37
34
|
expires?: Date;
|
package/node/api/index.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { createProxy
|
|
1
|
+
import { createProxy } from "../util/index.js";
|
|
2
2
|
import { Context } from "../../context/context.js";
|
|
3
3
|
import { useEvent, Handler } from "../../context/handler.js";
|
|
4
|
-
export const Api = createProxy("Api");
|
|
5
|
-
export const AppSyncApi =
|
|
6
|
-
|
|
7
|
-
export const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Object.assign(WebSocketApi, getVariables("WebSocketApi"));
|
|
4
|
+
export const Api = /* @__PURE__ */ createProxy("Api");
|
|
5
|
+
export const AppSyncApi =
|
|
6
|
+
/* @__PURE__ */ createProxy("AppSyncApi");
|
|
7
|
+
export const ApiGatewayV1Api =
|
|
8
|
+
/* @__PURE__ */ createProxy("ApiGatewayV1Api");
|
|
9
|
+
export const WebSocketApi =
|
|
10
|
+
/* @__PURE__ */ createProxy("WebSocketApi");
|
|
12
11
|
/**
|
|
13
12
|
* Create a new api handler that can be used to create an authenticated session.
|
|
14
13
|
*
|
package/node/auth/auth.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getVariables2 } from "../util/index.js";
|
|
2
2
|
import { Handler } from "../../context/handler.js";
|
|
3
3
|
import { useDomainName, usePath } from "../api/index.js";
|
|
4
4
|
const className = "Auth";
|
|
5
5
|
// Each function can only be attached to one Auth construct, so we can
|
|
6
6
|
// assume there is only one entry in authData.
|
|
7
|
-
const authData =
|
|
7
|
+
const authData = getVariables2(className);
|
|
8
8
|
const authValues = Object.values(authData);
|
|
9
9
|
let prefix;
|
|
10
10
|
let publicKey;
|
package/node/auth/index.js
CHANGED
|
@@ -8,6 +8,5 @@ export * from "./adapter/github.js";
|
|
|
8
8
|
export * from "./adapter/oidc.js";
|
|
9
9
|
export * from "./adapter/oauth.js";
|
|
10
10
|
export * from "./adapter/link.js";
|
|
11
|
-
import { createProxy
|
|
11
|
+
import { createProxy } from "../util/index.js";
|
|
12
12
|
export const Auth = createProxy("Auth");
|
|
13
|
-
Object.assign(Auth, await getVariables("Auth"));
|
package/node/bucket/index.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { createProxy
|
|
2
|
-
export const Bucket = createProxy("Bucket");
|
|
3
|
-
Object.assign(Bucket, getVariables("Bucket"));
|
|
1
|
+
import { createProxy } from "../util/index.js";
|
|
2
|
+
export const Bucket = /* @__PURE__ */ createProxy("Bucket");
|
package/node/config/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { createProxy,
|
|
2
|
-
export const Config = createProxy("Config");
|
|
1
|
+
import { createProxy, getVariables2 } from "../util/index.js";
|
|
2
|
+
export const Config = /* @__PURE__ */ createProxy("Config");
|
|
3
3
|
const metadata = parseMetadataEnvironment();
|
|
4
|
-
const parameters = flattenValues(
|
|
5
|
-
const secrets = flattenValues(
|
|
4
|
+
const parameters = flattenValues(getVariables2("Parameter"));
|
|
5
|
+
const secrets = flattenValues(getVariables2("Secret"));
|
|
6
6
|
Object.assign(Config, metadata, parameters, secrets);
|
|
7
7
|
///////////////
|
|
8
8
|
// Functions
|
package/node/event-bus/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { createProxy
|
|
2
|
-
export const EventBus =
|
|
3
|
-
|
|
1
|
+
import { createProxy } from "../util/index.js";
|
|
2
|
+
export const EventBus =
|
|
3
|
+
/* @__PURE__ */ createProxy("EventBus");
|
package/node/function/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { createProxy
|
|
2
|
-
export const Function =
|
|
3
|
-
|
|
1
|
+
import { createProxy } from "../util/index.js";
|
|
2
|
+
export const Function =
|
|
3
|
+
/* @__PURE__ */ createProxy("Function");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { APIGatewayProxyStructuredResultV2 } from "aws-lambda";
|
|
2
2
|
export declare function LinkAdapter(config: {
|
|
3
3
|
onLink: (link: string, claims: Record<string, any>) => Promise<APIGatewayProxyStructuredResultV2>;
|
|
4
|
-
onError: () => Promise<APIGatewayProxyStructuredResultV2>;
|
|
4
|
+
onError: (error: any) => Promise<APIGatewayProxyStructuredResultV2>;
|
|
5
5
|
}): () => Promise<{
|
|
6
6
|
type: "step";
|
|
7
7
|
properties: APIGatewayProxyStructuredResultV2;
|
|
@@ -4,6 +4,8 @@ import { useDomainName, usePathParam, useQueryParam, useQueryParams, } from "../
|
|
|
4
4
|
export function LinkAdapter(config) {
|
|
5
5
|
// @ts-expect-error
|
|
6
6
|
const key = Config[process.env.AUTH_ID + "PrivateKey"];
|
|
7
|
+
// @ts-expect-error
|
|
8
|
+
const publicKey = Config[process.env.AUTH_ID + "PublicKey"];
|
|
7
9
|
const signer = createSigner({
|
|
8
10
|
expiresIn: 1000 * 60 * 10,
|
|
9
11
|
key,
|
|
@@ -28,7 +30,7 @@ export function LinkAdapter(config) {
|
|
|
28
30
|
try {
|
|
29
31
|
const verifier = createVerifier({
|
|
30
32
|
algorithms: ["RS512"],
|
|
31
|
-
key,
|
|
33
|
+
key: publicKey,
|
|
32
34
|
});
|
|
33
35
|
const jwt = verifier(token);
|
|
34
36
|
return {
|
|
@@ -36,10 +38,10 @@ export function LinkAdapter(config) {
|
|
|
36
38
|
properties: jwt,
|
|
37
39
|
};
|
|
38
40
|
}
|
|
39
|
-
catch {
|
|
41
|
+
catch (ex) {
|
|
40
42
|
return {
|
|
41
43
|
type: "step",
|
|
42
|
-
properties: await config.onError(),
|
|
44
|
+
properties: await config.onError(ex),
|
|
43
45
|
};
|
|
44
46
|
}
|
|
45
47
|
}
|
|
@@ -167,10 +167,12 @@ export function AuthHandler(input) {
|
|
|
167
167
|
...useQueryParams(),
|
|
168
168
|
};
|
|
169
169
|
if (response_type === "token") {
|
|
170
|
+
const location = new URL(redirect_uri);
|
|
171
|
+
location.hash = `access_token=${token}&state=${state || ""}`;
|
|
170
172
|
return {
|
|
171
173
|
statusCode: 302,
|
|
172
174
|
headers: {
|
|
173
|
-
Location:
|
|
175
|
+
Location: location.href,
|
|
174
176
|
},
|
|
175
177
|
};
|
|
176
178
|
}
|
|
@@ -187,10 +189,13 @@ export function AuthHandler(input) {
|
|
|
187
189
|
redirect_uri,
|
|
188
190
|
token: token,
|
|
189
191
|
});
|
|
192
|
+
const location = new URL(redirect_uri);
|
|
193
|
+
location.searchParams.set("code", code);
|
|
194
|
+
location.searchParams.set("state", state || "");
|
|
190
195
|
return {
|
|
191
196
|
statusCode: 302,
|
|
192
197
|
headers: {
|
|
193
|
-
Location:
|
|
198
|
+
Location: location.href,
|
|
194
199
|
},
|
|
195
200
|
};
|
|
196
201
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { createProxy
|
|
2
|
-
export const Auth = createProxy("Auth");
|
|
3
|
-
Object.assign(Auth, getVariables("Auth"));
|
|
1
|
+
import { createProxy } from "../../util/index.js";
|
|
2
|
+
export const Auth = /* @__PURE__ */ createProxy("Auth");
|
|
4
3
|
export * from "./adapter/oidc.js";
|
|
5
4
|
export * from "./adapter/google.js";
|
|
6
5
|
export * from "./adapter/link.js";
|
package/node/graphql/index.d.ts
CHANGED
|
@@ -1,42 +1,15 @@
|
|
|
1
|
-
import { Context } from "aws-lambda";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
formatPayload?: (params: FormatPayloadParams<C, any>) => any;
|
|
10
|
-
/**
|
|
11
|
-
* This function specifies the ctx object passed to the GraphQL resolver. This is usually not needed
|
|
12
|
-
*/
|
|
13
|
-
context?: (request: {
|
|
14
|
-
event: APIGatewayProxyEventV2;
|
|
15
|
-
context: Context;
|
|
16
|
-
execution: ExecutionContext;
|
|
17
|
-
}) => Promise<C>;
|
|
18
|
-
/**
|
|
19
|
-
* The GraphQL schema to be executed
|
|
20
|
-
*/
|
|
21
|
-
schema: GraphQLSchema;
|
|
22
|
-
/**
|
|
23
|
-
* Override the GraphQL execute function, sometimes used by plugins
|
|
24
|
-
*/
|
|
25
|
-
execute?: ProcessRequestOptions<any, any>["execute"];
|
|
26
|
-
/**
|
|
27
|
-
* Disable introspection for production
|
|
28
|
-
*/
|
|
29
|
-
disableIntrospection?: boolean;
|
|
30
|
-
}
|
|
31
|
-
export declare function GraphQLHandler<C>(config: GraphQLHandlerConfig<C>): (event: APIGatewayProxyEventV2, context: Context) => Promise<{
|
|
32
|
-
statusCode: any;
|
|
33
|
-
body: string;
|
|
1
|
+
import { APIGatewayProxyEventV2, Context } from "aws-lambda";
|
|
2
|
+
import { YogaServerOptions } from "graphql-yoga";
|
|
3
|
+
type ServerContext = {
|
|
4
|
+
event: APIGatewayProxyEventV2;
|
|
5
|
+
context: Context;
|
|
6
|
+
};
|
|
7
|
+
export declare function GraphQLHandler<UserContext extends {}>(options: YogaServerOptions<ServerContext, UserContext>): (event: APIGatewayProxyEventV2, context: Context) => Promise<{
|
|
8
|
+
statusCode: number;
|
|
34
9
|
headers: {
|
|
35
|
-
[k: string]:
|
|
10
|
+
[k: string]: string;
|
|
36
11
|
};
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
body?: undefined;
|
|
40
|
-
headers?: undefined;
|
|
12
|
+
body: string;
|
|
13
|
+
isBase64Encoded: boolean;
|
|
41
14
|
}>;
|
|
42
15
|
export {};
|
package/node/graphql/index.js
CHANGED
|
@@ -1,53 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { getGraphQLParameters, processRequest,
|
|
3
|
-
// @ts-expect-error
|
|
4
|
-
} from "graphql-helix";
|
|
1
|
+
import { createYoga } from "graphql-yoga";
|
|
5
2
|
import { Handler, useEvent, useLambdaContext } from "../../context/handler.js";
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
export function GraphQLHandler(options) {
|
|
4
|
+
const yoga = createYoga(options);
|
|
8
5
|
return Handler("api", async () => {
|
|
6
|
+
const event = useEvent("api");
|
|
7
|
+
const parameters = new URLSearchParams(event.queryStringParameters || {}).toString();
|
|
8
|
+
const url = `${event.rawPath}?${parameters}`;
|
|
9
9
|
const request = {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
method: event.requestContext.http.method,
|
|
11
|
+
headers: event.headers,
|
|
12
|
+
body: event.body
|
|
13
|
+
? Buffer.from(event.body, event.isBase64Encoded ? "base64" : "utf8")
|
|
14
|
+
: undefined,
|
|
14
15
|
};
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
query,
|
|
22
|
-
variables,
|
|
23
|
-
request,
|
|
24
|
-
validationRules,
|
|
25
|
-
execute: config.execute,
|
|
26
|
-
schema: config.schema,
|
|
27
|
-
formatPayload: config.formatPayload,
|
|
28
|
-
// @ts-expect-error
|
|
29
|
-
contextFactory: async (execution) => {
|
|
30
|
-
if (config.context) {
|
|
31
|
-
return config.context({
|
|
32
|
-
event: useEvent("api"),
|
|
33
|
-
context: useLambdaContext(),
|
|
34
|
-
execution,
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
return;
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
if (result.type === "RESPONSE") {
|
|
41
|
-
return {
|
|
42
|
-
statusCode: result.status,
|
|
43
|
-
body: JSON.stringify(result.payload),
|
|
44
|
-
headers: Object.fromEntries(
|
|
45
|
-
// @ts-expect-error
|
|
46
|
-
result.headers.map((h) => [h.name, h.value])),
|
|
47
|
-
};
|
|
48
|
-
}
|
|
16
|
+
const serverContext = {
|
|
17
|
+
event,
|
|
18
|
+
context: useLambdaContext(),
|
|
19
|
+
};
|
|
20
|
+
const response = await yoga.fetch(url, request, serverContext);
|
|
21
|
+
const responseHeaders = Object.fromEntries(response.headers.entries());
|
|
49
22
|
return {
|
|
50
|
-
statusCode:
|
|
23
|
+
statusCode: response.status,
|
|
24
|
+
headers: responseHeaders,
|
|
25
|
+
body: await response.text(),
|
|
26
|
+
isBase64Encoded: false,
|
|
51
27
|
};
|
|
52
28
|
});
|
|
53
29
|
}
|
package/node/job/index.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { createProxy,
|
|
1
|
+
import { createProxy, getVariables2 } from "../util/index.js";
|
|
2
2
|
import { InvokeCommand, LambdaClient } from "@aws-sdk/client-lambda";
|
|
3
3
|
const lambda = new LambdaClient({});
|
|
4
|
-
export const Job =
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
export const Job = /* @__PURE__ */ (() => {
|
|
5
|
+
const result = createProxy("Job");
|
|
6
|
+
const vars = getVariables2("Job");
|
|
7
|
+
Object.keys(vars).forEach((name) => {
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
result[name] = JobControl(name);
|
|
10
|
+
});
|
|
11
|
+
return result;
|
|
12
|
+
})();
|
|
10
13
|
function JobControl(name) {
|
|
11
14
|
return {
|
|
12
15
|
async run(props) {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { createProxy
|
|
2
|
-
export const KinesisStream =
|
|
3
|
-
|
|
1
|
+
import { createProxy } from "../util/index.js";
|
|
2
|
+
export const KinesisStream =
|
|
3
|
+
/* @__PURE__ */ createProxy("KinesisStream");
|
package/node/queue/index.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { createProxy
|
|
2
|
-
export const Queue = createProxy("Queue");
|
|
3
|
-
Object.assign(Queue, getVariables("Queue"));
|
|
1
|
+
import { createProxy } from "../util/index.js";
|
|
2
|
+
export const Queue = /* @__PURE__ */ createProxy("Queue");
|
package/node/rds/index.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import { createProxy
|
|
2
|
-
export const RDS = createProxy("RDS");
|
|
3
|
-
Object.assign(RDS, getVariables("RDS"));
|
|
1
|
+
import { createProxy } from "../util/index.js";
|
|
2
|
+
export const RDS = /* @__PURE__ */ createProxy("RDS");
|
package/node/site/index.js
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { createProxy
|
|
2
|
-
export const StaticSite =
|
|
3
|
-
|
|
4
|
-
export const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
Object.assign(SolidStartSite, solidStartSiteData);
|
|
1
|
+
import { createProxy } from "../util/index.js";
|
|
2
|
+
export const StaticSite =
|
|
3
|
+
/* @__PURE__ */ createProxy("StaticSite");
|
|
4
|
+
export const ReactStaticSite =
|
|
5
|
+
/* @__PURE__ */
|
|
6
|
+
createProxy("ReactStaticSite");
|
|
7
|
+
export const ViteStaticSite =
|
|
8
|
+
/* @__PURE__ */
|
|
9
|
+
createProxy("ViteStaticSite");
|
|
10
|
+
export const RemixSite =
|
|
11
|
+
/* @__PURE__ */
|
|
12
|
+
createProxy("RemixSite");
|
|
13
|
+
export const NextjsSite =
|
|
14
|
+
/* @__PURE__ */
|
|
15
|
+
createProxy("NextjsSite");
|
|
16
|
+
export const SolidStartSite =
|
|
17
|
+
/* @__PURE__ */
|
|
18
|
+
createProxy("SolidStartSite");
|
package/node/table/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { createProxy
|
|
2
|
-
export const Table =
|
|
3
|
-
|
|
1
|
+
import { createProxy } from "../util/index.js";
|
|
2
|
+
export const Table =
|
|
3
|
+
/* @__PURE__ */
|
|
4
|
+
createProxy("Table");
|
package/node/topic/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { createProxy
|
|
2
|
-
export const Topic =
|
|
3
|
-
|
|
1
|
+
import { createProxy } from "../util/index.js";
|
|
2
|
+
export const Topic =
|
|
3
|
+
/* @__PURE__ */
|
|
4
|
+
createProxy("Topic");
|
package/node/util/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare function createProxy<T extends object>(constructName: string): T;
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function getVariables2(constructName: string): Record<string, Record<string, string>>;
|
package/node/util/index.js
CHANGED
|
@@ -14,7 +14,7 @@ let allVariables = {};
|
|
|
14
14
|
// https://discord.com/channels/983865673656705025/1089184080534446110
|
|
15
15
|
const _placeholder = await parseEnvironment();
|
|
16
16
|
export function createProxy(constructName) {
|
|
17
|
-
|
|
17
|
+
const result = new Proxy({}, {
|
|
18
18
|
get(target, prop) {
|
|
19
19
|
if (typeof prop === "string") {
|
|
20
20
|
// normalize prop to convert kebab cases like `my-table` to `my_table`
|
|
@@ -27,8 +27,10 @@ export function createProxy(constructName) {
|
|
|
27
27
|
return Reflect.get(target, prop);
|
|
28
28
|
},
|
|
29
29
|
});
|
|
30
|
+
Object.assign(result, getVariables2(constructName));
|
|
31
|
+
return result;
|
|
30
32
|
}
|
|
31
|
-
export function
|
|
33
|
+
export function getVariables2(constructName) {
|
|
32
34
|
return allVariables[constructName] || {};
|
|
33
35
|
}
|
|
34
36
|
async function parseEnvironment() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
+
"sideEffects": false,
|
|
2
3
|
"name": "sst",
|
|
3
|
-
"version": "2.
|
|
4
|
+
"version": "2.7.0",
|
|
4
5
|
"bin": {
|
|
5
6
|
"sst": "cli/sst.js"
|
|
6
7
|
},
|
|
@@ -9,7 +10,7 @@
|
|
|
9
10
|
"license": "MIT",
|
|
10
11
|
"repository": {
|
|
11
12
|
"type": "git",
|
|
12
|
-
"url": "git+https://github.com/serverless-stack
|
|
13
|
+
"url": "git+https://github.com/estyrke/serverless-stack.git",
|
|
13
14
|
"directory": "packages/cli"
|
|
14
15
|
},
|
|
15
16
|
"exports": {
|
|
@@ -67,7 +68,7 @@
|
|
|
67
68
|
"get-port": "^6.1.2",
|
|
68
69
|
"glob": "^8.0.3",
|
|
69
70
|
"graphql": "*",
|
|
70
|
-
"graphql-
|
|
71
|
+
"graphql-yoga": "^3.9.0",
|
|
71
72
|
"immer": "9",
|
|
72
73
|
"ink": "^4.0.0",
|
|
73
74
|
"ink-spinner": "^5.0.0",
|