@nexoory/gssp 1.0.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/README.md ADDED
@@ -0,0 +1,227 @@
1
+ # gssp
2
+
3
+ Helper for working with `getServerSideProps` in Next.js. It lets you extend the standard execution context and compose several `getServerSideProps`-compatible functions into a single chain.
4
+
5
+ ## Usage
6
+
7
+ ### Extended context
8
+
9
+ You can extend the execution context with any fields you need. If you omit `createContext`, the standard Next.js context is used as-is.
10
+
11
+ ```ts
12
+ import createGssp from 'gssp';
13
+
14
+ // Build a gssp instance with your own context shape
15
+ const myGssp = createGssp({
16
+ createContext: ctx => {
17
+ const extendedContext = {
18
+ ...ctx,
19
+ customField: 'My custom field',
20
+ customMethod: () => {
21
+ console.log('My custom method');
22
+ },
23
+ };
24
+
25
+ return extendedContext;
26
+ },
27
+ });
28
+
29
+ // Use it on pages — the extended context is typed end-to-end
30
+ export const getServerSideProps = myGssp(async ctx => {
31
+ ctx.customField;
32
+ ctx.customMethod();
33
+
34
+ return {
35
+ props: {},
36
+ };
37
+ });
38
+ ```
39
+
40
+ ### Chaining functions
41
+
42
+ You can chain up to 10 functions. Their `props` are merged into one object (later keys override earlier ones).
43
+
44
+ ```tsx
45
+ // All units’ props are merged into a single `props` object for the page
46
+ export const getServerSideProps = myGssp(
47
+ async () => ({
48
+ props: {
49
+ productName: 'Toaster',
50
+ },
51
+ }),
52
+ async () => ({
53
+ props: {
54
+ productPrice: 999.99,
55
+ },
56
+ }),
57
+ async () => ({
58
+ props: {
59
+ sale: true,
60
+ productPrice: 777.77, // overrides the previous productPrice
61
+ },
62
+ }),
63
+ );
64
+
65
+ type PageProps = {
66
+ productName: string;
67
+ productPrice: number;
68
+ sale: boolean;
69
+ };
70
+
71
+ const Page = (props: PageProps) => (
72
+ <div>
73
+ <h1>{props.productName}</h1>
74
+ <span>{props.productPrice}</span>
75
+ {props.sale && <span>Sale!</span>}
76
+ </div>
77
+ );
78
+
79
+ export default Page;
80
+ ```
81
+
82
+ ### Accessing previous units’ results
83
+
84
+ Each function after the first receives `prevProps`: the merged `props` from all earlier functions in the chain.
85
+
86
+ ```ts
87
+ export const getServerSideProps = myGssp(
88
+ async () => ({
89
+ props: {
90
+ firstFunctionResult: 'first',
91
+ },
92
+ }),
93
+ async ctx => {
94
+ const { prevProps } = ctx;
95
+
96
+ console.log(prevProps.firstFunctionResult);
97
+
98
+ return {
99
+ props: {
100
+ secondFunctionResult: 'second',
101
+ },
102
+ };
103
+ },
104
+ async ctx => {
105
+ const { prevProps } = ctx;
106
+
107
+ console.log(prevProps.firstFunctionResult);
108
+ console.log(prevProps.secondFunctionResult);
109
+
110
+ return {
111
+ props: {},
112
+ };
113
+ },
114
+ );
115
+ ```
116
+
117
+ ### Short-circuit: `notFound` and `redirect`
118
+
119
+ If any unit returns `notFound` or `redirect`, that result is returned immediately and the rest of the chain does not run.
120
+
121
+ ```ts
122
+ export const getServerSideProps = myGssp(
123
+ async () => ({
124
+ // These props are not part of the final page props when a later unit returns `notFound`
125
+ props: {
126
+ firstFunctionResult: 'first',
127
+ },
128
+ }),
129
+ async () => ({
130
+ // Only this unit’s outcome is returned — execution stops here
131
+ notFound: true,
132
+ }),
133
+ async () => ({
134
+ // This unit never runs
135
+ props: {},
136
+ }),
137
+ );
138
+ ```
139
+
140
+ ### Typing
141
+
142
+ Use the exported types to type standalone units, chained units, and your custom context.
143
+
144
+ ```ts
145
+ import type { GetServerSideProps } from 'next';
146
+ import createGssp, {
147
+ type GSSPChainedUnit,
148
+ type GSSPStandaloneUnit,
149
+ } from 'gssp';
150
+
151
+ // Shape of your extended context
152
+ interface MyCustomExtendedContext {
153
+ someCustomData: boolean;
154
+ }
155
+
156
+ const customGssp = createGssp<MyCustomExtendedContext>({
157
+ createContext: ctx => ({ ...ctx, someCustomData: true }),
158
+ });
159
+
160
+ // --- Classic `GetServerSideProps` (shown for compatibility with plain handlers)
161
+
162
+ const someClassicGetServerSidePropsFunction: GetServerSideProps<{
163
+ classicData: string;
164
+ }> = async () => ({
165
+ props: {
166
+ classicData: 'classic',
167
+ },
168
+ });
169
+
170
+ // --- Standalone unit: depends only on context (`GSSPStandaloneUnit`)
171
+
172
+ interface ProductPriceProps {
173
+ price: number;
174
+ sale: boolean;
175
+ }
176
+
177
+ const getProductPrice: GSSPStandaloneUnit<
178
+ ProductPriceProps,
179
+ MyCustomExtendedContext
180
+ > = async ctx => ({
181
+ props: {
182
+ price: 999,
183
+ sale: ctx.someCustomData,
184
+ },
185
+ });
186
+
187
+ // --- Chained unit: depends on previous props (`GSSPChainedUnit`)
188
+
189
+ interface ProductFinalPriceProps {
190
+ actualPrice: number;
191
+ }
192
+
193
+ const getFinalProductPrice: GSSPChainedUnit<
194
+ ProductPriceProps,
195
+ ProductFinalPriceProps,
196
+ MyCustomExtendedContext
197
+ > = async ctx => {
198
+ const { prevProps } = ctx;
199
+
200
+ return {
201
+ props: {
202
+ actualPrice: prevProps.sale ? prevProps.price - 100 : prevProps.price,
203
+ },
204
+ };
205
+ };
206
+
207
+ // --- Compose classic + custom units in one chain
208
+
209
+ export const getServerSideProps = customGssp(
210
+ someClassicGetServerSidePropsFunction,
211
+ getProductPrice,
212
+ getFinalProductPrice,
213
+ );
214
+
215
+ // Wrong order: TypeScript error — `getFinalProductPrice` needs `getProductPrice`’s props first
216
+ // export const getServerSideProps = customGssp(
217
+ // someClassicGetServerSidePropsFunction,
218
+ // getFinalProductPrice,
219
+ // getProductPrice,
220
+ // );
221
+ ```
222
+
223
+ ### Other options
224
+
225
+ - **`errorHandler`** — optional callback invoked when a unit throws; the error is rethrown afterward.
226
+
227
+ See tests in `src/gssp.test.ts` for behavior details.
package/dist/gssp.d.ts ADDED
@@ -0,0 +1,162 @@
1
+ import { GetServerSideProps, GetServerSidePropsContext, GetServerSidePropsResult, PreviewData } from 'next';
2
+ import { ParsedUrlQuery } from 'querystring';
3
+ export interface CreateGSSPOptions<Context extends {
4
+ [key: string]: any;
5
+ }, Params extends ParsedUrlQuery = ParsedUrlQuery, Preview extends PreviewData = PreviewData> {
6
+ createContext?: (ctx: GetServerSidePropsContext<Params, Preview>) => (GetServerSidePropsContext<Params, Preview> & Context) | Promise<GetServerSidePropsContext<Params, Preview> & Context>;
7
+ errorHandler?: (error: unknown) => void;
8
+ }
9
+ export type GSSPStandaloneUnit<Props extends {
10
+ [key: string]: any;
11
+ }, Context extends {
12
+ [key: string]: any;
13
+ } = {
14
+ [key: string]: any;
15
+ }, Params extends ParsedUrlQuery = ParsedUrlQuery, Preview extends PreviewData = PreviewData> = (ctx: GetServerSidePropsContext<Params, Preview> & Context) => Promise<GetServerSidePropsResult<Props>>;
16
+ export type GSSPChainedUnit<PrevProps extends {
17
+ [key: string]: any;
18
+ }, Props extends {
19
+ [key: string]: any;
20
+ }, Context extends {
21
+ [key: string]: any;
22
+ } = {
23
+ [key: string]: any;
24
+ }, Params extends ParsedUrlQuery = ParsedUrlQuery, Preview extends PreviewData = PreviewData> = (ctx: GetServerSidePropsContext<Params, Preview> & Context & {
25
+ prevProps: PrevProps;
26
+ }) => Promise<GetServerSidePropsResult<Props>>;
27
+ export type GSSPUnit<PrevProps extends {
28
+ [key: string]: any;
29
+ }, Props extends {
30
+ [key: string]: any;
31
+ }, Context extends {
32
+ [key: string]: any;
33
+ } = {
34
+ [key: string]: any;
35
+ }, Params extends ParsedUrlQuery = ParsedUrlQuery, Preview extends PreviewData = PreviewData> = GSSPStandaloneUnit<Props, Context, Params, Preview> | GSSPChainedUnit<PrevProps, Props, Context, Params, Preview>;
36
+ declare const createGssp: <Context extends {
37
+ [key: string]: any;
38
+ }, Params extends ParsedUrlQuery = ParsedUrlQuery, Preview extends PreviewData = PreviewData>(options?: CreateGSSPOptions<Context, Params, Preview>) => {
39
+ (): GetServerSideProps<{}, Params, Preview>;
40
+ <A extends {
41
+ [key: string]: any;
42
+ }>(a: GSSPStandaloneUnit<A, Context, Params, Preview>): GetServerSideProps<A, Params, Preview>;
43
+ <A extends {
44
+ [key: string]: any;
45
+ }, B extends {
46
+ [key: string]: any;
47
+ }>(a: GSSPStandaloneUnit<A, Context, Params, Preview>, b: GSSPChainedUnit<A, B, Context, Params, Preview>): GetServerSideProps<A & B, Params, Preview>;
48
+ <A extends {
49
+ [key: string]: any;
50
+ }, B_1 extends {
51
+ [key: string]: any;
52
+ }, C extends {
53
+ [key: string]: any;
54
+ }>(a: GSSPStandaloneUnit<A, Context, Params, Preview>, b: GSSPChainedUnit<A, B_1, Context, Params, Preview>, c: GSSPChainedUnit<A & B_1, C, Context, Params, Preview>): GetServerSideProps<A & B_1 & C, Params, Preview>;
55
+ <A extends {
56
+ [key: string]: any;
57
+ }, B_2 extends {
58
+ [key: string]: any;
59
+ }, C_1 extends {
60
+ [key: string]: any;
61
+ }, D extends {
62
+ [key: string]: any;
63
+ }>(a: GSSPStandaloneUnit<A, Context, Params, Preview>, b: GSSPChainedUnit<A, B_2, Context, Params, Preview>, c: GSSPChainedUnit<A & B_2, C_1, Context, Params, Preview>, d: GSSPChainedUnit<A & B_2 & C_1, D, Context, Params, Preview>): GetServerSideProps<A & B_2 & C_1 & D, Params, Preview>;
64
+ <A extends {
65
+ [key: string]: any;
66
+ }, B_3 extends {
67
+ [key: string]: any;
68
+ }, C_2 extends {
69
+ [key: string]: any;
70
+ }, D_1 extends {
71
+ [key: string]: any;
72
+ }, E extends {
73
+ [key: string]: any;
74
+ }>(a: GSSPStandaloneUnit<A, Context, Params, Preview>, b: GSSPChainedUnit<A, B_3, Context, Params, Preview>, c: GSSPChainedUnit<A & B_3, C_2, Context, Params, Preview>, d: GSSPChainedUnit<A & B_3 & C_2, D_1, Context, Params, Preview>, e: GSSPChainedUnit<A & B_3 & C_2 & D_1, E, Context, Params, Preview>): GetServerSideProps<A & B_3 & C_2 & D_1 & E, Params, Preview>;
75
+ <A extends {
76
+ [key: string]: any;
77
+ }, B_4 extends {
78
+ [key: string]: any;
79
+ }, C_3 extends {
80
+ [key: string]: any;
81
+ }, D_2 extends {
82
+ [key: string]: any;
83
+ }, E_1 extends {
84
+ [key: string]: any;
85
+ }, F extends {
86
+ [key: string]: any;
87
+ }>(a: GSSPStandaloneUnit<A, Context, Params, Preview>, b: GSSPChainedUnit<A, B_4, Context, Params, Preview>, c: GSSPChainedUnit<A & B_4, C_3, Context, Params, Preview>, d: GSSPChainedUnit<A & B_4 & C_3, D_2, Context, Params, Preview>, e: GSSPChainedUnit<A & B_4 & C_3 & D_2, E_1, Context, Params, Preview>, f: GSSPChainedUnit<A & B_4 & C_3 & D_2 & E_1, F, Context, Params, Preview>): GetServerSideProps<A & B_4 & C_3 & D_2 & E_1 & F, Params, Preview>;
88
+ <A extends {
89
+ [key: string]: any;
90
+ }, B_5 extends {
91
+ [key: string]: any;
92
+ }, C_4 extends {
93
+ [key: string]: any;
94
+ }, D_3 extends {
95
+ [key: string]: any;
96
+ }, E_2 extends {
97
+ [key: string]: any;
98
+ }, F_1 extends {
99
+ [key: string]: any;
100
+ }, G extends {
101
+ [key: string]: any;
102
+ }>(a: GSSPStandaloneUnit<A, Context, Params, Preview>, b: GSSPChainedUnit<A, B_5, Context, Params, Preview>, c: GSSPChainedUnit<A & B_5, C_4, Context, Params, Preview>, d: GSSPChainedUnit<A & B_5 & C_4, D_3, Context, Params, Preview>, e: GSSPChainedUnit<A & B_5 & C_4 & D_3, E_2, Context, Params, Preview>, f: GSSPChainedUnit<A & B_5 & C_4 & D_3 & E_2, F_1, Context, Params, Preview>, g: GSSPChainedUnit<A & B_5 & C_4 & D_3 & E_2 & F_1, G, Context, Params, Preview>): GetServerSideProps<A & B_5 & C_4 & D_3 & E_2 & F_1 & G, Params, Preview>;
103
+ <A extends {
104
+ [key: string]: any;
105
+ }, B_6 extends {
106
+ [key: string]: any;
107
+ }, C_5 extends {
108
+ [key: string]: any;
109
+ }, D_4 extends {
110
+ [key: string]: any;
111
+ }, E_3 extends {
112
+ [key: string]: any;
113
+ }, F_2 extends {
114
+ [key: string]: any;
115
+ }, G_1 extends {
116
+ [key: string]: any;
117
+ }, H extends {
118
+ [key: string]: any;
119
+ }>(a: GSSPStandaloneUnit<A, Context, Params, Preview>, b: GSSPChainedUnit<A, B_6, Context, Params, Preview>, c: GSSPChainedUnit<A & B_6, C_5, Context, Params, Preview>, d: GSSPChainedUnit<A & B_6 & C_5, D_4, Context, Params, Preview>, e: GSSPChainedUnit<A & B_6 & C_5 & D_4, E_3, Context, Params, Preview>, f: GSSPChainedUnit<A & B_6 & C_5 & D_4 & E_3, F_2, Context, Params, Preview>, g: GSSPChainedUnit<A & B_6 & C_5 & D_4 & E_3 & F_2, G_1, Context, Params, Preview>, h: GSSPChainedUnit<A & B_6 & C_5 & D_4 & E_3 & F_2 & G_1, H, Context, Params, Preview>): GetServerSideProps<A & B_6 & C_5 & D_4 & E_3 & F_2 & G_1 & H, Params, Preview>;
120
+ <A extends {
121
+ [key: string]: any;
122
+ }, B_7 extends {
123
+ [key: string]: any;
124
+ }, C_6 extends {
125
+ [key: string]: any;
126
+ }, D_5 extends {
127
+ [key: string]: any;
128
+ }, E_4 extends {
129
+ [key: string]: any;
130
+ }, F_3 extends {
131
+ [key: string]: any;
132
+ }, G_2 extends {
133
+ [key: string]: any;
134
+ }, H_1 extends {
135
+ [key: string]: any;
136
+ }, I extends {
137
+ [key: string]: any;
138
+ }>(a: GSSPStandaloneUnit<A, Context, Params, Preview>, b: GSSPChainedUnit<A, B_7, Context, Params, Preview>, c: GSSPChainedUnit<A & B_7, C_6, Context, Params, Preview>, d: GSSPChainedUnit<A & B_7 & C_6, D_5, Context, Params, Preview>, e: GSSPChainedUnit<A & B_7 & C_6 & D_5, E_4, Context, Params, Preview>, f: GSSPChainedUnit<A & B_7 & C_6 & D_5 & E_4, F_3, Context, Params, Preview>, g: GSSPChainedUnit<A & B_7 & C_6 & D_5 & E_4 & F_3, G_2, Context, Params, Preview>, h: GSSPChainedUnit<A & B_7 & C_6 & D_5 & E_4 & F_3 & G_2, H_1, Context, Params, Preview>, i: GSSPChainedUnit<A & B_7 & C_6 & D_5 & E_4 & F_3 & G_2 & H_1, I, Context, Params, Preview>): GetServerSideProps<A & B_7 & C_6 & D_5 & E_4 & F_3 & G_2 & H_1 & I, Params, Preview>;
139
+ <A extends {
140
+ [key: string]: any;
141
+ }, B_8 extends {
142
+ [key: string]: any;
143
+ }, C_7 extends {
144
+ [key: string]: any;
145
+ }, D_6 extends {
146
+ [key: string]: any;
147
+ }, E_5 extends {
148
+ [key: string]: any;
149
+ }, F_4 extends {
150
+ [key: string]: any;
151
+ }, G_3 extends {
152
+ [key: string]: any;
153
+ }, H_2 extends {
154
+ [key: string]: any;
155
+ }, I_1 extends {
156
+ [key: string]: any;
157
+ }, J extends {
158
+ [key: string]: any;
159
+ }>(a: GSSPStandaloneUnit<A, Context, Params, Preview>, b: GSSPChainedUnit<A, B_8, Context, Params, Preview>, c: GSSPChainedUnit<A & B_8, C_7, Context, Params, Preview>, d: GSSPChainedUnit<A & B_8 & C_7, D_6, Context, Params, Preview>, e: GSSPChainedUnit<A & B_8 & C_7 & D_6, E_5, Context, Params, Preview>, f: GSSPChainedUnit<A & B_8 & C_7 & D_6 & E_5, F_4, Context, Params, Preview>, g: GSSPChainedUnit<A & B_8 & C_7 & D_6 & E_5 & F_4, G_3, Context, Params, Preview>, h: GSSPChainedUnit<A & B_8 & C_7 & D_6 & E_5 & F_4 & G_3, H_2, Context, Params, Preview>, i: GSSPChainedUnit<A & B_8 & C_7 & D_6 & E_5 & F_4 & G_3 & H_2, I_1, Context, Params, Preview>, j: GSSPChainedUnit<A & B_8 & C_7 & D_6 & E_5 & F_4 & G_3 & H_2 & I_1, J, Context, Params, Preview>): GetServerSideProps<A & B_8 & C_7 & D_6 & E_5 & F_4 & G_3 & H_2 & I_1 & J, Params, Preview>;
160
+ };
161
+ export default createGssp;
162
+ //# sourceMappingURL=gssp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gssp.d.ts","sourceRoot":"","sources":["../src/gssp.ts"],"names":[],"mappings":"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"}
package/dist/gssp.js ADDED
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const createGssp = (options = {}) => {
4
+ const { createContext, errorHandler } = options || {};
5
+ function gssp(...fns) {
6
+ return async (ctx) => {
7
+ try {
8
+ if (!fns.length)
9
+ return { props: {} };
10
+ const gsspCtx = createContext ? await Promise.resolve(createContext(ctx)) : ctx;
11
+ let accumulated = {};
12
+ for (const [i, fn] of fns.entries()) {
13
+ const ctxWithPrev = i === 0 ? gsspCtx : { ...gsspCtx, prevProps: accumulated };
14
+ const result = await fn(ctxWithPrev);
15
+ if ('notFound' in result || 'redirect' in result) {
16
+ return result;
17
+ }
18
+ if ('props' in result) {
19
+ const props = await Promise.resolve(result.props);
20
+ accumulated = { ...accumulated, ...(props ?? {}) };
21
+ }
22
+ }
23
+ return { props: accumulated };
24
+ }
25
+ catch (error) {
26
+ errorHandler && errorHandler(error);
27
+ throw error;
28
+ }
29
+ };
30
+ }
31
+ return gssp;
32
+ };
33
+ exports.default = createGssp;
34
+ //# sourceMappingURL=gssp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gssp.js","sourceRoot":"","sources":["../src/gssp.ts"],"names":[],"mappings":";;AAkDA,MAAM,UAAU,GAAG,CAKjB,UAAuD,EAAE,EACzD,EAAE;IACF,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAqJtD,SAAS,IAAI,CAAC,GAAG,GAAU;QACzB,OAAO,KAAK,EAAC,GAAG,EAAC,EAAE;YACjB,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;gBAEtC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAEhF,IAAI,WAAW,GAAwB,EAAE,CAAC;gBAE1C,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;oBACpC,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;oBAE/E,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;oBAErC,IAAI,UAAU,IAAI,MAAM,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;wBACjD,OAAO,MAAM,CAAC;oBAChB,CAAC;oBAED,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;wBACtB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAElD,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;oBACrD,CAAC;gBACH,CAAC;gBAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YAChC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,YAAY,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;gBAEpC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './gssp';
2
+ export { default } from './gssp';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.default = void 0;
21
+ __exportStar(require("./gssp"), exports);
22
+ var gssp_1 = require("./gssp");
23
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(gssp_1).default; } });
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,+BAAiC;AAAxB,gHAAA,OAAO,OAAA"}
package/package.json ADDED
@@ -0,0 +1,54 @@
1
+ {
2
+ "name": "@nexoory/gssp",
3
+ "version": "1.0.0",
4
+ "description": "Composable getServerSideProps helper for Next.js Pages Router",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "require": "./dist/index.js",
11
+ "default": "./dist/index.js"
12
+ }
13
+ },
14
+ "sideEffects": false,
15
+ "files": [
16
+ "dist",
17
+ "README.md"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc",
21
+ "prepublishOnly": "npm run build",
22
+ "test": "vitest run",
23
+ "test:watch": "vitest",
24
+ "format": "prettier --write .",
25
+ "format:check": "prettier --check ."
26
+ },
27
+ "keywords": [
28
+ "next.js",
29
+ "getServerSideProps",
30
+ "gssp"
31
+ ],
32
+ "license": "MIT",
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/nexoory/gssp.git"
36
+ },
37
+ "bugs": {
38
+ "url": "https://github.com/nexoory/gssp/issues"
39
+ },
40
+ "homepage": "https://github.com/nexoory/gssp#readme",
41
+ "engines": {
42
+ "node": ">=18"
43
+ },
44
+ "peerDependencies": {
45
+ "next": ">=13.0.0"
46
+ },
47
+ "devDependencies": {
48
+ "@types/node": "^22.10.0",
49
+ "next": "14.2.9",
50
+ "prettier": "^3.3.3",
51
+ "typescript": "^5.6.3",
52
+ "vitest": "^3.0.5"
53
+ }
54
+ }