Skip to content

Commit b5c69d3

Browse files
committed
fix(ci/cd): fix package.json script to use only vite
1 parent a883dbe commit b5c69d3

File tree

3 files changed

+77
-79
lines changed

3 files changed

+77
-79
lines changed

client/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
"version": "0.0.0",
55
"type": "module",
66
"scripts": {
7-
"dev": "bunx --bun vite",
8-
"build": "bunx --bun vite build --emptyOutDir --outDir '../server/public'",
7+
"dev": "vite",
8+
"build": "vite build --emptyOutDir --outDir '../server/public'",
99
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
1010
"check-updates": "npx npm-check-updates --interactive --format group",
1111
"update-deps": "git checkout -b upgrade-deps && npx npm-check-updates -u --target minor && bun install"

client/src/pages/api-operation-page/export-to-xlsx.tsx

Lines changed: 74 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,50 @@
1-
import { useState, Key } from "react"
2-
import { Badge, Button, ButtonGroup, Text, Title } from "@dataesr/dsfr-plus"
3-
import ExcelJS from "exceljs"
4-
import { AiOutlineDelete } from "react-icons/ai"
5-
import { toast } from "react-toastify"
6-
import { useDataList } from "./data-list-context"
7-
import "./styles.scss"
8-
import { postHeaders } from "../../config/api"
9-
import { ContributionData, ExcelExportButtonProps } from "../../types"
1+
import { useState, Key } from "react";
2+
import { Badge, Button, ButtonGroup, Text, Title } from "@dataesr/dsfr-plus";
3+
import ExcelJS from "exceljs";
4+
import { AiOutlineDelete } from "react-icons/ai";
5+
import { toast } from "react-toastify";
6+
import { useDataList } from "./data-list-context";
7+
import "./styles.scss";
8+
import { postHeaders } from "../../config/api";
9+
import { ContributionData, ExcelExportButtonProps } from "../../types";
1010

1111
const ExcelExportButton: React.FC<ExcelExportButtonProps> = ({ refetch }) => {
12-
const { dataList, setDataList } = useDataList()
13-
const [isMinimized, setIsMinimized] = useState(false)
12+
const { dataList, setDataList } = useDataList();
13+
const [isMinimized, setIsMinimized] = useState(false);
1414

1515
const markAsTreated = async (contributionIds: string[]) => {
1616
const basePath = window.location.pathname.includes("contributionpage")
1717
? "contribute"
1818
: window.location.pathname.includes("apioperations")
19-
? "contribute_productions"
20-
: "contacts"
19+
? "contribute_productions"
20+
: "contacts";
2121

22-
const urlBase = `/api/${basePath}`
23-
const body = { status: "treated" }
22+
const urlBase = `/api/${basePath}`;
23+
const body = { status: "treated" };
2424

2525
try {
26-
const uniqueContributionIds = [...new Set(contributionIds)]
26+
const uniqueContributionIds = [...new Set(contributionIds)];
2727
const uniqueContributionPromises = uniqueContributionIds.map((id) =>
2828
fetch(`${urlBase}/${id}`, {
2929
method: "PATCH",
3030
headers: postHeaders,
3131
body: JSON.stringify(body),
3232
})
33-
)
33+
);
3434

35-
const responses = await Promise.all(uniqueContributionPromises)
35+
const responses = await Promise.all(uniqueContributionPromises);
3636

3737
responses.forEach(async (response) => {
3838
if (!response.ok) {
39-
console.error("Erreur de réponse", response)
40-
} else {
41-
const responseData = await response.json()
39+
console.error("Erreur de réponse", response);
4240
}
43-
})
41+
});
4442

45-
refetch()
43+
refetch();
4644
} catch (error) {
47-
console.error("Erreur lors de la soumission du formulaire", error)
45+
console.error("Erreur lors de la soumission du formulaire", error);
4846
}
49-
}
47+
};
5048

5149
const handleExportClick = async () => {
5250
const dataToExport: ContributionData[] = dataList
@@ -59,57 +57,57 @@ const ExcelExportButton: React.FC<ExcelExportButtonProps> = ({ refetch }) => {
5957
first_name: item.first_name || "",
6058
last_name: item.last_name || "",
6159
export: false,
62-
}))
60+
}));
6361

6462
if (dataToExport.length === 0) {
65-
toast.error("Aucune publication à exporter !")
66-
return
63+
toast.error("Aucune publication à exporter !");
64+
return;
6765
}
6866

6967
const uniqueContributionIds = [
7068
...new Set(dataToExport.map((item) => item.contribution_id)),
71-
]
69+
];
7270

73-
await markAsTreated(uniqueContributionIds)
71+
await markAsTreated(uniqueContributionIds);
7472

7573
// Créer un nouveau workbook avec ExcelJS
76-
const workbook = new ExcelJS.Workbook()
77-
const worksheet = workbook.addWorksheet("Sheet1")
74+
const workbook = new ExcelJS.Workbook();
75+
const worksheet = workbook.addWorksheet("Sheet1");
7876

7977
// Ajouter les en-têtes
8078
if (dataToExport.length > 0) {
81-
const headers = Object.keys(dataToExport[0])
82-
worksheet.addRow(headers)
79+
const headers = Object.keys(dataToExport[0]);
80+
worksheet.addRow(headers);
8381

8482
// Ajouter les données
8583
dataToExport.forEach((row) => {
86-
worksheet.addRow(Object.values(row))
87-
})
84+
worksheet.addRow(Object.values(row));
85+
});
8886
}
8987

9088
// Générer et télécharger le fichier
91-
const buffer = await workbook.xlsx.writeBuffer()
89+
const buffer = await workbook.xlsx.writeBuffer();
9290
const blob = new Blob([buffer], {
9391
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
94-
})
95-
const url = window.URL.createObjectURL(blob)
96-
const link = document.createElement("a")
97-
link.href = url
98-
link.download = "export.xlsx"
99-
document.body.appendChild(link)
100-
link.click()
101-
document.body.removeChild(link)
102-
window.URL.revokeObjectURL(url)
92+
});
93+
const url = window.URL.createObjectURL(blob);
94+
const link = document.createElement("a");
95+
link.href = url;
96+
link.download = "export.xlsx";
97+
document.body.appendChild(link);
98+
link.click();
99+
document.body.removeChild(link);
100+
window.URL.revokeObjectURL(url);
103101

104102
setDataList((prevState) =>
105103
prevState.map((item) => ({ ...item, export: false }))
106-
)
104+
);
107105
toast("Panier vidé après exportation !", {
108106
style: {
109107
backgroundColor: "#c3fad5",
110108
},
111-
})
112-
}
109+
});
110+
};
113111

114112
const handleCopyToClipboardClick = async () => {
115113
const dataToCopy = dataList
@@ -121,75 +119,75 @@ const ExcelExportButton: React.FC<ExcelExportButtonProps> = ({ refetch }) => {
121119
full_name: item.fullName || "",
122120
first_name: item.first_name || "",
123121
last_name: item.last_name || "",
124-
}))
122+
}));
125123

126124
if (dataToCopy.length === 0) {
127-
toast.error("Aucune publication à copier !")
128-
return
125+
toast.error("Aucune publication à copier !");
126+
return;
129127
}
130128

131129
const uniqueContributionIds = [
132130
...new Set(dataToCopy.map((item) => item.contribution_id)),
133-
]
131+
];
134132

135133
const formattedData = dataToCopy
136134
.map(
137135
(item) =>
138136
`${item.person_id}\t${item.publi_id}\t${item.full_name}\t${item.first_name}\t${item.last_name}`
139137
)
140-
.join("\n")
138+
.join("\n");
141139

142140
try {
143-
await navigator.clipboard.writeText(formattedData)
144-
toast.success("Données copiées dans le presse-papiers !")
141+
await navigator.clipboard.writeText(formattedData);
142+
toast.success("Données copiées dans le presse-papiers !");
145143
} catch (err) {
146-
toast.error("Erreur lors de la copie des données !")
144+
toast.error("Erreur lors de la copie des données !");
147145
}
148146

149-
await markAsTreated(uniqueContributionIds)
147+
await markAsTreated(uniqueContributionIds);
150148

151149
setDataList((prevState) =>
152150
prevState.map((item) => ({ ...item, export: false }))
153-
)
151+
);
154152
toast("Panier vidé après la copie !", {
155153
style: {
156154
backgroundColor: "#c3fad5",
157155
},
158-
})
159-
}
156+
});
157+
};
160158

161159
const handleRemoveClick = (publiId: any) => {
162160
setDataList((prevState) => {
163161
const newList = prevState.map((item) =>
164162
item.export === true && item.publi_id === publiId
165163
? { ...item, export: false }
166164
: item
167-
)
165+
);
168166

169-
const removedItem = newList.find((item) => item.publi_id === publiId)
167+
const removedItem = newList.find((item) => item.publi_id === publiId);
170168
if (removedItem) {
171169
toast(`Element retiré ! : ${removedItem.fullName}`, {
172170
style: {
173171
backgroundColor: "#d64d00",
174172
color: "#fff",
175173
},
176-
})
174+
});
177175
}
178176

179-
return newList
180-
})
181-
}
177+
return newList;
178+
});
179+
};
182180

183181
const handleClearClick = () => {
184182
setDataList((prevState) =>
185183
prevState.map((item) => ({ ...item, export: false }))
186-
)
184+
);
187185
toast("Panier vidé !", {
188186
style: {
189187
backgroundColor: "#c3fad5",
190188
},
191-
})
192-
}
189+
});
190+
};
193191

194192
const uniqueExportCount = dataList
195193
.filter((item) => item.export === true)
@@ -200,10 +198,10 @@ const ExcelExportButton: React.FC<ExcelExportButtonProps> = ({ refetch }) => {
200198
uniqueItem.publi_id === item.publi_id
201199
)
202200
) {
203-
unique.push(item)
201+
unique.push(item);
204202
}
205-
return unique
206-
}, []).length
203+
return unique;
204+
}, []).length;
207205

208206
return (
209207
<div className="basket">
@@ -298,7 +296,7 @@ const ExcelExportButton: React.FC<ExcelExportButtonProps> = ({ refetch }) => {
298296
</div>
299297
</div>
300298
</div>
301-
)
302-
}
299+
);
300+
};
303301

304-
export default ExcelExportButton
302+
export default ExcelExportButton;

server/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import bsoLocalVariationsRoutes from "./routes/bso-local-variations";
77
import bsoTasksRoutes from "./routes/bso-tasks";
88
import contactsRoutes from "./routes/contacts";
99
import contributionObjectRoutes from "./routes/contributionObjectRoutes";
10-
import getLastMailsSentRoutes from "./routes/matomo";
10+
import getLastMailsSentRoutes from "./routes/last-mails-sent";
1111
import productionsRoutes from "./routes/productions";
1212
import getReceivedMailsRoutes from "./routes/receive-email";
1313
import removeUserRoutes from "./routes/remove-user";

0 commit comments

Comments
 (0)