From b6780f3693e10e472bf0b8183fed8f9df90086a2 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 30 Apr 2025 06:22:52 +0000 Subject: [PATCH 1/3] chore(deps): update dependency vite to v5.4.19 --- frontend/fic/package-lock.json | 7 +++---- qa/ui/package-lock.json | 6 +++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/frontend/fic/package-lock.json b/frontend/fic/package-lock.json index d08b942c..e0b8c4c2 100644 --- a/frontend/fic/package-lock.json +++ b/frontend/fic/package-lock.json @@ -15,7 +15,6 @@ "hash-wasm": "^4.9.0", "seedrandom": "^3.0.5", "svelte-bricks": "^0.2.1", - "vite": "^5.0.0", "wordcloud": "^1.2.2" }, "devDependencies": { @@ -3172,9 +3171,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "5.4.15", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.15.tgz", - "integrity": "sha512-6ANcZRivqL/4WtwPGTKNaosuNJr5tWiftOC7liM7G9+rMb8+oeJeyzymDu4rTN93seySBmbjSfsS3Vzr19KNtA==", + "version": "5.4.19", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.19.tgz", + "integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==", "dev": true, "license": "MIT", "dependencies": { diff --git a/qa/ui/package-lock.json b/qa/ui/package-lock.json index 775181b2..db0e2294 100644 --- a/qa/ui/package-lock.json +++ b/qa/ui/package-lock.json @@ -2615,9 +2615,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "5.4.15", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.15.tgz", - "integrity": "sha512-6ANcZRivqL/4WtwPGTKNaosuNJr5tWiftOC7liM7G9+rMb8+oeJeyzymDu4rTN93seySBmbjSfsS3Vzr19KNtA==", + "version": "5.4.19", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.19.tgz", + "integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==", "dev": true, "license": "MIT", "dependencies": { From ac5982f905fd09c21bc114f899157031344ddcb7 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Thu, 1 May 2025 13:57:45 +0200 Subject: [PATCH 2/3] fileexporter: Close opened fd --- fileexporter/archive.go | 26 +++++++++++++++++++++----- fileexporter/copy.go | 6 +++--- fileexporter/main.go | 18 +++++++++++++----- 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/fileexporter/archive.go b/fileexporter/archive.go index 19544724..d4fc1ceb 100644 --- a/fileexporter/archive.go +++ b/fileexporter/archive.go @@ -4,30 +4,46 @@ import ( "archive/zip" "errors" "io" + "log" "os" "path" ) type archiveFileCreator interface { Create(name string) (io.Writer, error) + Close() error +} + +type filesCloser []io.Closer + +func (fds filesCloser) Close() error { + log.Println("Closing fd..") + for _, fd := range fds { + err := fd.Close() + if err != nil { + return err + } + } + + return nil } func init() { - OutputFormats["archive"] = func(args ...string) (func(string) (io.WriteCloser, error), error) { + OutputFormats["archive"] = func(args ...string) (func(string) (io.WriteCloser, error), io.Closer, error) { if len(args) != 1 { - return nil, errors.New("archive has 1 required argument: [destination-file]") + return nil, nil, errors.New("archive has 1 required argument: [destination-file]") } fd, err := os.Create(args[0]) if err != nil { - return nil, err + return nil, nil, err } var w archiveFileCreator if path.Ext(args[0]) == ".zip" { w = zip.NewWriter(fd) } else { - return nil, errors.New("destination file has to have .zip extension") + return nil, nil, errors.New("destination file has to have .zip extension") } return func(dest string) (io.WriteCloser, error) { @@ -37,6 +53,6 @@ func init() { } return NopCloser(fw), nil - }, nil + }, filesCloser{w, fd}, nil } } diff --git a/fileexporter/copy.go b/fileexporter/copy.go index 6610b2c1..d4c7b96a 100644 --- a/fileexporter/copy.go +++ b/fileexporter/copy.go @@ -8,15 +8,15 @@ import ( ) func init() { - OutputFormats["copy"] = func(args ...string) (func(string) (io.WriteCloser, error), error) { + OutputFormats["copy"] = func(args ...string) (func(string) (io.WriteCloser, error), io.Closer, error) { if len(args) > 1 { - return nil, errors.New("copy can only take 1 argument: [destination-folder]") + return nil, nil, errors.New("copy can only take 1 argument: [destination-folder]") } if len(args) == 1 { fic.FilesDir = args[0] } - return nil, nil + return nil, nil, nil } } diff --git a/fileexporter/main.go b/fileexporter/main.go index 2fa95ab9..5fea7f6d 100644 --- a/fileexporter/main.go +++ b/fileexporter/main.go @@ -14,7 +14,7 @@ import ( "srs.epita.fr/fic-server/libfic" ) -var OutputFormats = map[string]func(...string) (func(string) (io.WriteCloser, error), error){} +var OutputFormats = map[string]func(...string) (func(string) (io.WriteCloser, error), io.Closer, error){} func exportThemeFiles(tdir string) (errs error) { theme, exceptions, err := sync.BuildTheme(sync.GlobalImporter, tdir) @@ -129,6 +129,13 @@ func main() { log.Println("Using", sync.GlobalImporter.Kind()) + hasError := doExport() + if hasError { + os.Exit(1) + } +} + +func doExport() bool { // Configure destination if flag.NArg() < 1 { var formats []string @@ -147,7 +154,10 @@ func main() { log.Fatal("Please define wanted output format between [" + strings.Join(formats, " ") + "]") } else { - fw, err := outputFormat(flag.Args()[1:]...) + fw, closer, err := outputFormat(flag.Args()[1:]...) + if closer != nil { + defer closer.Close() + } if err != nil { log.Fatal(err) } else if fw != nil { @@ -170,7 +180,5 @@ func main() { } } - if hasError { - os.Exit(1) - } + return hasError } From 4821c46f37d983ca954a2953db9fe4be076d8805 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 8 May 2025 09:46:49 +0000 Subject: [PATCH 3/3] chore(deps): update dependency vite to v5.4.19 --- frontend/fic/package-lock.json | 7 +++---- qa/ui/package-lock.json | 6 +++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/frontend/fic/package-lock.json b/frontend/fic/package-lock.json index d08b942c..e0b8c4c2 100644 --- a/frontend/fic/package-lock.json +++ b/frontend/fic/package-lock.json @@ -15,7 +15,6 @@ "hash-wasm": "^4.9.0", "seedrandom": "^3.0.5", "svelte-bricks": "^0.2.1", - "vite": "^5.0.0", "wordcloud": "^1.2.2" }, "devDependencies": { @@ -3172,9 +3171,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "5.4.15", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.15.tgz", - "integrity": "sha512-6ANcZRivqL/4WtwPGTKNaosuNJr5tWiftOC7liM7G9+rMb8+oeJeyzymDu4rTN93seySBmbjSfsS3Vzr19KNtA==", + "version": "5.4.19", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.19.tgz", + "integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==", "dev": true, "license": "MIT", "dependencies": { diff --git a/qa/ui/package-lock.json b/qa/ui/package-lock.json index 775181b2..db0e2294 100644 --- a/qa/ui/package-lock.json +++ b/qa/ui/package-lock.json @@ -2615,9 +2615,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "5.4.15", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.15.tgz", - "integrity": "sha512-6ANcZRivqL/4WtwPGTKNaosuNJr5tWiftOC7liM7G9+rMb8+oeJeyzymDu4rTN93seySBmbjSfsS3Vzr19KNtA==", + "version": "5.4.19", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.19.tgz", + "integrity": "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==", "dev": true, "license": "MIT", "dependencies": {