]> source.dussan.org Git - gitea.git/commitdiff
Make build scripts compatible with node 12 (#15479)
authorsilverwind <me@silverwind.io>
Thu, 15 Apr 2021 11:02:34 +0000 (13:02 +0200)
committerGitHub <noreply@github.com>
Thu, 15 Apr 2021 11:02:34 +0000 (12:02 +0100)
* Make build scripts compatible with node 12

"fs/promises" is not in node 12, use a more compatible way to import it.
Also, lock major down versions of the image build dependencies to
prevent future surprises.

* add node_modules dependency

Makefile
build/generate-images.js
build/generate-svg.js

index 7bd479ff6bf1072c90304d2a585b0ffe75b38a6a..2cd3d383be5755476ed45c2e629c22e3de1a81f8 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -736,8 +736,8 @@ generate-gitignore:
        GO111MODULE=on $(GO) run build/generate-gitignores.go
 
 .PHONY: generate-images
-generate-images:
-       npm install --no-save --no-package-lock fabric imagemin-zopfli
+generate-images: | node_modules
+       npm install --no-save --no-package-lock fabric@4 imagemin-zopfli@7
        node build/generate-images.js $(TAGS)
 
 .PHONY: generate-manpage
index d82f21564f68e1b07d10ac959c2361ee14ea484e..b6616810a76d51eb4093c50fd58794094cab2266 100755 (executable)
@@ -1,10 +1,11 @@
 import imageminZopfli from 'imagemin-zopfli';
 import {optimize, extendDefaultPlugins} from 'svgo';
 import {fabric} from 'fabric';
-import {readFile, writeFile} from 'fs/promises';
+import fs from 'fs';
 import {resolve, dirname} from 'path';
 import {fileURLToPath} from 'url';
 
+const {readFile, writeFile} = fs.promises;
 const __dirname = dirname(fileURLToPath(import.meta.url));
 const logoFile = resolve(__dirname, '../assets/logo.svg');
 
index 3e14f906e30df82d7f4cdcb4e08cd7b0141991f5..72c3be3cbdb767fb17b8b5625122f079d8a90bef 100755 (executable)
@@ -1,9 +1,10 @@
 import fastGlob from 'fast-glob';
 import {optimize, extendDefaultPlugins} from 'svgo';
 import {resolve, parse, dirname} from 'path';
-import {readFile, writeFile, mkdir} from 'fs/promises';
+import fs from 'fs';
 import {fileURLToPath} from 'url';
 
+const {readFile, writeFile, mkdir} = fs.promises;
 const __dirname = dirname(fileURLToPath(import.meta.url));
 const glob = (pattern) => fastGlob.sync(pattern, {cwd: resolve(__dirname), absolute: true});
 const outputDir = resolve(__dirname, '../public/img/svg');