create-dovite 1.0.3 → 2.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 CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  Vite template featuring Tailwind(v4), ShadCN, and DOMO integration.
4
4
 
5
-
6
5
  > **Note:** This package requires yarn and the DOMO CLI to be installed before use.
7
6
 
8
7
  ## Prerequisites
@@ -10,16 +9,17 @@ Vite template featuring Tailwind(v4), ShadCN, and DOMO integration.
10
9
  ```bash
11
10
  # Install yarn if you don't have it
12
11
  npm install -g yarn
12
+ ```
13
13
 
14
14
  # For DOMO CLI installation, refer to:
15
+
15
16
  [DOMO CLI](https://developer.domo.com/portal/6hlzv1hinkq19-setup-and-installation)
16
- ```
17
17
 
18
18
  ## Usage
19
19
 
20
20
  ```bash
21
21
  # Using yarn (recommended)
22
- yarn create-dovite my-app
22
+ yarn create dovite my-app
23
23
 
24
24
  # Using npm
25
25
  npx create-dovite my-app
@@ -44,4 +44,5 @@ npx create-dovite my-app
44
44
  - [Vitawind](https://vitawind.vercel.app/)
45
45
 
46
46
  ## License
47
+
47
48
  MIT
package/index.js CHANGED
@@ -1,171 +1,35 @@
1
- #!/usr/bin/env node
2
- const { execSync } = require("child_process");
3
- const path = require("path");
4
- const fs = require("fs");
1
+ #!/usr/bin/env node
2
+ const { getProjectDetails } = require("./src/prompts");
3
+ const {
4
+ createViteProject,
5
+ updatePackageJson,
6
+ installDependencies,
7
+ initializeShadcn,
8
+ initializeGit,
9
+ } = require("./src/setup");
10
+ const { copyTemplateFiles, updateManifest } = require("./src/files");
5
11
 
6
12
  async function main() {
7
13
  try {
8
- const projectName = process.argv[2];
9
-
10
- if (!projectName) {
11
- console.error("Please specify a project name");
12
- process.exit(1);
13
- }
14
-
15
- console.log(`Creating new project: ${projectName}`);
16
-
17
- // Create Vite project
18
- execSync(`yarn create vite ${projectName} --template react`, {
19
- stdio: "inherit",
20
- });
21
-
22
- // Move into project directory
23
- process.chdir(projectName);
24
-
25
- // Fix package name
26
- console.log("Updating package name...");
27
- const packageJson = JSON.parse(fs.readFileSync("package.json", "utf8"));
28
- packageJson.name = projectName;
29
- fs.writeFileSync("package.json", JSON.stringify(packageJson, null, 2));
30
-
31
- // Install initial dependencies
32
- console.log("Installing dependencies...");
33
- execSync("yarn", { stdio: "inherit" });
34
-
35
- // Install all required dependencies
36
- console.log("Installing additional dependencies...");
37
- execSync(
38
- "yarn add tailwindcss @tailwindcss/vite @domoinc/ryuu-proxy ryuu.js tailwind-merge react-icons",
39
- { stdio: "inherit" }
40
- );
41
- execSync("yarn add -D @types/node", { stdio: "inherit" });
42
-
43
- // Update src/index.css
44
- fs.writeFileSync("src/index.css", `@import "tailwindcss";`);
45
-
46
- // Copy template files if they exist
47
- const templateDir = path.join(__dirname, "template");
48
- if (fs.existsSync(templateDir)) {
49
- console.log("Copying template files...");
50
- // This is a simple implementation - you might want a more robust solution
51
- // that preserves directory structure
52
- const copyRecursive = (src, dest) => {
53
- if (fs.statSync(src).isDirectory()) {
54
- if (!fs.existsSync(dest)) {
55
- fs.mkdirSync(dest, { recursive: true });
56
- }
57
- const files = fs.readdirSync(src);
58
- for (const file of files) {
59
- copyRecursive(path.join(src, file), path.join(dest, file));
60
- }
61
- } else {
62
- fs.copyFileSync(src, dest);
63
- }
64
- };
65
- copyRecursive(templateDir, "./");
66
- }
67
-
68
- // Update manifest.js if it exists in public folder
69
- const publicDir = path.join(process.cwd(), "public");
70
- const manifestPath = path.join(publicDir, "manifest.js");
71
-
72
- if (fs.existsSync(manifestPath)) {
73
- console.log("Updating manifest.js with project name...");
74
- let manifestContent = fs.readFileSync(manifestPath, "utf8");
75
-
76
- // Replace name field in manifest.js with the project name
77
- // This assumes a standard format like: name: "OldName",
78
- manifestContent = manifestContent.replace(
79
- /name:\s*["']([^"']*)["']/g,
80
- `name: "${projectName}"`
81
- );
82
-
83
- fs.writeFileSync(manifestPath, manifestContent);
84
- } else {
85
- // If manifest.js doesn't exist yet, create public directory and a basic manifest file
86
- if (!fs.existsSync(publicDir)) {
87
- fs.mkdirSync(publicDir, { recursive: true });
88
- }
89
-
90
- console.log("Creating manifest.js with project name...");
91
- const basicManifest = `export default {
92
- name: "${projectName}",
93
- version: "1.0.0",
94
- description: "${projectName} application"
95
- };
96
- `;
97
- fs.writeFileSync(manifestPath, basicManifest);
98
- }
99
-
100
- // Update package.json with latest versions
101
- console.log("Updating package.json...");
102
- const updatedPackageJson = JSON.parse(
103
- fs.readFileSync("package.json", "utf8")
104
- );
105
-
106
- // Update scripts
107
- updatedPackageJson.scripts = {
108
- dev: "vite",
109
- build: "vite build",
110
- lint: "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0",
111
- preview: "vite preview",
112
- upload: "yarn run build && cd dist && domo publish && cd ..", //only line need to be added
113
- };
114
-
115
- fs.writeFileSync(
116
- "package.json",
117
- JSON.stringify(updatedPackageJson, null, 2)
14
+ const { projectName, templateType } = await getProjectDetails(
15
+ process.argv[2]
118
16
  );
119
17
 
120
- // Initialize shadcn
121
- console.log("Initializing shadcn...");
122
- try {
123
- execSync("npx shadcn@latest init", { stdio: "inherit" });
124
- } catch (error) {
125
- console.log(
126
- 'Note: You may need to run "npx shadcn@latest init" manually if initialization failed.'
127
- );
128
- }
18
+ createViteProject(projectName, templateType);
129
19
 
130
- // Install new dependencies after shadcn
131
- console.log("Installing final dependencies...");
132
- execSync("yarn", { stdio: "inherit" });
20
+ // Operations that modify files inside the project
21
+ // We pass projectName so they can resolve paths correctly relative to CWD
22
+ updatePackageJson(projectName, templateType);
133
23
 
134
- // Modify components.json
135
- // const componentsJsonPath = path.join(process.cwd(), "components.json");
136
- // if (fs.existsSync(componentsJsonPath)) {
137
- // console.log("Updating components.json...");
138
- // try {
139
- // const componentsJson = JSON.parse(
140
- // fs.readFileSync(componentsJsonPath, "utf8")
141
- // );
24
+ installDependencies(projectName);
142
25
 
143
- // // Modify the utils path as specified
144
- // if (componentsJson.aliases) {
145
- // componentsJson.aliases.utils = "/src/lib/utils";
146
- // }
26
+ copyTemplateFiles(projectName, templateType);
147
27
 
148
- // fs.writeFileSync(
149
- // componentsJsonPath,
150
- // JSON.stringify(componentsJson, null, 2)
151
- // );
152
- // console.log("Successfully updated components.json");
153
- // } catch (error) {
154
- // console.error("Error updating components.json:", error.message);
155
- // }
156
- // } else {
157
- // console.log(
158
- // "Warning: components.json not found. Make sure shadcn initialization completed successfully."
159
- // );
160
- // }
161
- execSync("npx shadcn@latest add button", { stdio: "inherit" });
28
+ updateManifest(projectName);
162
29
 
163
- console.log("Initializing git");
30
+ initializeShadcn(projectName);
164
31
 
165
- execSync("git init", { stdio: "inherit" });
166
- execSync("git add .", { stdio: "inherit" });
167
- execSync(`git commit -m "first commit"`, { stdio: "inherit" });
168
- execSync("git checkout -b main", { stdio: "inherit" });
32
+ initializeGit(projectName);
169
33
 
170
34
  console.log(`
171
35
  Project ${projectName} created successfully!
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-dovite",
3
- "version": "1.0.3",
3
+ "version": "2.0.0",
4
4
  "description": "Vite template featuring Tailwind (v4), ShadCN (Canary), and DOMO integration.",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -24,5 +24,8 @@
24
24
  "repository": {
25
25
  "type": "git",
26
26
  "url": "https://github.com/Ajay-Balu/create-dovite"
27
+ },
28
+ "dependencies": {
29
+ "prompts": "^2.4.2"
27
30
  }
28
31
  }
@@ -1,7 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "paths": {
4
- "@/*": ["./src/*"]
5
- }
6
- }
7
- }
@@ -1,12 +0,0 @@
1
- {
2
- "name": "project-name",
3
- "version": "1.0.0",
4
- "size": {
5
- "width": 3,
6
- "height": 3
7
- },
8
- "mapping": [],
9
- "collections": [],
10
- "workflowMapping": [],
11
- "packagesMapping": []
12
- }
Binary file
@@ -1,56 +0,0 @@
1
- /* eslint-disable react/prop-types */
2
- import { createContext, useState, useEffect } from "react";
3
- import DomoApi from "./DomoAPI";
4
-
5
- export const UserContext = createContext();
6
-
7
- export const UserProvider = ({ children }) => {
8
- const [currentUser, setCurrentUser] = useState("");
9
- const [currentUserId, setCurrentUserId] = useState("");
10
- const [avatarKey, setAvatarKey] = useState("");
11
- const [customer, setCustomer] = useState("");
12
- const [host, setHost] = useState("");
13
-
14
- useEffect(() => {
15
- let isUserFetched = false;
16
-
17
- DomoApi.GetCurrentUser().then((data) => {
18
- // console.log("User Data",data);
19
-
20
- if (!isUserFetched) {
21
- const userId = data?.userId;
22
- const displayName = data?.displayName;
23
- const avatarKey = data?.avatarKey;
24
- const customer=data?.customer;
25
- const host=data?.host;
26
-
27
- setCurrentUser(displayName || "");
28
- setCurrentUserId(userId || "");
29
- setAvatarKey(avatarKey || "");
30
- setCustomer(customer || "");
31
- setHost(host || "");
32
-
33
-
34
- isUserFetched = true;
35
- }
36
- });
37
-
38
- return () => {
39
- isUserFetched = true;
40
- };
41
- }, []);
42
-
43
- return (
44
- <UserContext.Provider
45
- value={{
46
- currentUser,
47
- currentUserId,
48
- avatarKey,
49
- customer,
50
- host
51
- }}
52
- >
53
- {children}
54
- </UserContext.Provider>
55
- );
56
- };
@@ -1,235 +0,0 @@
1
- import domo from "ryuu.js";
2
- import axios from "axios";
3
-
4
- export async function fetchAIData(prompt, template, maxWords) {
5
- try {
6
- // Validate the required "prompt" parameter
7
- if (!prompt || typeof prompt !== "string") {
8
- throw new Error("The 'prompt' parameter is required and must be a string.");
9
- }
10
-
11
- // Construct the body dynamically, including properties only if they are valid
12
- const body = {
13
- input: prompt,
14
- ...(template && typeof template === "string" && {
15
- promptTemplate: {
16
- template,
17
- },
18
- }),
19
- ...(maxWords && !isNaN(maxWords) && {
20
- parameters: {
21
- max_words: maxWords.toString(),
22
- },
23
- }),
24
- };
25
-
26
- // Send the POST request
27
- const response = await domo.post(`/domo/ai/v1/text/generation`, body);
28
- console.log("AI Response:", response.output);
29
-
30
- return response?.output;
31
- } catch (error) {
32
- console.error("Error fetching data:", error);
33
- throw error; // Re-throw the error for better upstream handling
34
- }
35
- }
36
-
37
-
38
- export async function fetchData(dataset) {
39
- try {
40
- const response = await domo.get(`/data/v1/${dataset}`).then((data) => {
41
- return data;
42
- });
43
- // console.log(response);
44
- return response;
45
- } catch (error) {
46
- console.error("Error fetching data:", error);
47
- }
48
- }
49
-
50
- export async function fetchSqlData(dataset, query) {
51
- // console.log("Query",query);
52
-
53
- // Ensure the query is a string
54
- if (typeof query !== "string") {
55
- throw new Error("Query must be a string");
56
- }
57
-
58
- try {
59
- // Fetch data from the API
60
- const apiData = await domo
61
- .post(`/sql/v1/${dataset}`, query, { contentType: "text/plain" })
62
- .then((data) => {
63
- // console.log('Fetched Data:', data);
64
- return data;
65
- });
66
-
67
- // Validate the fetched data
68
- if (!apiData || !apiData.columns || !apiData.rows) {
69
- throw new Error("Invalid data received from the API");
70
- }
71
-
72
- // Extract and clean column names
73
- const cleanedColumns = apiData.columns.map((column) => {
74
- return column
75
- .replace(/`/g, "")
76
- .replace(/T1\./g, "")
77
- .replace(/avg\((.*?)\)/i, "$1")
78
- .trim();
79
- });
80
-
81
- // Map rows to cleaned column names
82
- const jsonResult = apiData.rows.map((row) => {
83
- const jsonObject = {};
84
- cleanedColumns.forEach((cleanedColumn, index) => {
85
- jsonObject[cleanedColumn] = row[index];
86
- });
87
- return jsonObject;
88
- });
89
-
90
- // console.log("Mapped SQL DATA",jsonResult);
91
-
92
- // Return the dynamically created JSON
93
- return jsonResult;
94
- } catch (error) {
95
- console.error("Error fetching or processing data:", error);
96
- throw error; // Rethrow the error for the caller to handle
97
- }
98
- }
99
-
100
- export async function sendEmail(to, subject, body, attachment) {
101
- const data = {
102
- to,
103
- subject,
104
- body,
105
- ...(attachment && { attachment: [attachment] }),
106
- };
107
-
108
- if (data) {
109
- try {
110
- const response = await domo.post(
111
- `/domo/workflow/v1/models/email/start`,
112
- data
113
- );
114
- if (response) {
115
- console.log("response", response);
116
- }
117
- } catch (err) {
118
- console.error("Error sending email:", err);
119
- }
120
- }
121
- }
122
-
123
- //Dataflow
124
- export const DataflowsActions = async (action, dataflowId) => {
125
- const data = {
126
- action,
127
- dataflowId,
128
- result: true,
129
- };
130
-
131
- if (data) {
132
- try {
133
- const response = await domo.post(
134
- `/domo/workflow/v1/models/dataflow/start`,
135
- data
136
- );
137
- if (response) {
138
- console.log("response", response);
139
- }
140
- } catch (err) {
141
- console.error("Error sending email:", err);
142
- }
143
- }
144
- };
145
- export const generateAccessToken = async (clientId, clientSecret) => {
146
- const tokenUrl = "https://api.domo.com/oauth/token";
147
- try {
148
- const response = await axios.post(
149
- tokenUrl,
150
- new URLSearchParams({
151
- grant_type: "client_credentials",
152
- scope: "user",
153
- }).toString(),
154
- {
155
- headers: {
156
- "Content-Type": "application/x-www-form-urlencoded",
157
- },
158
- auth: {
159
- username: clientId,
160
- password: clientSecret,
161
- },
162
- }
163
- );
164
- console.log("Response:", response);
165
-
166
- console.log("Access Token:", response.data.access_token);
167
-
168
- return response.data.access_token;
169
- } catch (err) {
170
- console.error("Error:", err);
171
- throw err;
172
- }
173
- };
174
-
175
- //List Of Users
176
- export const fetchUsers = async (accessToken) => {
177
- const userUrl = `https://api.domo.com/v1/users?limit=500`;
178
- console.log("accessToken", accessToken);
179
- try {
180
- if (!accessToken) {
181
- console.log("Access token not found");
182
- return;
183
- }
184
- const response = await axios.get(userUrl, {
185
- headers: {
186
- Authorization: `Bearer ${accessToken}`,
187
- },
188
- });
189
- console.log("List of users with access token", response.data);
190
- return response.data;
191
- } catch (err) {
192
- console.error("Error fetching User details:", err);
193
- }
194
- };
195
-
196
- //List Of Dataset
197
- export const fetchDatasets = async (accessToken) => {
198
- const datasetUrl = `https://api.domo.com/v1/datasets`;
199
-
200
- try {
201
- if (!accessToken) {
202
- await generateAccessToken();
203
- }
204
- const response = await axios.get(datasetUrl, {
205
- headers: {
206
- Authorization: `Bearer ${accessToken}`,
207
- },
208
- });
209
- // console.log("List of dataset", response.data);
210
- return response.data;
211
- } catch (err) {
212
- console.error("Error fetching dataset details:", err);
213
- }
214
- };
215
-
216
- //Perticaular Dataset Details
217
- export const fetchDatasetDetails = async (accessToken, datasetId) => {
218
- const datasetUrl = `https://api.domo.com/v1/datasets/${datasetId}`;
219
-
220
- try {
221
- if (!accessToken) {
222
- await generateAccessToken();
223
- }
224
-
225
- const response = await axios.get(datasetUrl, {
226
- headers: {
227
- Authorization: `Bearer ${accessToken}`,
228
- },
229
- });
230
- // console.log("data", response.data)
231
- return response.data;
232
- } catch (err) {
233
- console.error("Error fetching dataset details:", err);
234
- }
235
- };
@@ -1,311 +0,0 @@
1
- import domo from "ryuu.js";
2
- // import Download from "downloadjs";
3
-
4
- const BASE_URL = "/domo/datastores/v1";
5
-
6
- const GetCurrentUser = () => {
7
- return domo
8
- .get("/domo/environment/v1")
9
- .then((user) => ({
10
- ...user,
11
- displayName: user.userName,
12
- avatarKey: `/domo/avatars/v2/USER/${user.userId}`,
13
- }))
14
- .catch((error) => {
15
- console.error("Error getting current user:", error);
16
- throw error;
17
- });
18
- };
19
-
20
- const GetAllUser = () => {
21
- return domo
22
- .get(`/domo/users/v1?limit={500}`)
23
- .then((response) => response)
24
- .catch((error) => {
25
- console.error("Error getting All users:", error);
26
- throw error;
27
- });
28
- };
29
-
30
- const GetUser = (userId) => {
31
- return domo
32
- .get(`/domo/users/v1/${userId}?includeDetails=true`)
33
- .then((user) => ({ ...user, userName: user.displayName }))
34
- .catch((error) => {
35
- console.error("Error getting user:", error);
36
- throw error;
37
- });
38
- };
39
-
40
- const CreateDocument = (collectionName, document) => {
41
- console.log(document);
42
- console.log(collectionName);
43
-
44
- return domo
45
- .post(`${BASE_URL}/collections/${collectionName}/documents/`, {
46
- content: document,
47
- })
48
- .then((response) => response)
49
- .catch((error) => {
50
- console.error("Error creating document:", error);
51
- throw error;
52
- });
53
- };
54
-
55
- const ListDocuments = (collectionName) => {
56
- return domo
57
- .get(`${BASE_URL}/collections/${collectionName}/documents/`)
58
- .then((response) => response)
59
- .catch((error) => {
60
- console.error("Error listing documents:", error);
61
- throw error;
62
- });
63
- };
64
-
65
- const GetDocument = (collectionName, documentId) => {
66
- return domo
67
- .get(`${BASE_URL}/collections/${collectionName}/documents/${documentId}`)
68
- .then((response) => response)
69
- .catch((error) => {
70
- console.error("Error getting document:", error);
71
- throw error;
72
- });
73
- };
74
-
75
- const UpdateDocument = (collectionName, documentId, document) => {
76
- return domo
77
- .put(`${BASE_URL}/collections/${collectionName}/documents/${documentId}`, {
78
- content: document,
79
- })
80
- .then((response) => response)
81
- .catch((error) => {
82
- console.error("Error updating document:", error);
83
- throw error;
84
- });
85
- };
86
- const queryDocumentsWithAggregations = (
87
- collectionName,
88
- query = {},
89
- aggregations = {},
90
- options = {}
91
- ) => {
92
- // Base URL for the query
93
- let url = `${BASE_URL}/collections/${collectionName}/documents/query?`;
94
-
95
- // Helper function to format aggregation parameters
96
- const formatAggregationParams = (params) => {
97
- return Object.entries(params)
98
- .map(([property, alias]) => `${property} ${alias}`)
99
- .join(", ");
100
- };
101
-
102
- // Append aggregation parameters to URL
103
- if (aggregations.groupby) url += `groupby=${aggregations.groupby.join(",")}&`;
104
- if (aggregations.count) url += `count=${aggregations.count}&`;
105
- if (aggregations.avg)
106
- url += `avg=${formatAggregationParams(aggregations.avg)}&`;
107
- if (aggregations.min)
108
- url += `min=${formatAggregationParams(aggregations.min)}&`;
109
- if (aggregations.max)
110
- url += `max=${formatAggregationParams(aggregations.max)}&`;
111
- if (aggregations.sum)
112
- url += `sum=${formatAggregationParams(aggregations.sum)}&`;
113
- if (aggregations.unwind) url += `unwind=${aggregations.unwind.join(",")}&`;
114
-
115
- // Append options to the URL
116
- if (options.orderby) url += `orderby=${options.orderby}&`;
117
- if (options.limit !== undefined) url += `limit=${options.limit}&`;
118
- if (options.offset !== undefined) url += `offset=${options.offset}&`;
119
-
120
- // Remove trailing "&" or "?" from the URL
121
- url = url.replace(/[&?]$/, "");
122
-
123
- return domo
124
- .post(url, query)
125
- .then((response) => {
126
- console.log("Query successful:", response);
127
- return response;
128
- })
129
- .catch((error) => {
130
- console.error("Error querying documents with aggregations:", error);
131
- throw error;
132
- });
133
- };
134
-
135
- const DeleteDocument = (collectionName, documentId) => {
136
- return domo
137
- .delete(`${BASE_URL}/collections/${collectionName}/documents/${documentId}`)
138
- .then((response) => response.data)
139
- .catch((error) => {
140
- console.error("Error deleting document:", error);
141
- throw error;
142
- });
143
- };
144
-
145
- const QueryDocument = (collectionName, query = {}, options = {}) => {
146
- // Base URL for querying documents
147
- let url = `${BASE_URL}/collections/${collectionName}/documents/query?`;
148
-
149
- // Append optional parameters to the URL
150
- if (options.limit !== undefined) url += `limit=${options.limit}&`;
151
- if (options.offset !== undefined) url += `offset=${options.offset}&`;
152
- if (options.orderby) url += `orderby=${options.orderby}&`;
153
-
154
- // Remove trailing "&" or "?" from the URL
155
- url = url.replace(/[&?]$/, "");
156
-
157
- return domo
158
- .post(url, query)
159
- .then((response) => {
160
- // console.log("Query successful:", response);
161
- return response;
162
- })
163
- .catch((error) => {
164
- console.error("Error querying documents:", error);
165
- throw error;
166
- });
167
- };
168
-
169
- // Query documents based on a specific date range
170
- const queryDocumentsByDate = (collectionName, dateString, options = {}) => {
171
- const query = {
172
- "createdOn": {
173
- "$lte": { "$date": dateString }
174
- }
175
- };
176
- return QueryDocument(collectionName, query, options);
177
- };
178
-
179
- const BulkDeleteDocuments = (collectionName, ids) => {
180
- return domo
181
- .delete(
182
- `${BASE_URL}/collections/${collectionName}/documents/bulk?ids=${ids}`
183
- )
184
- .then((response) => response)
185
- .catch((error) => {
186
- console.error("Error bulk deleting documents:", error);
187
- throw error;
188
- });
189
- };
190
-
191
- const UploadFile = (file, name, description = "", isPublic = false) => {
192
- const formData = new FormData();
193
- formData.append("file", file);
194
- const url = `/domo/data-files/v1?name=
195
- ${name}&description=${description}&public=${isPublic}`;
196
- const options = { contentType: "multipart" };
197
- return domo
198
- .post(url, formData, options)
199
- .then((response) => response)
200
- .catch((err) => {
201
- console.log(err);
202
- throw err;
203
- });
204
- };
205
-
206
- const UploadRevision = (file, fileId) => {
207
- const formData = new FormData();
208
- formData.append("file", file);
209
- const url = `/domo/data-files/v1/${fileId}`;
210
- const options = { contentType: "multipart" };
211
- return domo
212
- .put(url, formData, options)
213
- .then((response) => response)
214
- .catch((err) => {
215
- console.log(err);
216
- throw err;
217
- });
218
- };
219
-
220
- // const DownloadFile = (fileId, filename, revisionId) => {
221
- // const options = { responseType: "blob" };
222
- // const url = `/domo/data-files/v1/${fileId}${
223
- // revisionId ? `/revisions/${revisionId}` : ""
224
- // }`;
225
- // return domo
226
- // .get(url, options)
227
- // .then((data) => {
228
- // Download(data, filename);
229
- // })
230
- // .then((response) => response)
231
- // .catch((err) => {
232
- // console.log(err);
233
- // throw err;
234
- // });
235
- // };
236
-
237
- const GetFile = (fileId, revisionId) => {
238
- const options = { responseType: "blob" };
239
- const url = `/domo/data-files/v1/${fileId}${
240
- revisionId ? `/revisions/${revisionId}` : ""
241
- }`;
242
- return domo
243
- .get(url, options)
244
- .then((data) => data)
245
- .catch((err) => {
246
- console.log(err);
247
- throw err;
248
- });
249
- };
250
-
251
- const ListAllUsers = async (
252
- includeDetails = false,
253
- limit = 100,
254
- offset = 0
255
- ) => {
256
- try {
257
- const response = await domo.get(
258
- `/domo/users/v1?includeDetails=${includeDetails}&limit=${limit}&offset=${offset}`
259
- );
260
- return response;
261
- } catch (error) {
262
- console.error("Error listing users:", error);
263
- throw error;
264
- }
265
- };
266
-
267
- const partialupdateDocument = (collectionName, query, operation) => {
268
- const requestBody = {
269
- query: query,
270
- operation: operation,
271
- };
272
-
273
- console.log("Request body:", requestBody);
274
-
275
- return domo
276
- .put(
277
- `${BASE_URL}/collections/${collectionName}/documents/update`,
278
- requestBody
279
- )
280
- .then((response) => {
281
- console.log("Document updated successfully:", response);
282
- return response;
283
- })
284
- .catch((error) => {
285
- console.error("Error updating document:", error);
286
- throw error;
287
- });
288
- };
289
-
290
- const DomoApi = {
291
- GetCurrentUser,
292
- GetAllUser,
293
- GetUser,
294
- CreateDocument,
295
- ListDocuments,
296
- DeleteDocument,
297
- BulkDeleteDocuments,
298
- GetDocument,
299
- UpdateDocument,
300
- QueryDocument,
301
- queryDocumentsByDate,
302
- UploadFile,
303
- UploadRevision,
304
- // DownloadFile,
305
- GetFile,
306
- queryDocumentsWithAggregations,
307
- ListAllUsers,
308
- partialupdateDocument,
309
- };
310
-
311
- export default DomoApi;
@@ -1,41 +0,0 @@
1
- #root {
2
- max-width: 1280px;
3
- margin: 0 auto;
4
- text-align: center;
5
- }
6
-
7
- .logo {
8
- height: 6em;
9
- padding: 1.5em;
10
- will-change: filter;
11
- transition: filter 300ms;
12
- }
13
- .logo:hover {
14
- filter: drop-shadow(0 0 2em #646cffaa);
15
- }
16
- .logo.react:hover {
17
- filter: drop-shadow(0 0 2em #61dafbaa);
18
- }
19
-
20
- @keyframes logo-spin {
21
- from {
22
- transform: rotate(0deg);
23
- }
24
- to {
25
- transform: rotate(360deg);
26
- }
27
- }
28
-
29
- @media (prefers-reduced-motion: no-preference) {
30
- a:nth-of-type(2) .logo {
31
- animation: logo-spin infinite 20s linear;
32
- }
33
- }
34
-
35
- .card {
36
- padding: 2em;
37
- }
38
-
39
- .read-the-docs {
40
- color: #888;
41
- }
@@ -1,40 +0,0 @@
1
- import { useState } from 'react'
2
- import reactLogo from './assets/react.svg'
3
- import viteLogo from '/vite.svg'
4
- import domoLogo from './assets/DOMO.svg'
5
- import './App.css'
6
- import { Button } from './components/ui/button'
7
-
8
- function App() {
9
- const [count, setCount] = useState(0)
10
-
11
- return (
12
- <div className='pt-[10%] bg-[#242424] h-[100vh]'>
13
- <div className='flex justify-center gap-2'>
14
- <a href="https://vite.dev" target="_blank">
15
- <img src={viteLogo} className="logo" alt="Vite logo" />
16
- </a>
17
- <a href="https://react.dev" target="_blank">
18
- <img src={reactLogo} className="logo react" alt="React logo" />
19
- </a>
20
- <a href="https://developer.domo.com/portal/u8w475o2245yp-starter-kits" target="_blank">
21
- <img src={domoLogo} className='logo domo' alt="DOMO logo" />
22
- </a>
23
- </div>
24
- <h1 className='text-3xl font-medium text-white'>Vite + React + DOMO</h1>
25
- <div className="card">
26
- <Button onClick={() => setCount((count) => count + 1)}>
27
- count is {count}
28
- </Button>
29
- <p className='mt-2'>
30
- Edit <code>src/App.jsx</code> and save to test HMR
31
- </p>
32
- </div>
33
- <p className="read-the-docs">
34
- Click on the Vite and React logos to learn more
35
- </p>
36
- </div >
37
- )
38
- }
39
-
40
- export default App
@@ -1,9 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="36px" height="36px" viewBox="0 0 36 36" version="1.1">
3
- <g id="surface1">
4
- <path style=" stroke:none;fill-rule:nonzero;fill:rgb(60.784316%,78.823531%,91.764706%);fill-opacity:1;" d="M 0.296875 -0.00390625 L 0.507812 -0.00390625 C 0.59375 -0.00390625 0.675781 -0.00390625 0.761719 -0.00390625 L 0.941406 -0.00390625 C 1.074219 -0.00390625 1.210938 -0.00390625 1.34375 -0.00390625 C 1.542969 -0.00390625 1.742188 -0.00390625 1.941406 -0.00390625 C 2.277344 -0.00390625 2.617188 -0.00390625 2.957031 -0.00390625 C 3.300781 -0.00390625 3.644531 -0.00390625 3.992188 -0.00390625 L 4.320312 -0.00390625 C 5.367188 -0.00390625 6.417969 -0.00390625 7.464844 -0.00390625 C 7.984375 -0.00390625 8.507812 -0.00390625 9.027344 -0.00390625 C 11.179688 -0.00390625 13.335938 -0.00390625 15.488281 -0.00390625 C 17.214844 -0.0078125 18.9375 -0.0078125 20.664062 -0.0078125 C 21.902344 -0.0078125 23.144531 -0.0078125 24.382812 -0.0078125 L 24.460938 -0.0078125 C 25.269531 -0.0078125 26.078125 -0.0078125 26.886719 -0.0078125 C 27.683594 -0.0078125 28.476562 -0.0078125 29.269531 -0.0078125 C 30.203125 -0.0078125 31.132812 -0.0078125 32.066406 -0.0078125 C 32.410156 -0.0078125 32.753906 -0.0078125 33.09375 -0.0078125 C 33.433594 -0.0078125 33.769531 -0.0078125 34.105469 -0.0078125 C 34.304688 -0.0078125 34.503906 -0.0078125 34.699219 -0.0078125 C 34.847656 -0.0078125 34.992188 -0.0078125 35.140625 -0.0078125 C 35.199219 -0.0078125 35.257812 -0.0078125 35.316406 -0.0078125 C 35.398438 -0.0078125 35.476562 -0.0078125 35.558594 -0.0078125 L 35.628906 -0.0078125 C 35.761719 -0.0078125 35.859375 0.0078125 35.976562 0.0742188 C 36.003906 0.128906 36.003906 0.160156 36.003906 0.21875 L 36.003906 0.429688 C 36.003906 0.515625 36.003906 0.601562 36.003906 0.683594 L 36.003906 0.867188 C 36.003906 1 36.003906 1.136719 36.003906 1.269531 C 36.003906 1.46875 36.003906 1.667969 36.003906 1.867188 C 36.003906 2.210938 36.003906 2.550781 36.003906 2.890625 C 36.003906 3.238281 36.003906 3.582031 36.003906 3.929688 L 36.003906 4.261719 C 36.003906 5.339844 36.003906 6.414062 36.003906 7.492188 L 36.007812 8.539062 L 36.007812 8.914062 C 36.007812 10.617188 36.007812 12.320312 36.007812 14.023438 L 36.007812 15.476562 C 36.007812 17.210938 36.007812 18.941406 36.007812 20.675781 C 36.007812 21.921875 36.007812 23.167969 36.011719 24.410156 L 36.011719 24.488281 C 36.011719 25.300781 36.011719 26.113281 36.011719 26.925781 C 36.011719 27.726562 36.011719 28.523438 36.011719 29.320312 C 36.011719 30.253906 36.011719 31.191406 36.011719 32.128906 C 36.011719 32.472656 36.011719 32.816406 36.011719 33.160156 C 36.011719 33.5 36.011719 33.839844 36.011719 34.179688 C 36.011719 34.375 36.011719 34.574219 36.011719 34.773438 C 36.011719 34.921875 36.011719 35.070312 36.011719 35.214844 C 36.011719 35.273438 36.011719 35.335938 36.011719 35.394531 C 36.011719 35.472656 36.011719 35.554688 36.011719 35.636719 L 36.011719 35.707031 C 36.011719 35.800781 36.003906 35.867188 35.964844 35.953125 C 35.871094 36.023438 35.78125 36.015625 35.660156 36.015625 L 35.585938 36.015625 C 35.5 36.015625 35.417969 36.015625 35.332031 36.015625 C 35.269531 36.015625 35.210938 36.015625 35.148438 36.015625 C 35.015625 36.015625 34.882812 36.015625 34.746094 36.015625 C 34.546875 36.015625 34.347656 36.015625 34.148438 36.015625 C 33.804688 36.015625 33.464844 36.015625 33.121094 36.015625 C 32.777344 36.015625 32.429688 36.015625 32.085938 36.015625 L 31.683594 36.015625 C 30.878906 36.015625 30.070312 36.015625 29.265625 36.015625 C 28.414062 36.015625 27.566406 36.015625 26.71875 36.015625 L 24.34375 36.015625 C 23.5 36.015625 22.65625 36.015625 21.8125 36.011719 L 20.519531 36.011719 C 18.675781 36.011719 16.832031 36.011719 14.992188 36.011719 L 14.023438 36.011719 C 12.542969 36.011719 11.0625 36.011719 9.582031 36.011719 L 8.980469 36.011719 C 8.28125 36.011719 7.582031 36.011719 6.882812 36.011719 C 5.890625 36.011719 4.902344 36.011719 3.914062 36.011719 L 3.847656 36.011719 C 3.5 36.011719 3.15625 36.011719 2.8125 36.011719 C 2.472656 36.011719 2.132812 36.011719 1.792969 36.011719 C 1.59375 36.007812 1.394531 36.007812 1.195312 36.011719 C 1.050781 36.011719 0.902344 36.007812 0.753906 36.007812 C 0.695312 36.007812 0.636719 36.007812 0.574219 36.007812 C 0.496094 36.007812 0.414062 36.007812 0.335938 36.007812 L 0.144531 36.007812 C 0.0820312 35.996094 0.0625 35.976562 0.0234375 35.925781 C -0.00390625 35.871094 -0.00390625 35.839844 -0.00390625 35.777344 L -0.00390625 35.570312 C -0.00390625 35.484375 -0.00390625 35.398438 -0.00390625 35.316406 L -0.00390625 35.132812 C -0.00390625 35 -0.00390625 34.863281 -0.00390625 34.730469 C -0.00390625 34.53125 -0.00390625 34.332031 -0.00390625 34.132812 C -0.00390625 33.789062 -0.00390625 33.449219 -0.00390625 33.109375 C -0.00390625 32.761719 -0.00390625 32.417969 -0.00390625 32.070312 L -0.00390625 31.738281 C -0.00390625 30.660156 -0.00390625 29.582031 -0.00390625 28.507812 L -0.0078125 27.457031 L -0.0078125 27.085938 C -0.0078125 25.382812 -0.0078125 23.675781 -0.0078125 21.972656 L -0.0078125 20.523438 C -0.0078125 18.789062 -0.0078125 17.054688 -0.0078125 15.320312 C -0.0078125 13.238281 -0.0117188 11.15625 -0.0117188 9.070312 C -0.0117188 8.273438 -0.0117188 7.476562 -0.0117188 6.675781 C -0.0117188 5.742188 -0.0117188 4.804688 -0.0117188 3.871094 C -0.0117188 3.523438 -0.0117188 3.179688 -0.0117188 2.835938 C -0.0117188 2.496094 -0.0117188 2.15625 -0.0117188 1.820312 C -0.0117188 1.621094 -0.0117188 1.421875 -0.0117188 1.222656 C -0.0117188 1.074219 -0.0117188 0.929688 -0.0117188 0.78125 C -0.0117188 0.722656 -0.0117188 0.664062 -0.0117188 0.601562 C -0.0117188 0.523438 -0.0117188 0.441406 -0.0117188 0.363281 L -0.0117188 0.292969 C -0.0117188 0.136719 -0.0117188 0.136719 0.0429688 0.0585938 C 0.125 0.00390625 0.199219 -0.00390625 0.296875 -0.00390625 "/>
5
- <path style=" stroke:none;fill-rule:nonzero;fill:rgb(60.784316%,78.823531%,91.764706%);fill-opacity:1;" d="M 18.941406 17.226562 C 19.0625 17.238281 19.117188 17.269531 19.203125 17.355469 L 19.339844 17.492188 C 19.367188 17.519531 19.394531 17.546875 19.417969 17.570312 C 19.488281 17.640625 19.558594 17.710938 19.628906 17.78125 C 19.699219 17.855469 19.773438 17.925781 19.847656 18 C 19.96875 18.125 20.089844 18.246094 20.214844 18.371094 C 20.386719 18.542969 20.558594 18.714844 20.730469 18.890625 C 20.878906 19.039062 21.027344 19.1875 21.175781 19.335938 C 21.261719 19.421875 21.34375 19.503906 21.425781 19.585938 L 21.5 19.660156 C 21.617188 19.78125 21.730469 19.898438 21.835938 20.027344 C 21.925781 20.101562 22.011719 20.164062 22.128906 20.1875 C 22.316406 20.144531 22.453125 20 22.585938 19.863281 L 22.636719 19.8125 C 22.710938 19.738281 22.78125 19.660156 22.851562 19.578125 C 22.949219 19.464844 23.054688 19.359375 23.160156 19.253906 L 23.226562 19.191406 C 23.28125 19.132812 23.339844 19.074219 23.394531 19.019531 C 23.457031 18.960938 23.515625 18.898438 23.574219 18.839844 C 23.675781 18.742188 23.773438 18.640625 23.875 18.542969 C 23.988281 18.425781 24.105469 18.308594 24.21875 18.195312 C 24.320312 18.09375 24.417969 17.996094 24.519531 17.898438 C 24.578125 17.835938 24.636719 17.777344 24.695312 17.71875 C 24.761719 17.652344 24.828125 17.585938 24.894531 17.519531 L 24.953125 17.460938 C 24.972656 17.445312 24.988281 17.425781 25.007812 17.40625 L 25.054688 17.359375 C 25.128906 17.292969 25.1875 17.296875 25.285156 17.300781 L 25.285156 17.378906 C 25.289062 17.992188 25.289062 18.609375 25.292969 19.226562 C 25.292969 19.527344 25.292969 19.824219 25.296875 20.125 C 25.296875 20.382812 25.296875 20.644531 25.296875 20.902344 C 25.296875 21.042969 25.296875 21.179688 25.300781 21.316406 C 25.300781 21.445312 25.300781 21.578125 25.300781 21.707031 C 25.300781 21.753906 25.300781 21.800781 25.300781 21.847656 C 25.289062 22.277344 25.289062 22.277344 25.441406 22.660156 C 25.652344 22.808594 25.929688 22.792969 26.179688 22.800781 L 26.238281 22.804688 C 26.574219 22.824219 26.574219 22.824219 26.878906 22.707031 C 26.984375 22.542969 26.988281 22.410156 26.988281 22.21875 L 26.988281 22.128906 C 26.988281 22.050781 26.988281 21.972656 26.984375 21.894531 C 26.984375 21.8125 26.984375 21.726562 26.984375 21.644531 C 26.984375 21.488281 26.984375 21.332031 26.984375 21.175781 C 26.980469 21 26.980469 20.820312 26.980469 20.640625 C 26.980469 20.277344 26.976562 19.910156 26.976562 19.542969 C 27.121094 19.605469 27.171875 19.734375 27.230469 19.875 L 27.269531 19.972656 C 27.453125 20.441406 27.742188 20.863281 28.085938 21.230469 C 28.128906 21.277344 28.171875 21.324219 28.210938 21.375 C 28.601562 21.820312 29.144531 22.132812 29.671875 22.386719 C 29.691406 22.394531 29.710938 22.40625 29.730469 22.414062 C 29.960938 22.523438 30.199219 22.597656 30.449219 22.660156 L 30.523438 22.679688 C 31.179688 22.839844 31.886719 22.859375 32.550781 22.730469 L 32.609375 22.71875 C 33.300781 22.585938 33.972656 22.292969 34.527344 21.859375 L 34.59375 21.8125 C 34.757812 21.683594 34.90625 21.542969 35.058594 21.402344 L 35.105469 21.355469 C 35.230469 21.238281 35.335938 21.101562 35.445312 20.96875 L 35.503906 20.898438 C 35.644531 20.71875 35.765625 20.535156 35.882812 20.34375 L 35.917969 20.285156 L 35.949219 20.234375 L 35.976562 20.195312 L 36 20.195312 C 36.003906 22.425781 36.003906 24.660156 36.003906 26.890625 L 36.003906 26.960938 C 36.003906 27.71875 36.007812 28.480469 36.007812 29.242188 C 36.007812 30.132812 36.007812 31.023438 36.007812 31.914062 L 36.007812 31.976562 C 36.007812 32.328125 36.007812 32.675781 36.011719 33.027344 C 36.011719 33.378906 36.011719 33.730469 36.011719 34.082031 C 36.011719 34.289062 36.011719 34.496094 36.011719 34.707031 C 36.011719 34.847656 36.011719 34.984375 36.011719 35.125 C 36.011719 35.203125 36.011719 35.285156 36.011719 35.363281 C 36.011719 35.449219 36.011719 35.535156 36.011719 35.621094 L 36.011719 35.824219 C 35.992188 35.90625 35.96875 35.941406 35.902344 36 C 35.824219 36.019531 35.742188 36.015625 35.660156 36.015625 L 35.585938 36.015625 C 35.5 36.015625 35.417969 36.015625 35.332031 36.015625 C 35.269531 36.015625 35.210938 36.015625 35.148438 36.015625 C 35.015625 36.015625 34.882812 36.015625 34.746094 36.015625 C 34.546875 36.015625 34.347656 36.015625 34.148438 36.015625 C 33.804688 36.015625 33.464844 36.015625 33.121094 36.015625 C 32.777344 36.015625 32.429688 36.015625 32.085938 36.015625 L 31.683594 36.015625 C 30.878906 36.015625 30.070312 36.015625 29.265625 36.015625 C 28.414062 36.015625 27.566406 36.015625 26.71875 36.015625 L 24.34375 36.015625 C 23.5 36.015625 22.65625 36.015625 21.8125 36.011719 L 20.519531 36.011719 C 18.675781 36.011719 16.832031 36.011719 14.992188 36.011719 L 14.023438 36.011719 C 12.542969 36.011719 11.0625 36.011719 9.582031 36.011719 L 8.980469 36.011719 C 8.28125 36.011719 7.582031 36.011719 6.882812 36.011719 C 5.890625 36.011719 4.902344 36.011719 3.914062 36.011719 L 3.847656 36.011719 C 3.5 36.011719 3.15625 36.011719 2.8125 36.011719 C 2.472656 36.011719 2.132812 36.011719 1.792969 36.011719 C 1.59375 36.007812 1.394531 36.007812 1.195312 36.011719 C 1.050781 36.011719 0.902344 36.011719 0.753906 36.007812 C 0.695312 36.007812 0.636719 36.007812 0.574219 36.007812 C 0.496094 36.007812 0.414062 36.007812 0.335938 36.007812 L 0.144531 36.007812 C 0.0820312 35.996094 0.0625 35.976562 0.0234375 35.925781 C -0.015625 35.847656 -0.00390625 35.757812 -0.00390625 35.667969 L -0.00390625 35.601562 C -0.00390625 35.527344 -0.00390625 35.453125 -0.00390625 35.378906 L -0.00390625 35.214844 C -0.00390625 35.066406 -0.00390625 34.917969 -0.00390625 34.769531 C -0.00390625 34.625 -0.00390625 34.480469 -0.00390625 34.335938 C -0.00390625 34.042969 -0.00390625 33.746094 -0.00390625 33.453125 C -0.00390625 33.160156 -0.00390625 32.867188 -0.00390625 32.578125 L -0.00390625 32.246094 C -0.00390625 31.59375 -0.00390625 30.941406 0 30.289062 C 0 29.65625 0 29.019531 0 28.386719 L 0 26.484375 C 0 25.257812 0 24.027344 0 22.800781 L 0.0585938 22.800781 C 0.535156 22.800781 1.007812 22.800781 1.484375 22.796875 C 1.710938 22.796875 1.941406 22.796875 2.171875 22.796875 C 2.371094 22.792969 2.570312 22.792969 2.773438 22.792969 C 2.878906 22.792969 2.984375 22.792969 3.089844 22.792969 C 3.628906 22.792969 4.15625 22.785156 4.667969 22.59375 L 4.734375 22.570312 C 5.402344 22.324219 6 21.964844 6.515625 21.472656 L 6.554688 21.4375 C 7.167969 20.851562 7.550781 20.128906 7.816406 19.328125 L 7.847656 19.238281 L 7.867188 19.183594 L 7.914062 19.183594 L 7.945312 19.273438 C 8.414062 20.554688 9.179688 21.695312 10.421875 22.320312 C 10.6875 22.441406 10.960938 22.539062 11.242188 22.609375 L 11.289062 22.621094 C 12.082031 22.820312 12.933594 22.855469 13.730469 22.679688 L 13.785156 22.667969 C 13.898438 22.644531 14.007812 22.617188 14.117188 22.585938 L 14.199219 22.5625 C 14.652344 22.425781 15.09375 22.199219 15.464844 21.910156 L 15.507812 21.878906 C 15.855469 21.601562 16.171875 21.28125 16.429688 20.917969 L 16.46875 20.867188 C 16.773438 20.4375 17.015625 19.976562 17.226562 19.496094 L 17.277344 19.496094 L 17.277344 19.539062 C 17.277344 19.875 17.28125 20.210938 17.28125 20.546875 C 17.285156 20.710938 17.285156 20.871094 17.285156 21.035156 C 17.289062 21.191406 17.289062 21.351562 17.289062 21.507812 C 17.289062 21.566406 17.289062 21.628906 17.289062 21.6875 C 17.292969 21.769531 17.292969 21.855469 17.292969 21.9375 L 17.292969 22.011719 C 17.296875 22.351562 17.296875 22.351562 17.421875 22.65625 C 17.578125 22.777344 17.734375 22.78125 17.921875 22.78125 L 17.984375 22.78125 C 18.027344 22.78125 18.070312 22.78125 18.113281 22.785156 C 18.175781 22.785156 18.242188 22.785156 18.308594 22.785156 C 18.351562 22.785156 18.390625 22.785156 18.433594 22.785156 L 18.492188 22.785156 C 18.617188 22.785156 18.710938 22.773438 18.820312 22.707031 C 18.886719 22.5625 18.902344 22.445312 18.902344 22.292969 L 18.902344 22.226562 C 18.902344 22.15625 18.902344 22.085938 18.902344 22.011719 C 18.902344 21.960938 18.902344 21.910156 18.902344 21.859375 C 18.902344 21.71875 18.902344 21.582031 18.902344 21.441406 C 18.90625 21.296875 18.90625 21.152344 18.90625 21.007812 C 18.90625 20.730469 18.90625 20.457031 18.90625 20.179688 C 18.90625 19.6875 18.910156 19.195312 18.910156 18.703125 C 18.910156 18.527344 18.910156 18.355469 18.914062 18.183594 C 18.914062 18.074219 18.914062 17.96875 18.914062 17.859375 C 18.914062 17.808594 18.914062 17.757812 18.914062 17.710938 C 18.914062 17.640625 18.914062 17.574219 18.914062 17.503906 L 18.914062 17.445312 C 18.914062 17.367188 18.914062 17.304688 18.941406 17.226562 "/>
6
- <path style=" stroke:none;fill-rule:nonzero;fill:rgb(99.215686%,99.215686%,99.215686%);fill-opacity:1;" d="M 0 13.148438 C 3.574219 13.148438 3.574219 13.148438 4.082031 13.253906 L 4.164062 13.269531 C 4.375 13.3125 4.578125 13.363281 4.777344 13.441406 L 4.832031 13.460938 C 6.105469 13.929688 7.046875 14.855469 7.613281 16.082031 C 7.714844 16.308594 7.808594 16.535156 7.890625 16.769531 L 7.910156 16.722656 C 8.035156 16.410156 8.164062 16.101562 8.324219 15.804688 L 8.347656 15.757812 C 8.550781 15.378906 8.789062 15.039062 9.074219 14.71875 L 9.128906 14.65625 C 9.785156 13.902344 10.667969 13.480469 11.628906 13.269531 L 11.691406 13.257812 C 12.300781 13.125 13.046875 13.136719 13.65625 13.269531 L 13.707031 13.28125 C 13.820312 13.304688 13.933594 13.335938 14.042969 13.367188 L 14.09375 13.382812 C 14.820312 13.597656 15.441406 13.996094 15.988281 14.515625 C 16.019531 14.546875 16.046875 14.574219 16.078125 14.605469 C 16.238281 14.757812 16.371094 14.929688 16.503906 15.105469 L 16.535156 15.144531 C 16.667969 15.316406 16.78125 15.5 16.890625 15.6875 L 16.925781 15.742188 C 17.050781 15.964844 17.144531 16.195312 17.253906 16.429688 L 17.277344 13.292969 C 17.503906 13.328125 17.605469 13.425781 17.761719 13.578125 L 17.808594 13.628906 C 17.867188 13.683594 17.921875 13.738281 17.976562 13.796875 L 18.09375 13.914062 C 18.203125 14.023438 18.308594 14.128906 18.417969 14.238281 C 18.519531 14.339844 18.621094 14.441406 18.722656 14.542969 C 18.921875 14.742188 19.121094 14.941406 19.324219 15.144531 C 19.519531 15.339844 19.710938 15.535156 19.90625 15.726562 L 19.941406 15.765625 L 19.980469 15.800781 C 20.210938 16.035156 20.445312 16.265625 20.679688 16.5 L 20.878906 16.699219 C 20.984375 16.804688 21.089844 16.914062 21.195312 17.019531 C 21.234375 17.054688 21.273438 17.09375 21.3125 17.132812 C 21.363281 17.1875 21.417969 17.238281 21.46875 17.292969 L 21.515625 17.339844 C 21.605469 17.429688 21.691406 17.523438 21.777344 17.621094 C 21.820312 17.667969 21.863281 17.707031 21.917969 17.746094 L 21.964844 17.78125 C 22.054688 17.839844 22.113281 17.84375 22.222656 17.832031 C 22.375 17.734375 22.503906 17.605469 22.628906 17.476562 L 22.683594 17.425781 C 22.742188 17.367188 22.800781 17.308594 22.859375 17.246094 L 22.984375 17.121094 C 23.078125 17.027344 23.167969 16.9375 23.257812 16.847656 C 23.390625 16.714844 23.519531 16.582031 23.652344 16.449219 C 23.878906 16.222656 24.105469 15.996094 24.332031 15.769531 C 24.527344 15.574219 24.71875 15.378906 24.914062 15.183594 L 24.953125 15.144531 C 25.164062 14.933594 25.378906 14.71875 25.59375 14.503906 C 25.722656 14.375 25.855469 14.242188 25.984375 14.109375 C 26.085938 14.007812 26.1875 13.910156 26.285156 13.808594 C 26.328125 13.765625 26.367188 13.726562 26.410156 13.683594 C 26.464844 13.628906 26.523438 13.570312 26.578125 13.515625 L 26.628906 13.464844 C 26.824219 13.269531 26.824219 13.269531 26.953125 13.269531 L 26.976562 16.457031 L 27.046875 16.480469 L 27.066406 16.421875 C 27.289062 15.78125 27.691406 15.199219 28.132812 14.695312 L 28.1875 14.632812 C 28.289062 14.511719 28.398438 14.410156 28.519531 14.308594 L 28.582031 14.253906 C 29.429688 13.523438 30.484375 13.1875 31.589844 13.191406 C 31.664062 13.191406 31.734375 13.191406 31.808594 13.191406 C 32.589844 13.1875 33.3125 13.378906 33.996094 13.753906 L 34.042969 13.777344 C 34.40625 13.980469 34.710938 14.238281 35.011719 14.527344 L 35.066406 14.578125 C 35.367188 14.871094 35.648438 15.242188 35.847656 15.613281 C 35.878906 15.664062 35.878906 15.664062 35.941406 15.699219 C 36.007812 15.761719 36.015625 15.792969 36.015625 15.882812 L 36.015625 15.988281 C 36.019531 16.046875 36.019531 16.105469 36.019531 16.167969 C 36.019531 16.210938 36.019531 16.253906 36.019531 16.296875 C 36.019531 16.414062 36.023438 16.53125 36.023438 16.648438 C 36.023438 16.71875 36.023438 16.792969 36.023438 16.867188 C 36.023438 17.121094 36.023438 17.378906 36.023438 17.636719 C 36.023438 17.871094 36.027344 18.109375 36.027344 18.347656 C 36.03125 18.554688 36.03125 18.757812 36.03125 18.960938 C 36.03125 19.085938 36.03125 19.207031 36.035156 19.328125 C 36.046875 20.289062 36.046875 20.289062 35.746094 20.613281 C 35.695312 20.667969 35.652344 20.730469 35.609375 20.789062 C 35.554688 20.859375 35.5 20.925781 35.445312 20.992188 L 35.410156 21.035156 C 35.15625 21.339844 34.890625 21.613281 34.570312 21.851562 C 34.53125 21.882812 34.492188 21.914062 34.449219 21.945312 C 33.902344 22.363281 33.222656 22.625 32.550781 22.753906 L 32.488281 22.765625 C 31.851562 22.886719 31.179688 22.851562 30.546875 22.707031 L 30.496094 22.695312 C 29.722656 22.519531 29.011719 22.121094 28.421875 21.59375 L 28.382812 21.5625 C 27.832031 21.070312 27.410156 20.441406 27.148438 19.75 C 27.109375 19.664062 27.0625 19.585938 26.976562 19.542969 L 26.976562 19.589844 C 26.980469 19.957031 26.984375 20.328125 26.992188 20.695312 C 26.992188 20.875 26.996094 21.050781 26.996094 21.230469 C 27 21.386719 27 21.539062 27.003906 21.695312 C 27.003906 21.777344 27.003906 21.859375 27.003906 21.941406 C 27.007812 22.035156 27.007812 22.125 27.007812 22.21875 L 27.011719 22.300781 C 27.011719 22.460938 26.992188 22.566406 26.902344 22.707031 C 26.855469 22.746094 26.855469 22.746094 26.808594 22.765625 L 26.757812 22.785156 C 26.644531 22.824219 26.539062 22.828125 26.417969 22.828125 L 26.359375 22.828125 C 25.601562 22.820312 25.601562 22.820312 25.40625 22.65625 C 25.242188 22.410156 25.28125 22.070312 25.28125 21.789062 L 25.28125 21.640625 C 25.28125 21.507812 25.28125 21.375 25.28125 21.242188 C 25.28125 21.105469 25.28125 20.964844 25.28125 20.828125 C 25.28125 20.5625 25.28125 20.300781 25.285156 20.039062 C 25.285156 19.742188 25.285156 19.441406 25.285156 19.144531 C 25.285156 18.527344 25.285156 17.914062 25.285156 17.300781 C 25.160156 17.328125 25.078125 17.34375 24.984375 17.4375 L 24.929688 17.496094 L 24.800781 17.625 C 24.742188 17.683594 24.679688 17.746094 24.621094 17.804688 C 24.558594 17.867188 24.496094 17.929688 24.433594 17.992188 C 24.328125 18.097656 24.222656 18.203125 24.121094 18.3125 C 23.972656 18.460938 23.824219 18.609375 23.675781 18.757812 C 23.5625 18.871094 23.445312 18.988281 23.332031 19.101562 L 23.292969 19.140625 C 23.214844 19.222656 23.132812 19.304688 23.050781 19.386719 L 22.988281 19.449219 C 22.886719 19.550781 22.789062 19.65625 22.695312 19.765625 C 22.632812 19.839844 22.566406 19.90625 22.5 19.972656 C 22.484375 19.988281 22.472656 20 22.460938 20.015625 C 22.359375 20.113281 22.269531 20.1875 22.125 20.207031 C 21.933594 20.179688 21.765625 19.988281 21.644531 19.847656 C 21.535156 19.722656 21.421875 19.605469 21.304688 19.488281 L 21.230469 19.417969 C 21.152344 19.339844 21.074219 19.261719 20.996094 19.183594 L 20.914062 19.101562 C 20.789062 18.972656 20.660156 18.84375 20.535156 18.71875 C 20.386719 18.570312 20.242188 18.421875 20.09375 18.277344 C 19.980469 18.164062 19.867188 18.046875 19.753906 17.933594 C 19.6875 17.867188 19.621094 17.800781 19.550781 17.730469 C 19.488281 17.667969 19.425781 17.601562 19.359375 17.539062 C 19.328125 17.503906 19.292969 17.472656 19.257812 17.4375 L 19.140625 17.320312 C 19.078125 17.269531 19.019531 17.25 18.941406 17.226562 L 18.941406 17.308594 C 18.9375 17.96875 18.9375 18.625 18.933594 19.285156 C 18.933594 19.601562 18.933594 19.921875 18.933594 20.238281 C 18.933594 20.515625 18.929688 20.792969 18.929688 21.074219 C 18.929688 21.21875 18.929688 21.367188 18.929688 21.511719 C 18.929688 21.652344 18.929688 21.789062 18.925781 21.929688 C 18.925781 21.980469 18.925781 22.03125 18.925781 22.082031 C 18.925781 22.148438 18.925781 22.21875 18.925781 22.289062 L 18.925781 22.347656 C 18.925781 22.496094 18.90625 22.644531 18.796875 22.75 C 18.683594 22.808594 18.570312 22.804688 18.445312 22.804688 L 18.382812 22.808594 C 18.339844 22.808594 18.296875 22.808594 18.253906 22.808594 C 18.1875 22.808594 18.125 22.808594 18.058594 22.808594 C 18.019531 22.808594 17.976562 22.808594 17.933594 22.808594 L 17.875 22.808594 C 17.710938 22.808594 17.566406 22.773438 17.425781 22.691406 C 17.25 22.496094 17.273438 22.191406 17.273438 21.949219 L 17.273438 21.871094 C 17.273438 21.78125 17.273438 21.695312 17.273438 21.605469 L 17.273438 21.425781 C 17.273438 21.28125 17.273438 21.136719 17.273438 20.996094 C 17.273438 20.832031 17.273438 20.667969 17.273438 20.503906 C 17.273438 20.167969 17.277344 19.832031 17.277344 19.496094 L 17.226562 19.496094 L 17.199219 19.585938 C 17.152344 19.726562 17.089844 19.859375 17.019531 19.992188 L 16.980469 20.070312 C 16.875 20.28125 16.757812 20.480469 16.625 20.679688 L 16.59375 20.722656 C 15.898438 21.75 14.894531 22.480469 13.664062 22.722656 C 13.605469 22.734375 13.546875 22.746094 13.488281 22.753906 L 13.40625 22.765625 C 13.175781 22.800781 12.953125 22.808594 12.71875 22.808594 L 12.664062 22.808594 C 12.332031 22.808594 12.007812 22.785156 11.679688 22.730469 L 11.609375 22.71875 C 10.964844 22.605469 10.351562 22.367188 9.820312 21.980469 L 9.742188 21.925781 C 9.34375 21.628906 8.992188 21.257812 8.710938 20.847656 L 8.675781 20.792969 C 7.914062 19.675781 7.914062 19.675781 7.914062 19.183594 L 7.867188 19.183594 L 7.847656 19.277344 C 7.714844 19.867188 7.414062 20.441406 7.046875 20.917969 L 7.015625 20.960938 C 6.734375 21.316406 6.402344 21.648438 6.03125 21.910156 L 5.992188 21.9375 C 5.574219 22.242188 5.101562 22.476562 4.609375 22.632812 L 4.519531 22.660156 C 3.078125 23.101562 1.507812 22.800781 0 22.800781 Z M 0 13.148438 "/>
7
- <path style=" stroke:none;fill-rule:nonzero;fill:rgb(60.784316%,78.823531%,91.764706%);fill-opacity:1;" d="M 31.625 14.808594 C 31.652344 14.808594 31.679688 14.808594 31.707031 14.808594 C 32.378906 14.816406 33.054688 15.027344 33.585938 15.441406 L 33.628906 15.476562 C 34.292969 16.003906 34.703125 16.769531 34.808594 17.613281 C 34.824219 17.765625 34.828125 17.921875 34.828125 18.078125 L 34.828125 18.125 C 34.824219 18.957031 34.492188 19.691406 33.910156 20.28125 C 33.304688 20.878906 32.488281 21.171875 31.644531 21.167969 C 31.589844 21.167969 31.535156 21.167969 31.476562 21.167969 C 30.789062 21.171875 30.132812 20.925781 29.605469 20.484375 C 29.59375 20.472656 29.582031 20.464844 29.566406 20.453125 C 28.886719 19.878906 28.523438 19.070312 28.449219 18.191406 C 28.390625 17.363281 28.664062 16.578125 29.191406 15.9375 C 29.804688 15.234375 30.683594 14.800781 31.625 14.808594 M 14.539062 15.441406 C 14.640625 15.527344 14.742188 15.617188 14.839844 15.707031 L 14.90625 15.769531 C 15.320312 16.167969 15.617188 16.710938 15.730469 17.277344 L 15.746094 17.332031 C 15.910156 18.15625 15.730469 19.101562 15.269531 19.804688 C 14.800781 20.488281 14.09375 20.972656 13.273438 21.132812 C 13.058594 21.167969 12.839844 21.167969 12.625 21.167969 L 12.574219 21.167969 C 12.351562 21.167969 12.136719 21.152344 11.917969 21.113281 L 11.863281 21.101562 C 11.359375 21 10.878906 20.753906 10.496094 20.414062 L 10.449219 20.375 C 9.992188 20 9.679688 19.40625 9.53125 18.84375 L 9.519531 18.796875 C 9.453125 18.535156 9.453125 18.273438 9.449219 18.007812 L 9.449219 17.953125 C 9.449219 17.644531 9.476562 17.339844 9.570312 17.039062 L 9.589844 16.976562 C 9.835938 16.199219 10.390625 15.542969 11.117188 15.164062 C 11.335938 15.054688 11.558594 14.96875 11.800781 14.910156 L 11.851562 14.898438 C 12.761719 14.664062 13.789062 14.867188 14.539062 15.441406 M 1.960938 14.785156 L 2.214844 14.785156 C 2.277344 14.785156 2.339844 14.785156 2.402344 14.785156 C 2.464844 14.785156 2.527344 14.78125 2.589844 14.78125 C 3.160156 14.777344 3.730469 14.804688 4.269531 15.007812 L 4.320312 15.027344 C 5.089844 15.308594 5.730469 15.890625 6.089844 16.625 C 6.449219 17.402344 6.515625 18.289062 6.21875 19.101562 C 6.078125 19.46875 5.875 19.800781 5.621094 20.097656 L 5.570312 20.160156 C 5.070312 20.738281 4.386719 21.042969 3.644531 21.160156 L 3.566406 21.171875 C 3.457031 21.1875 3.347656 21.1875 3.238281 21.1875 L 3.167969 21.1875 C 3.09375 21.1875 3.023438 21.1875 2.949219 21.1875 L 2.871094 21.1875 C 2.703125 21.1875 2.535156 21.1875 2.363281 21.183594 L 2.304688 21.183594 C 2.199219 21.183594 2.09375 21.183594 1.988281 21.179688 L 1.914062 21.179688 C 1.753906 21.171875 1.753906 21.171875 1.675781 21.113281 C 1.625 21.042969 1.613281 21.003906 1.613281 20.917969 L 1.613281 20.710938 C 1.613281 20.628906 1.613281 20.546875 1.613281 20.464844 L 1.613281 20.289062 C 1.613281 20.132812 1.613281 19.972656 1.613281 19.8125 L 1.613281 19.515625 C 1.609375 19.238281 1.609375 18.964844 1.609375 18.691406 L 1.609375 18.421875 C 1.609375 18.132812 1.609375 17.847656 1.609375 17.558594 C 1.609375 17.265625 1.609375 16.96875 1.609375 16.671875 C 1.609375 16.507812 1.609375 16.34375 1.609375 16.175781 C 1.609375 16.019531 1.609375 15.863281 1.609375 15.707031 C 1.609375 15.652344 1.609375 15.59375 1.609375 15.535156 C 1.605469 15.457031 1.609375 15.378906 1.609375 15.300781 L 1.605469 15.234375 C 1.609375 15.082031 1.628906 14.964844 1.726562 14.84375 C 1.800781 14.785156 1.871094 14.789062 1.960938 14.785156 "/>
8
- </g>
9
- </svg>
@@ -1,132 +0,0 @@
1
- @import "tailwindcss";
2
- @import "tw-animate-css";
3
-
4
- @custom-variant dark (&:is(.dark *));
5
-
6
- :root {
7
- font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
8
- line-height: 1.5;
9
- font-weight: 400;
10
-
11
- color-scheme: light dark;
12
- color: rgba(255, 255, 255, 0.87);
13
- background-color: #242424;
14
-
15
- font-synthesis: none;
16
- text-rendering: optimizeLegibility;
17
- -webkit-font-smoothing: antialiased;
18
- -moz-osx-font-smoothing: grayscale;
19
- --radius: 0.625rem;
20
- --background: oklch(1 0 0);
21
- --foreground: oklch(0.145 0 0);
22
- --card: oklch(1 0 0);
23
- --card-foreground: oklch(0.145 0 0);
24
- --popover: oklch(1 0 0);
25
- --popover-foreground: oklch(0.145 0 0);
26
- --primary: oklch(0.205 0 0);
27
- --primary-foreground: oklch(0.985 0 0);
28
- --secondary: oklch(0.97 0 0);
29
- --secondary-foreground: oklch(0.205 0 0);
30
- --muted: oklch(0.97 0 0);
31
- --muted-foreground: oklch(0.556 0 0);
32
- --accent: oklch(0.97 0 0);
33
- --accent-foreground: oklch(0.205 0 0);
34
- --destructive: oklch(0.577 0.245 27.325);
35
- --border: oklch(0.922 0 0);
36
- --input: oklch(0.922 0 0);
37
- --ring: oklch(0.708 0 0);
38
- --chart-1: oklch(0.646 0.222 41.116);
39
- --chart-2: oklch(0.6 0.118 184.704);
40
- --chart-3: oklch(0.398 0.07 227.392);
41
- --chart-4: oklch(0.828 0.189 84.429);
42
- --chart-5: oklch(0.769 0.188 70.08);
43
- --sidebar: oklch(0.985 0 0);
44
- --sidebar-foreground: oklch(0.145 0 0);
45
- --sidebar-primary: oklch(0.205 0 0);
46
- --sidebar-primary-foreground: oklch(0.985 0 0);
47
- --sidebar-accent: oklch(0.97 0 0);
48
- --sidebar-accent-foreground: oklch(0.205 0 0);
49
- --sidebar-border: oklch(0.922 0 0);
50
- --sidebar-ring: oklch(0.708 0 0);
51
- }
52
-
53
- .dark {
54
- --background: oklch(0.145 0 0);
55
- --foreground: oklch(0.985 0 0);
56
- --card: oklch(0.205 0 0);
57
- --card-foreground: oklch(0.985 0 0);
58
- --popover: oklch(0.205 0 0);
59
- --popover-foreground: oklch(0.985 0 0);
60
- --primary: oklch(0.922 0 0);
61
- --primary-foreground: oklch(0.205 0 0);
62
- --secondary: oklch(0.269 0 0);
63
- --secondary-foreground: oklch(0.985 0 0);
64
- --muted: oklch(0.269 0 0);
65
- --muted-foreground: oklch(0.708 0 0);
66
- --accent: oklch(0.269 0 0);
67
- --accent-foreground: oklch(0.985 0 0);
68
- --destructive: oklch(0.704 0.191 22.216);
69
- --border: oklch(1 0 0 / 10%);
70
- --input: oklch(1 0 0 / 15%);
71
- --ring: oklch(0.556 0 0);
72
- --chart-1: oklch(0.488 0.243 264.376);
73
- --chart-2: oklch(0.696 0.17 162.48);
74
- --chart-3: oklch(0.769 0.188 70.08);
75
- --chart-4: oklch(0.627 0.265 303.9);
76
- --chart-5: oklch(0.645 0.246 16.439);
77
- --sidebar: oklch(0.205 0 0);
78
- --sidebar-foreground: oklch(0.985 0 0);
79
- --sidebar-primary: oklch(0.488 0.243 264.376);
80
- --sidebar-primary-foreground: oklch(0.985 0 0);
81
- --sidebar-accent: oklch(0.269 0 0);
82
- --sidebar-accent-foreground: oklch(0.985 0 0);
83
- --sidebar-border: oklch(1 0 0 / 10%);
84
- --sidebar-ring: oklch(0.556 0 0);
85
- }
86
-
87
- @theme inline {
88
- --radius-sm: calc(var(--radius) - 4px);
89
- --radius-md: calc(var(--radius) - 2px);
90
- --radius-lg: var(--radius);
91
- --radius-xl: calc(var(--radius) + 4px);
92
- --color-background: var(--background);
93
- --color-foreground: var(--foreground);
94
- --color-card: var(--card);
95
- --color-card-foreground: var(--card-foreground);
96
- --color-popover: var(--popover);
97
- --color-popover-foreground: var(--popover-foreground);
98
- --color-primary: var(--primary);
99
- --color-primary-foreground: var(--primary-foreground);
100
- --color-secondary: var(--secondary);
101
- --color-secondary-foreground: var(--secondary-foreground);
102
- --color-muted: var(--muted);
103
- --color-muted-foreground: var(--muted-foreground);
104
- --color-accent: var(--accent);
105
- --color-accent-foreground: var(--accent-foreground);
106
- --color-destructive: var(--destructive);
107
- --color-border: var(--border);
108
- --color-input: var(--input);
109
- --color-ring: var(--ring);
110
- --color-chart-1: var(--chart-1);
111
- --color-chart-2: var(--chart-2);
112
- --color-chart-3: var(--chart-3);
113
- --color-chart-4: var(--chart-4);
114
- --color-chart-5: var(--chart-5);
115
- --color-sidebar: var(--sidebar);
116
- --color-sidebar-foreground: var(--sidebar-foreground);
117
- --color-sidebar-primary: var(--sidebar-primary);
118
- --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
119
- --color-sidebar-accent: var(--sidebar-accent);
120
- --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
121
- --color-sidebar-border: var(--sidebar-border);
122
- --color-sidebar-ring: var(--sidebar-ring);
123
- }
124
-
125
- @layer base {
126
- * {
127
- @apply border-border outline-ring/50;
128
- }
129
- body {
130
- @apply bg-background text-foreground;
131
- }
132
- }
@@ -1,40 +0,0 @@
1
- import { defineConfig } from "vite";
2
- import react from "@vitejs/plugin-react";
3
- import path from "path";
4
- import { Proxy } from "@domoinc/ryuu-proxy";
5
- import manifest from "./public/manifest.json";
6
- import tailwindcss from "@tailwindcss/vite";
7
-
8
- const config = { manifest };
9
- const proxy = new Proxy(config);
10
-
11
- // https://vite.dev/config/
12
- export default defineConfig({
13
- plugins: [
14
- react(),
15
- tailwindcss(),
16
- {
17
- name: "ryuu-proxy",
18
- configureServer(server) {
19
- server.middlewares.use((req, res, next) => {
20
- res.status = function (code) {
21
- this.statusCode = code;
22
- return this;
23
- };
24
- res.send = function (body) {
25
- this.setHeader("Content-Type", "text/plain");
26
- this.end(body);
27
- };
28
- next();
29
- });
30
- server.middlewares.use(proxy.express());
31
- },
32
- },
33
- ],
34
- define: { "process.env": {} },
35
- resolve: {
36
- alias: {
37
- "@": path.resolve(__dirname, "./src"),
38
- },
39
- },
40
- });