eddev 0.2.0-beta.9 → 0.2.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.
Files changed (120) hide show
  1. package/build/build-favicon.d.ts +1 -0
  2. package/build/build-favicon.js +71 -0
  3. package/build/create-serverless-dev-worker.d.ts +3 -0
  4. package/build/create-serverless-dev-worker.js +99 -0
  5. package/build/get-webpack-config.js +11 -1
  6. package/build/manifests/manifest-views.js +1 -1
  7. package/build/reporter.js +0 -109
  8. package/build/serverless/create-next-app.d.ts +2 -0
  9. package/build/serverless/create-next-app.js +243 -47
  10. package/build/state/serverless-state.d.ts +26 -0
  11. package/{config/schema.js → build/state/serverless-state.js} +0 -0
  12. package/build/workers/codegen-worker-script.js +33 -0
  13. package/{config/schema.d.ts → build/workers/serverless-worker-dev-script.d.ts} +0 -0
  14. package/build/workers/serverless-worker-dev-script.js +21 -0
  15. package/cli/build.dev.js +34 -6
  16. package/cli/build.prod.js +13 -1
  17. package/cli/cli.js +32 -17
  18. package/cli/display/components/DevCLIDisplay.d.ts +3 -0
  19. package/cli/display/components/DevCLIDisplay.js +20 -1
  20. package/cli/display/components/ServerlessDisplay.d.ts +9 -0
  21. package/cli/display/components/ServerlessDisplay.js +68 -0
  22. package/cli/preinstall.d.ts +1 -0
  23. package/cli/preinstall.js +14 -0
  24. package/components/NextRouter.js +3 -2
  25. package/config/config-schema.d.ts +17 -9
  26. package/config/config-schema.js +3 -1
  27. package/config/get-config.d.ts +39 -0
  28. package/config/get-config.js +32 -0
  29. package/config/parse-config.d.ts +8 -4
  30. package/config/print-zod-errors.d.ts +2 -0
  31. package/config/print-zod-errors.js +14 -0
  32. package/dev-ui/components/BreakpointColumnHeader.d.ts +11 -0
  33. package/dev-ui/components/BreakpointColumnHeader.js +47 -0
  34. package/dev-ui/components/BreakpointIndicator.d.ts +2 -0
  35. package/dev-ui/components/BreakpointIndicator.js +138 -0
  36. package/dev-ui/components/DevUI.d.ts +2 -0
  37. package/dev-ui/components/DevUI.js +28 -0
  38. package/dev-ui/components/Launcher.d.ts +98 -0
  39. package/dev-ui/components/Launcher.js +94 -0
  40. package/dev-ui/components/PanelWrapper.d.ts +8 -0
  41. package/dev-ui/components/PanelWrapper.js +37 -0
  42. package/dev-ui/components/ResponsiveLerpControl.d.ts +8 -0
  43. package/dev-ui/components/ResponsiveLerpControl.js +177 -0
  44. package/dev-ui/components/ResponsiveScaleEditor.d.ts +26 -0
  45. package/dev-ui/components/ResponsiveScaleEditor.js +233 -0
  46. package/dev-ui/components/atoms/Button.d.ts +47 -0
  47. package/dev-ui/components/atoms/Button.js +67 -0
  48. package/dev-ui/components/atoms/Dropdown.d.ts +13 -0
  49. package/dev-ui/components/atoms/Dropdown.js +50 -0
  50. package/dev-ui/components/atoms/NumberField.d.ts +12 -0
  51. package/dev-ui/components/atoms/NumberField.js +111 -0
  52. package/dev-ui/components/atoms/Spacer.d.ts +42 -0
  53. package/dev-ui/components/atoms/Spacer.js +8 -0
  54. package/dev-ui/components/atoms/Text.d.ts +45 -0
  55. package/dev-ui/components/atoms/Text.js +39 -0
  56. package/dev-ui/components/atoms/ToggleButton.d.ts +8 -0
  57. package/dev-ui/components/atoms/ToggleButton.js +41 -0
  58. package/dev-ui/components/atoms/Tooltip.d.ts +9 -0
  59. package/dev-ui/components/atoms/Tooltip.js +66 -0
  60. package/dev-ui/components/panels/PageDataDebugger.d.ts +2 -0
  61. package/dev-ui/components/panels/PageDataDebugger.js +30 -0
  62. package/dev-ui/components/panels/SpacingEditor.d.ts +2 -0
  63. package/dev-ui/components/panels/SpacingEditor.js +88 -0
  64. package/dev-ui/components/panels/TypographyEditor.d.ts +2 -0
  65. package/dev-ui/components/panels/TypographyEditor.js +88 -0
  66. package/dev-ui/hooks/useBreakpoint.d.ts +11 -0
  67. package/dev-ui/hooks/useBreakpoint.js +59 -0
  68. package/dev-ui/hooks/usePersistState.d.ts +1 -0
  69. package/dev-ui/hooks/usePersistState.js +36 -0
  70. package/dev-ui/hooks/useStylesheet.d.ts +4 -0
  71. package/dev-ui/hooks/useStylesheet.js +31 -0
  72. package/dev-ui/icons.d.ts +15 -0
  73. package/dev-ui/icons.js +29 -0
  74. package/dev-ui/index.d.ts +1 -0
  75. package/dev-ui/index.js +13 -0
  76. package/dev-ui/loader.d.ts +2 -0
  77. package/dev-ui/loader.js +42 -0
  78. package/dev-ui/panels.d.ts +11 -0
  79. package/dev-ui/panels.js +33 -0
  80. package/dev-ui/theme.d.ts +151 -0
  81. package/dev-ui/theme.js +50 -0
  82. package/entry/Root.d.ts +3 -1
  83. package/entry/Root.js +18 -6
  84. package/hooks/index.d.ts +1 -0
  85. package/hooks/index.js +1 -0
  86. package/{serverless/create-rpc-client.d.ts → hooks/useRPC.d.ts} +18 -18
  87. package/hooks/useRPC.js +18 -0
  88. package/package.json +15 -7
  89. package/routing/routing.js +1 -1
  90. package/serverless/define-rpc-router.d.ts +5 -1
  91. package/serverless/define-rpc-router.js +11 -3
  92. package/serverless/index.d.ts +2 -1
  93. package/serverless/index.js +3 -1
  94. package/serverless-template/_utils/PageMeta.tsx +44 -0
  95. package/serverless-template/_utils/fetch-wordpress-props.ts +14 -3
  96. package/serverless-template/_utils/fetch-wp.ts +16 -0
  97. package/serverless-template/global.d.ts +7 -1
  98. package/serverless-template/next.config.js +10 -3
  99. package/serverless-template/package.json +5 -3
  100. package/serverless-template/pages/404.tsx +12 -0
  101. package/serverless-template/pages/[...slug].tsx +7 -2
  102. package/serverless-template/pages/_app.tsx +32 -12
  103. package/serverless-template/pages/_document.tsx +19 -0
  104. package/serverless-template/pages/api/rest/{[...method].ts → [method].ts} +4 -2
  105. package/serverless-template/pages/api/trpc/[...trpc].ts +26 -0
  106. package/serverless-template/pages/index.tsx +2 -2
  107. package/style/createStitches.d.ts +71 -1
  108. package/style/createStitches.js +151 -45
  109. package/utils/getRepoName.js +13 -5
  110. package/utils/updateEnvFile.d.ts +1 -0
  111. package/utils/updateEnvFile.js +76 -0
  112. package/cli/prepare-next.d.ts +0 -0
  113. package/cli/prepare-next.js +0 -1
  114. package/entry/entry.serverless.dev.d.ts +0 -0
  115. package/entry/entry.serverless.dev.js +0 -2
  116. package/fields/ImageWell.d.ts +0 -8
  117. package/fields/ImageWell.js +0 -64
  118. package/serverless/create-rpc-client.js +0 -20
  119. package/serverless-template/package-lock.json +0 -641
  120. package/serverless-template/pages/api/hello.ts +0 -10
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEV_UI_PANELS = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ var PageDataDebugger_1 = require("./components/panels/PageDataDebugger");
6
+ var SpacingEditor_1 = require("./components/panels/SpacingEditor");
7
+ var TypographyEditor_1 = require("./components/panels/TypographyEditor");
8
+ var icons_1 = require("./icons");
9
+ var TempComponent = function () {
10
+ return (0, jsx_runtime_1.jsx)("div", { children: "Test" }, void 0);
11
+ };
12
+ exports.DEV_UI_PANELS = {
13
+ typography: {
14
+ label: "Typography",
15
+ icon: icons_1.typography,
16
+ component: TypographyEditor_1.TypographyEditor,
17
+ },
18
+ spacing: {
19
+ label: "Spacing",
20
+ icon: icons_1.ruler,
21
+ component: SpacingEditor_1.SpacingEditor,
22
+ },
23
+ page: {
24
+ label: "Page Data",
25
+ icon: icons_1.code,
26
+ component: PageDataDebugger_1.PageDataDebugger,
27
+ },
28
+ // structure: {
29
+ // label: "Page Structure",
30
+ // icon: structure,
31
+ // component: TempComponent,
32
+ // },
33
+ };
@@ -0,0 +1,151 @@
1
+ /// <reference types="react" />
2
+ export declare const styled: <Type extends import("react").ComponentType<any> | keyof JSX.IntrinsicElements | import("@stitches/react/types/util").Function, Composers extends (string | import("react").ComponentType<any> | import("@stitches/react/types/util").Function | {
3
+ [name: string]: unknown;
4
+ })[], CSS = import("@stitches/react/types/css-util").CSS<{}, {
5
+ space: {
6
+ smallButtonHeight: string;
7
+ buttonHeight: string;
8
+ 0: string;
9
+ 1: string;
10
+ 2: string;
11
+ 3: string;
12
+ 4: string;
13
+ 5: string;
14
+ 6: string;
15
+ };
16
+ colors: {
17
+ bg: string;
18
+ bgHover: string;
19
+ bgHoverLight: string;
20
+ bgLine: string;
21
+ bgLineStrong: string;
22
+ button: string;
23
+ buttonHover: string;
24
+ fg: string;
25
+ fgFaded: string;
26
+ };
27
+ fontSizes: {
28
+ sm: string;
29
+ md: string;
30
+ lg: string;
31
+ xl: string;
32
+ };
33
+ fonts: {
34
+ body: string;
35
+ mono: string;
36
+ };
37
+ radii: {
38
+ sm: string;
39
+ md: string;
40
+ lg: string;
41
+ };
42
+ transitions: {
43
+ default: string;
44
+ };
45
+ }, import("@stitches/react/types/config").DefaultThemeMap, {}>>(type: Type, ...composers: { [K in keyof Composers]: Composers[K] extends string | import("react").ComponentType<any> | import("@stitches/react/types/util").Function ? Composers[K] : import("@stitches/react/types/stitches").RemoveIndex<CSS> & {
46
+ variants?: {
47
+ [x: string]: {
48
+ [x: string]: CSS;
49
+ [x: number]: CSS;
50
+ };
51
+ } | undefined;
52
+ compoundVariants?: (("variants" extends keyof Composers[K] ? { [Name in keyof Composers[K][keyof Composers[K] & "variants"]]?: import("@stitches/react/types/util").String | import("@stitches/react/types/util").Widen<keyof Composers[K][keyof Composers[K] & "variants"][Name]> | undefined; } : import("@stitches/react/types/util").WideObject) & {
53
+ css: CSS;
54
+ })[] | undefined;
55
+ defaultVariants?: ("variants" extends keyof Composers[K] ? { [Name_1 in keyof Composers[K][keyof Composers[K] & "variants"]]?: import("@stitches/react/types/util").String | import("@stitches/react/types/util").Widen<keyof Composers[K][keyof Composers[K] & "variants"][Name_1]> | undefined; } : import("@stitches/react/types/util").WideObject) | undefined;
56
+ } & CSS & { [K2 in keyof Composers[K]]: K2 extends "compoundVariants" | "defaultVariants" | "variants" ? unknown : K2 extends keyof CSS ? CSS[K2] : unknown; }; }) => import("@stitches/react/types/styled-component").StyledComponent<Type, import("@stitches/react/types/styled-component").StyledComponentProps<Composers>, {}, import("@stitches/react/types/css-util").CSS<{}, {
57
+ space: {
58
+ smallButtonHeight: string;
59
+ buttonHeight: string;
60
+ 0: string;
61
+ 1: string;
62
+ 2: string;
63
+ 3: string;
64
+ 4: string;
65
+ 5: string;
66
+ 6: string;
67
+ };
68
+ colors: {
69
+ bg: string;
70
+ bgHover: string;
71
+ bgHoverLight: string;
72
+ bgLine: string;
73
+ bgLineStrong: string;
74
+ button: string;
75
+ buttonHover: string;
76
+ fg: string;
77
+ fgFaded: string;
78
+ };
79
+ fontSizes: {
80
+ sm: string;
81
+ md: string;
82
+ lg: string;
83
+ xl: string;
84
+ };
85
+ fonts: {
86
+ body: string;
87
+ mono: string;
88
+ };
89
+ radii: {
90
+ sm: string;
91
+ md: string;
92
+ lg: string;
93
+ };
94
+ transitions: {
95
+ default: string;
96
+ };
97
+ }, import("@stitches/react/types/config").DefaultThemeMap, {}>>, css: <Composers extends (string | import("react").JSXElementConstructor<any> | import("react").ExoticComponent<any> | import("@stitches/react/types/util").Function | {
98
+ [name: string]: unknown;
99
+ })[], CSS = import("@stitches/react/types/css-util").CSS<{}, {
100
+ space: {
101
+ smallButtonHeight: string;
102
+ buttonHeight: string;
103
+ 0: string;
104
+ 1: string;
105
+ 2: string;
106
+ 3: string;
107
+ 4: string;
108
+ 5: string;
109
+ 6: string;
110
+ };
111
+ colors: {
112
+ bg: string;
113
+ bgHover: string;
114
+ bgHoverLight: string;
115
+ bgLine: string;
116
+ bgLineStrong: string;
117
+ button: string;
118
+ buttonHover: string;
119
+ fg: string;
120
+ fgFaded: string;
121
+ };
122
+ fontSizes: {
123
+ sm: string;
124
+ md: string;
125
+ lg: string;
126
+ xl: string;
127
+ };
128
+ fonts: {
129
+ body: string;
130
+ mono: string;
131
+ };
132
+ radii: {
133
+ sm: string;
134
+ md: string;
135
+ lg: string;
136
+ };
137
+ transitions: {
138
+ default: string;
139
+ };
140
+ }, import("@stitches/react/types/config").DefaultThemeMap, {}>>(...composers: { [K in keyof Composers]: Composers[K] extends string | import("react").JSXElementConstructor<any> | import("react").ExoticComponent<any> | import("@stitches/react/types/util").Function ? Composers[K] : import("@stitches/react/types/stitches").RemoveIndex<CSS> & {
141
+ variants?: {
142
+ [x: string]: {
143
+ [x: string]: CSS;
144
+ [x: number]: CSS;
145
+ };
146
+ } | undefined;
147
+ compoundVariants?: (("variants" extends keyof Composers[K] ? { [Name in keyof Composers[K][keyof Composers[K] & "variants"]]?: import("@stitches/react/types/util").String | import("@stitches/react/types/util").Widen<keyof Composers[K][keyof Composers[K] & "variants"][Name]> | undefined; } : import("@stitches/react/types/util").WideObject) & {
148
+ css: CSS;
149
+ })[] | undefined;
150
+ defaultVariants?: ("variants" extends keyof Composers[K] ? { [Name_1 in keyof Composers[K][keyof Composers[K] & "variants"]]?: import("@stitches/react/types/util").String | import("@stitches/react/types/util").Widen<keyof Composers[K][keyof Composers[K] & "variants"][Name_1]> | undefined; } : import("@stitches/react/types/util").WideObject) | undefined;
151
+ } & CSS & { [K2 in keyof Composers[K]]: K2 extends "compoundVariants" | "defaultVariants" | "variants" ? unknown : K2 extends keyof CSS ? CSS[K2] : unknown; }; }) => import("@stitches/react/types/styled-component").CssComponent<import("@stitches/react/types/styled-component").StyledComponentType<Composers>, import("@stitches/react/types/styled-component").StyledComponentProps<Composers>, {}, CSS>;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.css = exports.styled = void 0;
5
+ var react_1 = require("@stitches/react");
6
+ exports.styled = (_a = (0, react_1.createStitches)({
7
+ theme: {
8
+ space: {
9
+ smallButtonHeight: "22px",
10
+ buttonHeight: "26px",
11
+ 0: "4px",
12
+ 1: "8px",
13
+ 2: "12px",
14
+ 3: "16px",
15
+ 4: "24px",
16
+ 5: "32px",
17
+ 6: "48px",
18
+ },
19
+ colors: {
20
+ bg: "#111111",
21
+ bgHover: "#333333",
22
+ bgHoverLight: "#333333",
23
+ bgLine: "#1a1a1a",
24
+ bgLineStrong: "#222222",
25
+ button: "#333333",
26
+ buttonHover: "#555555",
27
+ fg: "#ffffff",
28
+ fgFaded: "#aaaaaa",
29
+ },
30
+ fontSizes: {
31
+ sm: "12px",
32
+ md: "14px",
33
+ lg: "18px",
34
+ xl: "24px",
35
+ },
36
+ fonts: {
37
+ body: '"Roboto", Helvetica, sans-serif',
38
+ mono: '"Roboto Mono", Menlo, monospace',
39
+ },
40
+ radii: {
41
+ sm: "4px",
42
+ md: "8px",
43
+ lg: "16px",
44
+ },
45
+ transitions: {
46
+ default: "0.2s ease",
47
+ },
48
+ },
49
+ prefix: "eddev",
50
+ }), _a.styled), exports.css = _a.css;
package/entry/Root.d.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  /// <reference types="react" />
2
- export default function Root(): JSX.Element;
2
+ declare function Root(): JSX.Element;
3
+ declare const _default: typeof Root | import("next").NextComponentType<import("next").NextPageContext, {}, {}>;
4
+ export default _default;
package/entry/Root.js CHANGED
@@ -35,12 +35,24 @@ var jsx_runtime_1 = require("react/jsx-runtime");
35
35
  var views_1 = __importStar(require("@manifest/views"));
36
36
  var react_1 = require("react");
37
37
  var routing_1 = require("../routing");
38
+ var loader_1 = require("../dev-ui/loader");
39
+ var next_1 = require("@trpc/next");
38
40
  function Root() {
39
41
  var route = (0, routing_1.useRoute)();
40
- return ((0, jsx_runtime_1.jsx)(react_1.Fragment, { children: (0, jsx_runtime_1.jsx)(views_1.App, { children: (0, jsx_runtime_1.jsx)(routing_1.Switch, { children: Object.entries(views_1.default).map(function (_a) {
41
- var _b, _c;
42
- var name = _a[0], Component = _a[1];
43
- return ((0, jsx_runtime_1.jsx)(routing_1.Route, __assign({ match: function (route) { var _a; return ((_a = route.data) === null || _a === void 0 ? void 0 : _a.view) === name; } }, { children: (0, jsx_runtime_1.jsx)(Component, __assign({}, (_c = (_b = route.data) === null || _b === void 0 ? void 0 : _b.viewData) === null || _c === void 0 ? void 0 : _c.data), void 0) }), name));
44
- }) }, void 0) }, void 0) }, void 0));
42
+ return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [process.devUI && (0, jsx_runtime_1.jsx)(loader_1.DevUILoader, {}, void 0), (0, jsx_runtime_1.jsx)(views_1.App, { children: (0, jsx_runtime_1.jsx)(routing_1.Switch, { children: Object.entries(views_1.default).map(function (_a) {
43
+ var _b, _c;
44
+ var name = _a[0], Component = _a[1];
45
+ return ((0, jsx_runtime_1.jsx)(routing_1.Route, __assign({ match: function (route) { var _a; return ((_a = route.data) === null || _a === void 0 ? void 0 : _a.view) === name; } }, { children: (0, jsx_runtime_1.jsx)(Component, __assign({}, (_c = (_b = route.data) === null || _b === void 0 ? void 0 : _b.viewData) === null || _c === void 0 ? void 0 : _c.data), void 0) }), name));
46
+ }) }, void 0) }, void 0)] }, void 0));
45
47
  }
46
- exports.default = Root;
48
+ exports.default = process.rpcEnabled
49
+ ? (0, next_1.withTRPC)({
50
+ config: function (_a) {
51
+ var ctx = _a.ctx;
52
+ return {
53
+ url: process.serverlessEndpoint + "api/trpc",
54
+ };
55
+ },
56
+ ssr: false,
57
+ })(Root)
58
+ : Root;
package/hooks/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from "./usePageLoad";
2
2
  export * from "./useAppData";
3
+ export * from "./useRPC";
package/hooks/index.js CHANGED
@@ -12,3 +12,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./usePageLoad"), exports);
14
14
  __exportStar(require("./useAppData"), exports);
15
+ __exportStar(require("./useRPC"), exports);
@@ -1,6 +1,8 @@
1
- export declare function createRPCClient(): {
1
+ /// <reference types="react" />
2
+ import { TRPCClientError } from "@trpc/client";
3
+ declare const trpc: {
2
4
  Provider: ({ client, queryClient, children, isPrepass, ssrContext, }: {
3
- queryClient: QueryClient;
5
+ queryClient: import("react-query").QueryClient;
4
6
  client: import("@trpc/react").TRPCClient<import("@trpc/server").AnyRouter<any>>;
5
7
  children: import("react").ReactNode;
6
8
  isPrepass?: boolean | undefined;
@@ -8,25 +10,23 @@ export declare function createRPCClient(): {
8
10
  }) => JSX.Element;
9
11
  createClient: (opts: import("@trpc/react").CreateTRPCClientOptions<import("@trpc/server").AnyRouter<any>>) => import("@trpc/react").TRPCClient<import("@trpc/server").AnyRouter<any>>;
10
12
  useContext: () => import("@trpc/react/dist/declarations/src/internals/context").TRPCContextState<import("@trpc/server").AnyRouter<any>, unknown>;
11
- useQuery: <TPath extends string>(pathAndInput: [TPath, (null | undefined)?], opts?: import("@trpc/react").UseTRPCQueryOptions<TPath, unknown, any, import("@trpc/react").TRPCClientErrorLike<import("@trpc/server").AnyRouter<any>>> | undefined) => UseQueryResult<{ [TPath_1 in keyof TRouter["_def"]["queries"]]: {
12
- input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_1]>;
13
- output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_1]["call"]>>;
14
- }; }[TPath_2]["output"], import("@trpc/react").TRPCClientErrorLike<TRouter>>;
15
- useMutation: <TPath_1 extends string>(path: TPath_1 | [TPath_1], opts?: import("@trpc/react").UseTRPCMutationOptions<unknown, import("@trpc/react").TRPCClientErrorLike<import("@trpc/server").AnyRouter<any>>, any> | undefined) => UseMutationResult<{ [TPath_3 in keyof TRouter["_def"]["mutations"]]: {
16
- input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["mutations"][TPath_3]>;
17
- output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["mutations"][TPath_3]["call"]>>;
18
- }; }[TPath_1_1]["output"], import("@trpc/react").TRPCClientErrorLike<TRouter>, { [TPath_3 in keyof TRouter["_def"]["mutations"]]: {
19
- input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["mutations"][TPath_3]>;
20
- output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["mutations"][TPath_3]["call"]>>;
21
- }; }[TPath_1_1]["input"], unknown>;
13
+ useQuery: <TPath extends string>(pathAndInput: [TPath, (null | undefined)?], opts?: import("@trpc/react").UseTRPCQueryOptions<TPath, unknown, any, import("@trpc/react").TRPCClientErrorLike<import("@trpc/server").AnyRouter<any>>> | undefined) => import("react-query").UseQueryResult<any, import("@trpc/react").TRPCClientErrorLike<import("@trpc/server").AnyRouter<any>>>;
14
+ useMutation: <TPath_1 extends string>(path: TPath_1 | [TPath_1], opts?: import("@trpc/react").UseTRPCMutationOptions<unknown, import("@trpc/react").TRPCClientErrorLike<import("@trpc/server").AnyRouter<any>>, any> | undefined) => import("react-query").UseMutationResult<any, import("@trpc/react").TRPCClientErrorLike<import("@trpc/server").AnyRouter<any>>, unknown, unknown>;
22
15
  useSubscription: <TPath_2 extends string, TOutput extends any>(pathAndInput: [TPath_2, (null | undefined)?], opts: {
23
16
  enabled?: boolean | undefined;
24
17
  onError?: ((err: import("@trpc/react").TRPCClientErrorLike<import("@trpc/server").AnyRouter<any>>) => void) | undefined;
25
18
  onNext: (data: TOutput) => void;
26
19
  }) => void;
27
- useDehydratedState: (client: import("@trpc/react").TRPCClient<import("@trpc/server").AnyRouter<any>>, trpcState: any) => any;
28
- useInfiniteQuery: <TPath_3 extends never>(pathAndInput: [path: TPath_3, input: Omit<unknown, "cursor">], opts?: import("@trpc/react").UseTRPCInfiniteQueryOptions<TPath_3, Omit<unknown, "cursor">, any, import("@trpc/react").TRPCClientErrorLike<import("@trpc/server").AnyRouter<any>>> | undefined) => UseInfiniteQueryResult<{ [TPath_1 in keyof TRouter["_def"]["queries"]]: {
29
- input: import("@trpc/server").inferProcedureInput<TRouter["_def"]["queries"][TPath_1]>;
30
- output: import("@trpc/server").ThenArg<ReturnType<TRouter["_def"]["queries"][TPath_1]["call"]>>;
31
- }; }[TPath_3_1]["output"], import("@trpc/react").TRPCClientErrorLike<TRouter>>;
20
+ useDehydratedState: (client: import("@trpc/react").TRPCClient<import("@trpc/server").AnyRouter<any>>, trpcState: import("react-query").DehydratedState | undefined) => import("react-query").DehydratedState | undefined;
21
+ useInfiniteQuery: <TPath_3 extends never>(pathAndInput: [path: TPath_3, input: Omit<unknown, "cursor">], opts?: import("@trpc/react").UseTRPCInfiniteQueryOptions<TPath_3, Omit<unknown, "cursor">, any, import("@trpc/react").TRPCClientErrorLike<import("@trpc/server").AnyRouter<any>>> | undefined) => import("react-query").UseInfiniteQueryResult<any, import("@trpc/react").TRPCClientErrorLike<import("@trpc/server").AnyRouter<any>>>;
32
22
  };
23
+ export declare const useRPCQuery: RPCUseQuery;
24
+ export declare const useRPCMutation: RPCUseMutation;
25
+ export declare const useRPCInfiniteQuery: RPCUseInfiniteQuery;
26
+ export declare const rpcClient: RPCClient;
27
+ export declare type UseRPCMutationResult = ReturnType<typeof trpc.useMutation>;
28
+ export declare type UseRPCQueryResult = ReturnType<typeof trpc.useQuery>;
29
+ export declare type UseRPCInfiniteQueryResult = ReturnType<typeof trpc.useInfiniteQuery>;
30
+ export declare const RPCClientError: typeof TRPCClientError;
31
+ export declare type RPCClientError = InstanceType<typeof TRPCClientError>;
32
+ export {};
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RPCClientError = exports.rpcClient = exports.useRPCInfiniteQuery = exports.useRPCMutation = exports.useRPCQuery = void 0;
4
+ var react_1 = require("@trpc/react");
5
+ var client_1 = require("@trpc/client");
6
+ var trpc = (0, react_1.createReactQueryHooks)();
7
+ // @ts-ignore
8
+ exports.useRPCQuery = trpc.useQuery;
9
+ // @ts-ignore
10
+ exports.useRPCMutation = trpc.useMutation;
11
+ // @ts-ignore
12
+ exports.useRPCInfiniteQuery = trpc.useInfiniteQuery;
13
+ exports.rpcClient = trpc.createClient({
14
+ // @ts-ignore
15
+ url: process.serverlessEndpoint.replace(/\/$/, "") + "/api/trpc",
16
+ // @ts-ignore
17
+ });
18
+ exports.RPCClientError = client_1.TRPCClientError;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eddev",
3
- "version": "0.2.0-beta.9",
3
+ "version": "0.2.1",
4
4
  "main": "./index.js",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -27,7 +27,7 @@
27
27
  "@types/url-parse": "^1.4.4",
28
28
  "@types/webpack-dev-server": "^3.11.2",
29
29
  "csstype": "^3.0.9",
30
- "next": "^12.0.10",
30
+ "next": "^12.1.0",
31
31
  "react-html-props": "^1.0.32"
32
32
  },
33
33
  "dependencies": {
@@ -37,7 +37,6 @@
37
37
  "@babel/preset-react": "^7.14.5",
38
38
  "@babel/preset-typescript": "^7.15.0",
39
39
  "@babel/traverse": "^7.15.4",
40
- "@boost/log": "^3.0.0",
41
40
  "@graphql-codegen/cli": "^2.2.0",
42
41
  "@graphql-codegen/core": "^2.1.0",
43
42
  "@graphql-codegen/typescript": "^2.2.1",
@@ -51,39 +50,44 @@
51
50
  "@soda/friendly-errors-webpack-plugin": "^1.8.0",
52
51
  "@stitches/core": "^1.2.6",
53
52
  "@stitches/react": "^1.2.6",
53
+ "@trpc/client": "^9.19.0",
54
+ "@trpc/next": "^9.19.0",
55
+ "@trpc/react": "^9.19.0",
56
+ "@trpc/server": "^9.19.0",
54
57
  "autoprefixer": "^10.3.4",
55
58
  "babel-loader": "^8.2.2",
56
59
  "chalk": "^4.1.2",
57
60
  "change-case": "^4.1.2",
58
61
  "chokidar": "^3.5.2",
59
62
  "commander": "^8.1.0",
63
+ "compare-versions": "^4.1.3",
60
64
  "cross-fetch": "^3.1.4",
61
65
  "css-loader": "^6.2.0",
62
66
  "dotenv": "^10.0.0",
63
67
  "error-overlay-webpack-plugin": "^1.0.0",
64
68
  "error-stack-parser": "^2.0.6",
65
- "execa": "^6.0.0",
66
69
  "friendly-errors-webpack-plugin": "^1.7.0",
67
70
  "fs-extra": "^10.0.0",
68
71
  "git-repo-name": "^1.0.1",
69
72
  "glob": "^7.1.7",
70
73
  "glob-promise": "^4.2.0",
71
74
  "graphql": "^15.5.3",
72
- "history": "^5.0.1",
75
+ "immer": "^9.0.12",
73
76
  "ink": "^3.2.0",
74
77
  "inquirer": "^8.1.2",
75
78
  "mini-css-extract-plugin": "^2.2.2",
76
79
  "next-transpile-modules": "^9.0.0",
77
80
  "postcss-loader": "^6.1.1",
78
81
  "qs": "^6.10.1",
79
- "react-dev-utils": "^12.0.0-next.37",
80
82
  "react-error-overlay": "^6.0.9",
81
83
  "react-inspector": "^5.1.1",
82
84
  "react-merge-refs": "^1.1.0",
85
+ "react-query": "^3.34.16",
83
86
  "react-refresh": "^0.10.0",
84
87
  "rimraf": "^3.0.2",
85
88
  "swr": "^1.0.1",
86
- "typescript": "^4.4.2",
89
+ "to-icon": "^1.1.4",
90
+ "typescript": "^4.5.5",
87
91
  "url-parse": "^1.5.3",
88
92
  "webpack": "^5.52.0",
89
93
  "webpack-bundle-analyzer": "^4.5.0",
@@ -95,6 +99,10 @@
95
99
  "zustand": "^3.5.10"
96
100
  },
97
101
  "peerDependencies": {
102
+ "@trpc/client": "^9.19.0",
103
+ "@trpc/next": "^9.19.0",
104
+ "@trpc/react": "^9.19.0",
105
+ "@trpc/server": "^9.19.0",
98
106
  "react": "^18.0.0-rc.0",
99
107
  "react-dom": "^18.0.0-rc.0"
100
108
  }
@@ -329,7 +329,7 @@ exports.Link = (0, react_1.forwardRef)(function (props, ref) {
329
329
  // @ts-ignore
330
330
  if (process.serverless) {
331
331
  var NextLink = require("next/link").default;
332
- return ((0, jsx_runtime_1.jsx)(NextLink, __assign({ href: props.href, passHref: true }, { children: (0, jsx_runtime_1.jsx)("a", __assign({}, props, { href: undefined }), void 0) }), void 0));
332
+ return ((0, jsx_runtime_1.jsx)(NextLink, __assign({ href: props.href, passHref: true }, { children: (0, jsx_runtime_1.jsx)("a", __assign({ ref: ref }, props, { href: undefined }), void 0) }), void 0));
333
333
  }
334
334
  var localRef = (0, react_1.useRef)();
335
335
  var router = (0, react_1.useContext)(RouterContext);
@@ -1,2 +1,6 @@
1
1
  import * as trpc from "@trpc/server";
2
- export declare function defineRPC<TContext>(): import("@trpc/server/dist/declarations/src/router").Router<TContext, TContext, {}, {}, {}, trpc.DefaultErrorShape>;
2
+ import * as trpcNext from "@trpc/server/adapters/next";
3
+ declare const createRouter: () => import("@trpc/server/dist/declarations/src/router").Router<RPCContextType, RPCContextType, {}, {}, {}, trpc.DefaultErrorShape>;
4
+ export declare function defineRPC<TCreator extends (base: ReturnType<typeof createRouter>, z: typeof import("zod")) => any>(creator: TCreator): ReturnType<TCreator>;
5
+ export declare function defineRPCContextCreator<TCreator extends (opts: trpcNext.CreateNextContextOptions) => any>(creator: TCreator): TCreator;
6
+ export {};
@@ -19,9 +19,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
19
  return result;
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.defineRPC = void 0;
22
+ exports.defineRPCContextCreator = exports.defineRPC = void 0;
23
23
  var trpc = __importStar(require("@trpc/server"));
24
- function defineRPC() {
25
- return trpc.router();
24
+ var z = __importStar(require("zod"));
25
+ // @ts-ignore
26
+ var createRouter = function () { return trpc.router(); };
27
+ // @ts-ignore
28
+ function defineRPC(creator) {
29
+ return creator(trpc.router(), z);
26
30
  }
27
31
  exports.defineRPC = defineRPC;
32
+ function defineRPCContextCreator(creator) {
33
+ return creator;
34
+ }
35
+ exports.defineRPCContextCreator = defineRPCContextCreator;
@@ -1,4 +1,5 @@
1
+ import { TRPCError } from "@trpc/server";
1
2
  export * from "./define-api";
2
3
  export * from "./define-rpc-router";
3
- export * from "./create-rpc-client";
4
4
  export * from "./error-codes";
5
+ export declare const RPCError: typeof TRPCError;
@@ -10,7 +10,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.RPCError = void 0;
14
+ var server_1 = require("@trpc/server");
13
15
  __exportStar(require("./define-api"), exports);
14
16
  __exportStar(require("./define-rpc-router"), exports);
15
- __exportStar(require("./create-rpc-client"), exports);
16
17
  __exportStar(require("./error-codes"), exports);
18
+ exports.RPCError = server_1.TRPCError;
@@ -0,0 +1,44 @@
1
+ import { ParsedRouteTags } from "eddev/routing/remoteProps"
2
+ import Head from "next/head"
3
+ import { Fragment } from "react"
4
+
5
+ type Props = ParsedRouteTags
6
+
7
+ export function PageMeta(props: Props) {
8
+ return (
9
+ <Head>
10
+ {props.title?.map((tag, i) => (
11
+ <title key={"title" + i}>{tag.__code}</title>
12
+ ))}
13
+ {/* {props.style?.map((tag, i) => {
14
+ return (
15
+ <style
16
+ key={"style" + i}
17
+ className={tag["class"]}
18
+ type={tag.type}
19
+ id={tag.id}
20
+ dangerouslySetInnerHTML={{ __html: tag.__code }}
21
+ />
22
+ )
23
+ })}
24
+ {props.script?.map((tag, i) => {
25
+ return (
26
+ <script
27
+ key={"script" + i}
28
+ className={tag["class"]}
29
+ type={tag.type}
30
+ id={tag.id}
31
+ dangerouslySetInnerHTML={{ __html: tag.__code }}
32
+ />
33
+ )
34
+ })} */}
35
+ {props.meta?.map((tag, i) => {
36
+ return <meta key={"meta" + i} {...tag} />
37
+ })}
38
+ {props.link?.map((tag, i) => {
39
+ if (tag.rel === "stylesheet") return <Fragment key={"link" + i} />
40
+ return <link key={"link" + i} {...tag} />
41
+ })}
42
+ </Head>
43
+ )
44
+ }
@@ -1,17 +1,23 @@
1
1
  import config from "./ed-config"
2
+ import { fetchWP } from "./fetch-wp"
2
3
 
3
4
  const settings = config.serverless
4
5
 
5
6
  export async function fetchWordpressProps(pathname: string) {
7
+ // Determine the URL for fetching
6
8
  const origin = (process.env.SITE_URL as string).replace(/\/$/, "")
7
9
  pathname = pathname.replace(/(^\/|\/$)/g, "")
8
10
  const propsURL = origin + ("/" + pathname + "/?_props=all").replace(/\/+/, "/")
9
- let response = await fetch(propsURL)
11
+
12
+ // Make the request
13
+ let response = await fetchWP(propsURL, {})
14
+
15
+ // Convert to text, rather than JSON — so we can do find-and-replace
10
16
  let text = await response.text()
11
17
 
12
18
  // Convert absolute site URL details to relative paths
13
19
  text = text.replace(new RegExp(origin.replace(/(http|https)/, `https?`) + "([a-z0-9-_./]+)", "g"), (url) => {
14
- const path = url.replace(/https?:\/\/[a-z0-9\-\_\.]+/, "")
20
+ const path = url.replace(/https?:\/\/[^\/]+/, "")
15
21
  if (path.startsWith("/wp-content/uploads/")) {
16
22
  if (settings?.uploads === "proxy") {
17
23
  return path
@@ -30,9 +36,14 @@ export async function fetchWordpressProps(pathname: string) {
30
36
  } else if (settings?.uploads === "remote") {
31
37
  return url
32
38
  }
39
+ } else {
40
+ return path
33
41
  }
34
42
  return url
35
43
  })
36
44
 
37
- return JSON.parse(text)
45
+ return {
46
+ status: response.status,
47
+ data: JSON.parse(text),
48
+ }
38
49
  }
@@ -0,0 +1,16 @@
1
+ import { Agent } from "https"
2
+
3
+ // Used to allow self-signed certificates
4
+ const agent = new Agent({
5
+ rejectUnauthorized: false,
6
+ })
7
+
8
+ export const fetchWP: typeof fetch = async (url, opts) => {
9
+ // TODO — basic auth via env variable
10
+ // https://stackoverflow.com/questions/43842793/basic-authentication-with-fetch
11
+ return fetch(url, {
12
+ ...opts,
13
+ // @ts-ignore
14
+ agent: url.includes("https") ? agent : undefined,
15
+ })
16
+ }
@@ -1,9 +1,15 @@
1
1
  declare global {
2
2
  namespace NodeJS {
3
3
  interface Process {
4
- browser: boolean
4
+ client: boolean
5
5
  serverless: boolean
6
6
  dev: boolean
7
+ devUI: boolean
7
8
  }
8
9
  }
9
10
  }
11
+
12
+ module "@manifest/views" {
13
+ export default any
14
+ export const App: any
15
+ }