@fernir2/saas-kit-cli 0.1.16 → 0.1.18

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 (133) hide show
  1. package/base-repo/app-constants/aliases.cjs.js +1 -1
  2. package/base-repo/app-constants/aliases.js +1 -1
  3. package/base-repo/app-constants/project-paths.cjs.js +1 -1
  4. package/base-repo/app-constants/project-paths.js +1 -1
  5. package/cli/.env +55 -0
  6. package/level2/cli/create-saas-kit-app/bin/index.cjs.js +4 -4
  7. package/level2/cli/create-saas-kit-app/bin/index.js +3 -3
  8. package/level2/fd-toolbox/api/api-client.cjs.js +1 -1
  9. package/level2/fd-toolbox/api/api-client.js +1 -1
  10. package/level2/fd-toolbox/api/api-path-names.cjs.js +2 -2
  11. package/level2/fd-toolbox/api/api-paths.cjs.js +1 -1
  12. package/level2/fd-toolbox/api/api-paths.js +1 -1
  13. package/level2/fd-toolbox/api/base-api.cjs.js +1 -1
  14. package/level2/fd-toolbox/api/base-api.js +1 -1
  15. package/level2/fd-toolbox/auth/login-states.cjs.js +1 -1
  16. package/level2/fd-toolbox/auth/login-states.js +1 -1
  17. package/level2/fd-toolbox/auth/session-storage.cjs.js +1 -1
  18. package/level2/fd-toolbox/auth/session-storage.js +1 -1
  19. package/level2/fd-toolbox/auth/tokens.cjs.js +1 -1
  20. package/level2/fd-toolbox/auth/tokens.js +1 -1
  21. package/level2/fd-toolbox/constants/constants.cjs.js +1 -1
  22. package/level2/fd-toolbox/constants/constants.js +1 -1
  23. package/level2/fd-toolbox/enums/enums.cjs.js +1 -1
  24. package/level2/fd-toolbox/enums/enums.js +1 -1
  25. package/level2/fd-toolbox/errors/error-handler.cjs.js +1 -1
  26. package/level2/fd-toolbox/errors/error-handler.js +1 -1
  27. package/level2/fd-toolbox/errors/errors.cjs.js +1 -1
  28. package/level2/fd-toolbox/errors/errors.js +1 -1
  29. package/level2/fd-toolbox/errors/problem-details.cjs.js +1 -1
  30. package/level2/fd-toolbox/errors/problem-details.js +1 -1
  31. package/level2/fd-toolbox/functions/value-checking-functions.cjs.js +1 -1
  32. package/level2/fd-toolbox/functions/value-checking-functions.js +1 -1
  33. package/level2/fd-toolbox/http/url/urls.cjs.js +1 -1
  34. package/level2/fd-toolbox/http/url/urls.js +1 -1
  35. package/level2/fd-toolbox/infra/env-config.cjs.js +2 -2
  36. package/level2/fd-toolbox/infra/env-config.js +2 -2
  37. package/level2/fd-toolbox/infra/env-functions.cjs.js +1 -1
  38. package/level2/fd-toolbox/infra/env-functions.js +1 -1
  39. package/level2/fd-toolbox/infra/env-schema.cjs.js +2 -2
  40. package/level2/fd-toolbox/infra/env-schema.js +2 -2
  41. package/level2/fd-toolbox/infra/env-store.cjs.js +1 -1
  42. package/level2/fd-toolbox/infra/env-store.js +1 -1
  43. package/level2/fd-toolbox/lib/environments.cjs.js +1 -1
  44. package/level2/fd-toolbox/lib/environments.js +1 -1
  45. package/level2/fd-toolbox/lib/utils.cjs.js +1 -1
  46. package/level2/fd-toolbox/lib/utils.js +1 -1
  47. package/level2/fd-toolbox/local-storage/local-storage.cjs.js +1 -1
  48. package/level2/fd-toolbox/local-storage/local-storage.js +1 -1
  49. package/level2/fd-toolbox/logging/loggers.cjs.js +1 -1
  50. package/level2/fd-toolbox/logging/loggers.js +1 -1
  51. package/level2/fd-toolbox/notifications.cjs.js +2 -2
  52. package/level2/fd-toolbox/notifications.js +2 -2
  53. package/level2/fd-toolbox/odata/odata-constants.cjs.js +1 -1
  54. package/level2/fd-toolbox/odata/odata-constants.js +1 -1
  55. package/level2/fd-toolbox/odata/odatas.cjs.js +1 -1
  56. package/level2/fd-toolbox/odata/odatas.js +1 -1
  57. package/level2/fd-toolbox/odata/services/odata-filters.cjs.js +1 -1
  58. package/level2/fd-toolbox/odata/services/odata-filters.js +1 -1
  59. package/level2/fd-toolbox/paths/paths-names.cjs.js +2 -2
  60. package/level2/fd-toolbox/paths/paths-names.js +1 -1
  61. package/level2/fd-toolbox/routing/login-routers.cjs.js +1 -1
  62. package/level2/fd-toolbox/routing/login-routers.js +1 -1
  63. package/level2/fd-toolbox/routing/paths.cjs.js +1 -1
  64. package/level2/fd-toolbox/routing/paths.js +1 -1
  65. package/level2/fd-toolbox/strings/strings-constants.cjs.js +1 -1
  66. package/level2/fd-toolbox/strings/strings-constants.js +1 -1
  67. package/level2/fd-toolbox/strings/strings.cjs.js +1 -1
  68. package/level2/fd-toolbox/strings/strings.js +1 -1
  69. package/level2/fd-toolbox/types/ensure-type.cjs.js +1 -1
  70. package/level2/fd-toolbox/types/ensure-type.js +1 -1
  71. package/level2/fd-toolbox-core/core/name-of.cjs.js +1 -1
  72. package/level2/fd-toolbox-core/core/name-of.js +1 -1
  73. package/level2/fd-toolbox-core/types/resource-with-id.cjs.js +1 -1
  74. package/level2/fd-toolbox-core/types/resource-with-id.js +1 -1
  75. package/package.json +3 -3
  76. package/LICENSE +0 -45
  77. package/bin/index.js +0 -262
  78. package/cli/.gitlab-ci.yml +0 -15
  79. package/cli/.husky/commit-msg +0 -1
  80. package/cli/.husky/pre-commit +0 -2
  81. package/cli/README.md +0 -101
  82. package/cli/bin/index.ts +0 -359
  83. package/cli/constants/path.js +0 -54
  84. package/cli/drizzle.config.ts +0 -12
  85. package/cli/eslint.config.js +0 -10
  86. package/cli/global-setup.ts +0 -25
  87. package/cli/next.config.js +0 -55
  88. package/cli/npm-commands/gen-meta/index.ts +0 -3
  89. package/cli/npm-commands/gen-schema/index.ts +0 -5
  90. package/cli/npm-commands/migrate-db/index.ts +0 -5
  91. package/cli/npm-commands/migrate-db/migrate-db.ts +0 -15
  92. package/cli/npm-commands/seed-db/index.ts +0 -5
  93. package/cli/npm-commands/seed-db/seed-db.ts +0 -15
  94. package/cli/package-template.json +0 -61
  95. package/cli/playwright.config.ts +0 -34
  96. package/cli/postcss.config.mjs +0 -9
  97. package/cli/server.ts +0 -41
  98. package/cli/src/app/api/v1/[resourceName]/[id]/route.ts/route.ts +0 -11
  99. package/cli/src/app/api/v1/[resourceName]/route.ts/route.ts +0 -14
  100. package/cli/src/app/api/v1/[resourceName]/upsert/route.ts/route.ts +0 -3
  101. package/cli/src/app/api/v1/log/route.ts/route.ts +0 -7
  102. package/cli/src/app/api/v1/otheruser/[id]/route.ts/route.ts +0 -14
  103. package/cli/src/app/api/v1/otheruser/route.ts/route.ts +0 -7
  104. package/cli/src/app/api/v1/password/forgotpassword/route.ts/route.ts +0 -3
  105. package/cli/src/app/api/v1/password/resetpassword/route.ts/route.ts +0 -3
  106. package/cli/src/app/api/v1/payment/method/route.ts/route.ts +0 -4
  107. package/cli/src/app/api/v1/payment/route.ts/route.ts +0 -3
  108. package/cli/src/app/api/v1/payment/verify-fail/route.ts/route.ts +0 -3
  109. package/cli/src/app/api/v1/payment/verify-success/route.ts/route.ts +0 -3
  110. package/cli/src/app/api/v1/preload/route.ts/route.ts +0 -3
  111. package/cli/src/app/api/v1/searchable-resources/route.ts/route.ts +0 -11
  112. package/cli/src/app/api/v1/searchresult/route.ts/route.ts +0 -35
  113. package/cli/src/app/api/v1/sign-in/route.ts/route.ts +0 -3
  114. package/cli/src/app/api/v1/sign-out/route.ts/route.ts +0 -3
  115. package/cli/src/app/api/v1/sign-up/route.ts/route.ts +0 -3
  116. package/cli/src/app/api/v1/subscription/cancel/route.ts/route.ts +0 -3
  117. package/cli/src/app/api/v1/subscription/create/route.ts/route.ts +0 -3
  118. package/cli/src/app/api/v1/subscription/update/route.ts/route.ts +0 -3
  119. package/cli/src/app/api/v1/uimeta/route.ts/route.ts +0 -3
  120. package/cli/src/app/api/v1/uimetas/route.ts/route.ts +0 -3
  121. package/cli/src/app/api/v1/userpermission/route.ts/route.ts +0 -3
  122. package/cli/src/app/api/v1/visible-workspace/route.ts/route.ts +0 -5
  123. package/cli/src/app/api/v1/workspace/change/route.ts/route.ts +0 -5
  124. package/cli/src/app/favicon.ico +0 -0
  125. package/cli/src/app/globals.css +0 -1
  126. package/cli/src/app/layout.tsx +0 -44
  127. package/cli/src/app/page.tsx +0 -9
  128. package/cli/src/app/styles/common.css +0 -74
  129. package/cli/src/app/styles/rich-text-editor.css +0 -130
  130. package/cli/tailwind.config.ts +0 -13
  131. package/cli/tsconfig.declaration.json +0 -48
  132. package/cli/tsconfig.json +0 -65
  133. package/cli/tsconfig.server.json +0 -14
package/cli/server.ts DELETED
@@ -1,41 +0,0 @@
1
- import { createServer } from "node:http";
2
- import { parse } from "url";
3
- import next from "next";
4
- import {
5
- checkAndHandleWebSocketRequest,
6
- initSocket,
7
- initializeInternalMetaCache,
8
- } from "@fernir2/saas-kit/server";
9
- import { envSettingKeys, getNumberEnvSetting, isDev } from "@fernir2/saas-kit";
10
-
11
- const dev = isDev();
12
- const port = getNumberEnvSetting(envSettingKeys.fdPort) ?? 3000;
13
-
14
- const app = next({ dev, port });
15
- const nextRequestHandler = app.getRequestHandler();
16
-
17
- async function run() {
18
- await app.prepare();
19
-
20
- const httpServer = createServer((req, res) => {
21
- checkAndHandleWebSocketRequest(req, res);
22
-
23
- const parsedUrl = parse(req.url!, true);
24
- nextRequestHandler(req, res, parsedUrl);
25
- });
26
-
27
- initSocket(httpServer);
28
-
29
- httpServer
30
- .once("error", (err) => {
31
- console.error(err);
32
- process.exit(1);
33
- })
34
- .listen(port, () => {
35
- console.log(`> Ready on http://localhost:${port}`);
36
- });
37
-
38
- await initializeInternalMetaCache();
39
- }
40
-
41
- run();
@@ -1,11 +0,0 @@
1
- import {
2
- deleteResourceByIdRoute,
3
- getResourceByIdRoute,
4
- putResourceByIdRoute,
5
- } from "@meta/server/basic-crud/crud-api";
6
-
7
- export const GET = getResourceByIdRoute;
8
-
9
- export const PUT = putResourceByIdRoute;
10
-
11
- export const DELETE = deleteResourceByIdRoute;
@@ -1,14 +0,0 @@
1
- import {
2
- deleteResourceRoute,
3
- getResourceRoute,
4
- postResourceRoute,
5
- putResourceRoute,
6
- } from "@meta/server/basic-crud/crud-api";
7
-
8
- export const PUT = putResourceRoute;
9
-
10
- export const GET = getResourceRoute;
11
-
12
- export const POST = postResourceRoute;
13
-
14
- export const DELETE = deleteResourceRoute;
@@ -1,3 +0,0 @@
1
- import { upsertResourceRoute } from "@meta/server/basic-crud/crud-api";
2
-
3
- export const POST = upsertResourceRoute;
@@ -1,7 +0,0 @@
1
- import { logDeleteRoute, logGetRoute, logPostRoute } from "@server/fd/fd-toolbox-web/logging/log-api";
2
-
3
- export const POST = logPostRoute;
4
-
5
- export const GET = logGetRoute;
6
-
7
- export const DELETE = logDeleteRoute;
@@ -1,14 +0,0 @@
1
- import {
2
- otheruserIdGetRoute,
3
- otheruserIdPostRoute,
4
- otheruserIdPutRoute,
5
- otheruserIdDeleteRoute,
6
- } from "@server/otheruser/id/otheruser-id-api";
7
-
8
- export const GET = otheruserIdGetRoute;
9
-
10
- export const POST = otheruserIdPostRoute;
11
-
12
- export const PUT = otheruserIdPutRoute;
13
-
14
- export const DELETE = otheruserIdDeleteRoute;
@@ -1,7 +0,0 @@
1
- import { otheruserGetRoute, otheruserPostRoute, otheruserPutRoute } from "@server/otheruser/otheruser-api";
2
-
3
- export const POST = otheruserPostRoute;
4
-
5
- export const PUT = otheruserPutRoute;
6
-
7
- export const GET = otheruserGetRoute;
@@ -1,3 +0,0 @@
1
- import { forgotpasswordPostRoute } from "@server/password/forgotpassword/forgotpassword-api";
2
-
3
- export const POST = forgotpasswordPostRoute;
@@ -1,3 +0,0 @@
1
- import { resetpasswordPostRoute } from "@server/password/resetpassword/resetpassword-api";
2
-
3
- export const POST = resetpasswordPostRoute;
@@ -1,4 +0,0 @@
1
- import { paymentMethodGetRoute, paymentMethodPutRoute } from "@server/payment/method/payment-method-api";
2
-
3
- export const PUT = paymentMethodPutRoute;
4
- export const GET = paymentMethodGetRoute;
@@ -1,3 +0,0 @@
1
- import { registerPaymentCustomerAndCreateWorkspaceSubscriptionApi } from "@server/payments/payments/payments-api";
2
-
3
- export const POST = registerPaymentCustomerAndCreateWorkspaceSubscriptionApi;
@@ -1,3 +0,0 @@
1
- import { paymentVerifyFailPostRoute } from "@server/payment/verify-fail/payment-verify-fail-api";
2
-
3
- export const POST = paymentVerifyFailPostRoute;
@@ -1,3 +0,0 @@
1
- import { paymentVerifySuccessPostRoute } from "@server/payment/verify-success/payment-verify-success";
2
-
3
- export const POST = paymentVerifySuccessPostRoute;
@@ -1,3 +0,0 @@
1
- import { preloadApi } from "@server/fd/fd-toolbox-web/controllers/preload-api";
2
-
3
- export const GET = preloadApi;
@@ -1,11 +0,0 @@
1
- import { getSearchableResources } from "@meta/server/resources/searchable-resources";
2
- import { apiBadRequestResponse, apiOkResponse } from "@meta/server/web/responses";
3
- import { httpApiWrapper } from "@meta/server/web/http-api-wrapper";
4
-
5
- export const GET = httpApiWrapper(async () => {
6
- const resourceNames = Array.from((await getSearchableResources()).keys());
7
-
8
- if (!resourceNames) return apiBadRequestResponse([]);
9
-
10
- return apiOkResponse(resourceNames);
11
- });
@@ -1,35 +0,0 @@
1
- import { SearchResult } from "@fd-app-toolbox/resources/search-result.resource";
2
- import { searchResultParams } from "@fd-toolbox/constants/search-result-constants";
3
- import { getSearchableResourceResult, getSearchScreensResult } from "@server/search/search-result";
4
- import { SearchableResourceResult } from "@fd-app-toolbox/models/searchable-resource-result";
5
- import { ScreensResult } from "@fd-app-toolbox/models/screens-result";
6
- import { httpApiWrapper } from "@meta/server/web/http-api-wrapper";
7
- import { apiOkResponse } from "@meta/server/web/responses";
8
- import { isPromiseFulfilled } from "@fd-toolbox/lib/utils";
9
-
10
- export const GET = httpApiWrapper(async (req: Request) => {
11
- const url = new URL(req.url);
12
- const querySearch = url.searchParams.get(searchResultParams.querySearch) ?? "";
13
- const filterSearchParam = url.searchParams.get(searchResultParams.filterSearch);
14
-
15
- const filterSearch = filterSearchParam ? filterSearchParam.split(",") : [];
16
-
17
- const searchResourceResultPromise = getSearchableResourceResult(
18
- querySearch,
19
- filterSearch,
20
- ) satisfies Promise<SearchableResourceResult[]>;
21
-
22
- const searchScreensResultPromise = getSearchScreensResult(querySearch, filterSearch) satisfies Promise<
23
- ScreensResult[]
24
- >;
25
-
26
- const [searchResourceResult, searchScreensResult] = await Promise.allSettled([
27
- searchResourceResultPromise,
28
- searchScreensResultPromise,
29
- ]);
30
-
31
- return apiOkResponse<SearchResult>({
32
- searchableResources: isPromiseFulfilled(searchResourceResult) ? searchResourceResult.value : [],
33
- screens: isPromiseFulfilled(searchScreensResult) ? searchScreensResult.value : [],
34
- });
35
- });
@@ -1,3 +0,0 @@
1
- import { signInApi } from "@server/auth/sign-in-api";
2
-
3
- export const POST = signInApi;
@@ -1,3 +0,0 @@
1
- import { signOutGetRoute } from "@server/auth/sign-out-api";
2
-
3
- export const GET = signOutGetRoute;
@@ -1,3 +0,0 @@
1
- import { signUpApi } from "@server/auth/sign-up-api";
2
-
3
- export const POST = signUpApi;
@@ -1,3 +0,0 @@
1
- import { subscriptionCancelPostRoute } from "@server/subscription/cancel/subscription-cancel-api";
2
-
3
- export const POST = subscriptionCancelPostRoute;
@@ -1,3 +0,0 @@
1
- import { subscriptionCreatePostRoute } from "@server/subscription/create/subscription-create-api";
2
-
3
- export const POST = subscriptionCreatePostRoute;
@@ -1,3 +0,0 @@
1
- import { subscriptionUpdatePostRoute } from "@server/subscription/update/subscription-update-api";
2
-
3
- export const POST = subscriptionUpdatePostRoute;
@@ -1,3 +0,0 @@
1
- import { uiMetaRoute } from "@meta/server/ui/ui-metas-api";
2
-
3
- export const GET = uiMetaRoute;
@@ -1,3 +0,0 @@
1
- import { uiMetasRoute } from "@meta/server/ui/ui-metas-api";
2
-
3
- export const GET = uiMetasRoute;
@@ -1,3 +0,0 @@
1
- import { permissionRoute } from "@server/fd/fd-toolbox-web/permissions/permission-api";
2
-
3
- export const GET = permissionRoute;
@@ -1,5 +0,0 @@
1
- import { visibleWorkspaceGetRoute, visibleWorkspacePostRoute } from "@server/workspace/visible-workspace-api";
2
-
3
- export const POST = visibleWorkspacePostRoute;
4
-
5
- export const GET = visibleWorkspaceGetRoute;
@@ -1,5 +0,0 @@
1
- import { workspaceGetRoute, workspacePostRoute } from "@server/workspace/workspace-api";
2
-
3
- export const GET = workspaceGetRoute;
4
-
5
- export const POST = workspacePostRoute;
Binary file
@@ -1 +0,0 @@
1
- @import "@fernir2/saas-kit/styles";
@@ -1,44 +0,0 @@
1
- import { FdHtmlMetadata } from "@meta/client/framework";
2
- import { GeistSans } from "geist/font/sans";
3
- import "src/app/globals.css";
4
- import { cn } from "@fd-toolbox/lib/utils";
5
- import Favicon from "src/app/favicon.ico";
6
- import { FdToaster } from "@fd-component-toolbox/toaster/FdToaster";
7
- import { ReactNode } from "react";
8
- import { FdProviders } from "@client/components/providers/FdProviders";
9
- import { setSidebarResourceNames } from "@fd-app-toolbox/layout/sidebar/sidebar-resource-names-cache";
10
- import { defaultGlobalConfig } from "@meta/providers/global-provider/default-config";
11
- import { setMultiListEditResourceConfigs } from "@/app/config/multi-list-config";
12
- import { setResourceListConfigs } from "@packages/level2/client/pages/view-page/resource-list-configs";
13
- import { setEditResourceConfigs } from "@packages/level2/meta/edit-resource/config/fd-edit-resource-configs";
14
-
15
- export const metadata: FdHtmlMetadata = {
16
- title: "SaaS Kit",
17
- icons: [{ rel: "icon", url: Favicon.src }],
18
- };
19
-
20
- export default async function RootLayout({ children }: { children: ReactNode }) {
21
- const sidebarResourceNames: string[] = [];
22
-
23
- setSidebarResourceNames(sidebarResourceNames);
24
- await setMultiListEditResourceConfigs();
25
- await setResourceListConfigs();
26
- setEditResourceConfigs();
27
-
28
- return (
29
- <html lang="en">
30
- <body className={cn(GeistSans.className, "h-screen text-sm")}>
31
- <div className="flex h-full flex-col">
32
- <FdProviders
33
- globalConfig={{
34
- ...defaultGlobalConfig,
35
- }}
36
- >
37
- {children}
38
- </FdProviders>
39
- </div>
40
- <FdToaster />
41
- </body>
42
- </html>
43
- );
44
- }
@@ -1,9 +0,0 @@
1
- import { fdRedirect } from "@fd-toolbox/server/framework";
2
- import { getResourceListUrl } from "@meta/services/meta-navigations";
3
- import { resourceNames } from "@fd-toolbox/resources/resource-names";
4
-
5
- export default function Home() {
6
- const afterLoginUrl = getResourceListUrl(resourceNames.contact);
7
-
8
- fdRedirect(afterLoginUrl);
9
- }
@@ -1,74 +0,0 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
4
-
5
- @layer base {
6
- * {
7
- @apply border-border;
8
- }
9
- body {
10
- @apply bg-background text-foreground;
11
- }
12
- }
13
-
14
- @supports not (-webkit-appearance: none) {
15
- * {
16
- scrollbar-width: thin;
17
- scrollbar-color: hsl(var(--fd-toolbar)) hsl(var(--background));
18
- }
19
- }
20
-
21
- @supports (-webkit-appearance: none) {
22
- *::-webkit-scrollbar {
23
- width: 15px;
24
- height: 15px;
25
- }
26
-
27
- *::-webkit-scrollbar-track {
28
- background: hsl(var(--background));
29
- }
30
-
31
- *::-webkit-scrollbar-thumb {
32
- width: 9px;
33
- height: 9px;
34
- background: hsl(var(--fd-toolbar));
35
- border-radius: var(--radius);
36
- border: 3px solid hsl(var(--background));
37
- }
38
-
39
- *::-webkit-scrollbar-thumb:hover {
40
- background: hsl(var(--fd-toolbar-hover));
41
- }
42
-
43
- *::-webkit-scrollbar-button {
44
- display: none;
45
- }
46
- }
47
-
48
- .scrollbar-hidden {
49
- -ms-overflow-style: none;
50
- scrollbar-width: none;
51
- }
52
-
53
- @media (max-width: 426px) {
54
- html,
55
- body {
56
- overflow: auto;
57
- -ms-overflow-style: none;
58
- scrollbar-width: none;
59
- }
60
-
61
- body::-webkit-scrollbar,
62
- body *::-webkit-scrollbar {
63
- display: none;
64
- }
65
- }
66
-
67
- @layer base {
68
- input:-webkit-autofill,
69
- input:-webkit-autofill:hover,
70
- input:-webkit-autofill:focus {
71
- -webkit-box-shadow: 0 0 0px 1000px hsl(var(--background)) inset;
72
- -webkit-text-fill-color: hsl(var(--foreground));
73
- }
74
- }
@@ -1,130 +0,0 @@
1
- div.ql-toolbar.ql-snow {
2
- padding: 0.5rem 0.75rem;
3
- border-top-right-radius: var(--radius);
4
- border-top-left-radius: var(--radius);
5
- border: 1px solid hsl(var(--border));
6
- }
7
-
8
- .ql-toolbar.ql-snow .ql-picker-label {
9
- padding-left: 0;
10
- border: none;
11
- }
12
-
13
- .ql-toolbar.ql-snow .ql-picker-label::before {
14
- font-family: "__GeistSans_3a0388", serif;
15
- }
16
-
17
- .ql-editor {
18
- font-size: 14px;
19
- padding: 10px 12px;
20
- }
21
-
22
- div.ql-container.ql-snow {
23
- height: max-content;
24
- border: 1px solid hsl(var(--border));
25
- border-bottom-right-radius: var(--radius);
26
- border-bottom-left-radius: var(--radius);
27
- }
28
-
29
- .ql-tooltip {
30
- display: none;
31
- }
32
-
33
- .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
34
- z-index: 11;
35
- }
36
-
37
- .ql-picker-label,
38
- .ql-picker-label .ql-stroke {
39
- color: hsl(var(--popover-foreground));
40
- stroke: hsl(var(--popover-foreground));
41
- fill: hsl(var(--popover-foreground));
42
- }
43
-
44
- .ql-toolbar .ql-formats button {
45
- color: hsl(var(--popover-foreground));
46
- }
47
-
48
- .ql-toolbar .ql-formats button .ql-stroke {
49
- stroke: hsl(var(--popover-foreground));
50
- }
51
-
52
- .ql-toolbar .ql-formats button .ql-fill {
53
- fill: hsl(var(--popover-foreground));
54
- }
55
-
56
- .ql-toolbar .ql-active,
57
- .ql-toolbar .ql-active .ql-stroke,
58
- .ql-toolbar .ql-active .ql-fill {
59
- color: hsl(var(--popover-foreground));
60
- fill: none;
61
- stroke: none;
62
- }
63
-
64
- .ql-snow .ql-picker {
65
- font-weight: 400;
66
- }
67
-
68
- .ql-editor.ql-blank::before {
69
- left: 12px;
70
- right: 12px;
71
- color: hsl(var(--muted-foreground));
72
- }
73
-
74
- .ql-toolbar .ql-formats button:hover .ql-stroke,
75
- .ql-toolbar .ql-picker .ql-picker-label:hover .ql-stroke,
76
- .ql-toolbar .ql-picker .ql-picker-label.ql-active .ql-stroke,
77
- .ql-toolbar .ql-formats button.ql-active .ql-stroke {
78
- stroke: hsl(var(--foreground));
79
- stroke-width: 2;
80
- }
81
-
82
- .ql-toolbar .ql-formats button:hover .ql-fill,
83
- .ql-toolbar .ql-formats button.ql-active .ql-fill {
84
- fill: hsl(var(--foreground));
85
- }
86
-
87
- .ql-toolbar .ql-picker .ql-picker-label:hover::before,
88
- .ql-toolbar .ql-picker .ql-picker-label.ql-active::before,
89
- .ql-picker .ql-picker-options .ql-picker-item.ql-selected::before {
90
- color: hsl(var(--foreground));
91
- font-weight: 600;
92
- }
93
-
94
- .ql-snow .ql-picker-options .ql-picker-item:hover {
95
- border-radius: 0.375rem;
96
- background: hsl(var(--muted) / 0.5);
97
- }
98
-
99
- .ql-toolbar .ql-formats button .ql-stroke,
100
- .ql-toolbar .ql-picker .ql-picker-label .ql-stroke {
101
- stroke: hsl(var(--foreground));
102
- stroke-width: 1.2;
103
- }
104
-
105
- .ql-toolbar .ql-formats button .ql-fill {
106
- fill: hsl(var(--foreground));
107
- }
108
-
109
- .ql-toolbar .ql-picker .ql-picker-label::before,
110
- .ql-picker .ql-picker-options .ql-picker-item::before {
111
- color: hsl(var(--foreground));
112
- font-weight: 400;
113
- }
114
-
115
- .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
116
- min-width: 12rem;
117
- z-index: 50;
118
- margin-right: 1rem;
119
- border-radius: 0.375rem;
120
- background-color: hsl(var(--background));
121
- border: 1px solid hsl(var(--border));
122
- box-shadow: 0rem 0rem 0.1rem 0.01rem hsl(var(--fd-toolbar-shadow));
123
- outline: none;
124
- pointer-events: auto;
125
- }
126
-
127
- .ql-snow .ql-picker-options .ql-picker-item {
128
- width: 100%;
129
- padding: 0.5rem 0.75rem;
130
- }
@@ -1,13 +0,0 @@
1
- import { getTailwindConfig } from "@fernir2/saas-kit";
2
-
3
- const config = getTailwindConfig();
4
-
5
- config.content = [
6
- "./pages/**/*.{ts,tsx}",
7
- "./components/**/*.{ts,tsx}",
8
- "./app/**/*.{ts,tsx}",
9
- "./src/**/*.{ts,tsx}",
10
- "./node_modules/@fernir2/saas-kit/src/**/*.{js,ts,jsx,tsx}",
11
- ];
12
-
13
- export default config;
@@ -1,48 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "experimentalDecorators": true,
5
- "emitDecoratorMetadata": true,
6
- "lib": ["dom", "dom.iterable", "esnext"],
7
- "allowJs": true,
8
- "skipLibCheck": true,
9
- "strict": false,
10
- "esModuleInterop": true,
11
- "module": "esnext",
12
- "moduleResolution": "bundler",
13
- "resolveJsonModule": true,
14
- "isolatedModules": false,
15
- "jsx": "preserve",
16
- "incremental": false,
17
- "plugins": [
18
- {
19
- "name": "next"
20
- }
21
- ],
22
- "paths": {
23
- "@/*": ["./src/*"],
24
- "@cli/*": ["./packages/level2/cli/*"],
25
- "@server/*": ["./packages/level2/server/*"],
26
- "@schemas/*": ["./generated/*"],
27
- "@npm-commands/*": ["./packages/level2/npm-commands/*"],
28
- "@root/*": ["./*"],
29
- "@enricher/*": ["./packages/level2/enricher/*"],
30
- "@packages/*": ["./packages/*"],
31
- "@common/*": ["./packages/level2/common/*"],
32
- "@fd-app-toolbox/*": ["./packages/level2/fd-app-toolbox/*"],
33
- "@fd-component-toolbox/*": ["./packages/level2/fd-component-toolbox/*"],
34
- "@fd-toolbox-core/*": ["./packages/level2/fd-toolbox-core/*"],
35
- "@fd-toolbox/*": ["./packages/level2/fd-toolbox/*"],
36
- "@meta/*": ["./packages/level2/meta/*"],
37
- "@base-repo/*": ["./packages/base-repo/*"],
38
- "@client/*": ["./packages/level2/client/*"]
39
- },
40
- "outDir": "./build/package",
41
- "rootDir": "./",
42
- "declaration": true,
43
- "declarationDir": "./build/package",
44
- "emitDeclarationOnly": false
45
- },
46
- "include": ["next-env.d.ts", "lib/**/*.ts"],
47
- "exclude": ["node_modules", "dist"]
48
- }
package/cli/tsconfig.json DELETED
@@ -1,65 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2023",
4
- "experimentalDecorators": true,
5
- "emitDecoratorMetadata": true,
6
- "lib": ["ES2023", "dom", "dom.iterable"],
7
- "allowJs": true,
8
- "skipLibCheck": true,
9
- "strict": true,
10
- "esModuleInterop": true,
11
-
12
- "module": "esnext",
13
- "moduleResolution": "bundler",
14
-
15
- "resolveJsonModule": true,
16
- "isolatedModules": true,
17
- "jsx": "preserve",
18
- "incremental": true,
19
- "plugins": [{ "name": "next" }],
20
-
21
- "baseUrl": "./",
22
- "preserveSymlinks": false,
23
- "paths": {
24
- "@/*": ["./src/*"],
25
- "@cli/*": ["./cli/*"],
26
- "@adders/*": ["./adders/*"],
27
- "@server/*": ["./server/*"],
28
- "@schemas/*": ["./generated/*"],
29
- "@npm-commands/*": ["./npm-commands/*"],
30
- "@root/*": ["./*"]
31
- },
32
-
33
- "forceConsistentCasingInFileNames": true,
34
- "noFallthroughCasesInSwitch": true,
35
- "sourceMap": true,
36
- "importHelpers": true,
37
- "noEmitHelpers": true,
38
- "downlevelIteration": true,
39
- "pretty": true,
40
- "noUnusedLocals": true,
41
- "noUnusedParameters": true,
42
- "noPropertyAccessFromIndexSignature": true,
43
- "noImplicitOverride": true,
44
- "useUnknownInCatchVariables": true,
45
-
46
- "noEmit": false,
47
- "declaration": true,
48
- "declarationDir": "./build/package/types",
49
- "rootDir": "./",
50
- "outDir": "./build/package/types-output",
51
- "noEmitOnError": true
52
- },
53
- "include": [
54
- "src",
55
- "cli",
56
- "server",
57
- "adders",
58
- "generated",
59
- "next-env.d.ts",
60
- "global.d.ts",
61
- ".next/types/**/*.ts",
62
- "playwright.config.ts"
63
- ],
64
- "exclude": ["node_modules", "dist", "build", ".next", "coverage"]
65
- }
@@ -1,14 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "module": "es2022",
5
- "moduleResolution": "bundler",
6
- "outDir": "dist",
7
- "lib": ["ES2022", "dom"],
8
- "target": "ES2022",
9
- "isolatedModules": false,
10
- "noEmit": false,
11
- "strict": true
12
- },
13
- "include": ["server.ts"]
14
- }