@@ -91,7 +91,7 @@ GO_PACKAGES ?= $(filter-out code.gitea.io/gitea/integrations/migration-test,$(fi
91
91
92
92
FOMANTIC_CONFIGS := semantic.json web_src/fomantic/theme.config.less web_src/fomantic/_site/globals/site.variables
93
93
FOMANTIC_DEST := web_src/fomantic/build/semantic.js web_src/fomantic/build/semantic.css
94
- FOMANTIC_DEST_DIR := web_src/fomantic/build
94
+ FOMANTIC_WORK_DIR := web_src/fomantic
95
95
96
96
WEBPACK_SOURCES := $(shell find web_src/js web_src/less -type f)
97
97
WEBPACK_CONFIGS := webpack.config.js
@@ -615,9 +615,9 @@ release-compress: | $(DIST_DIRS)
615
615
cd $(DIST ) /release/; for file in ` find . -type f -name " *" ` ; do echo " compressing $$ {file}" && gxz -k -9 $$ {file}; done ;
616
616
617
617
.PHONY : release-sources
618
- release-sources : | $(DIST_DIRS ) node_modules
618
+ release-sources : | $(DIST_DIRS ) npm-cache
619
619
echo $(VERSION ) > $(STORED_VERSION_FILE )
620
- tar --exclude=./$(DIST ) --exclude=./.git --exclude=./$(MAKE_EVIDENCE_DIR ) --exclude=./node_modules/.cache --exclude=./$(AIR_TMP_DIR ) -czf $(DIST ) /release/gitea-src-$(VERSION ) .tar.gz .
620
+ tar --exclude=./$(DIST ) --exclude=./.git --exclude=./$(MAKE_EVIDENCE_DIR ) --exclude=./node_modules --exclude=./$(AIR_TMP_DIR ) -czf $(DIST ) /release/gitea-src-$(VERSION ) .tar.gz .
621
621
rm -f $(STORED_VERSION_FILE )
622
622
623
623
.PHONY : release-docs
@@ -635,6 +635,26 @@ node_modules: package-lock.json
635
635
npm install --no-save
636
636
@touch node_modules
637
637
638
+ .PHONY : npm-cache
639
+ npm-cache : .npm-cache $(FOMANTIC_WORK_DIR ) /node_modules/fomantic-ui
640
+
641
+ .npm-cache : package-lock.json
642
+ rm -rf .npm-cache
643
+ $(eval ESBUILD_VERSION := `node -p "require('./package-lock.json') .dependencies.esbuild.version" ` )
644
+ $(eval ESBUILD_PKGS := esbuild-{darwin-64,linux-{arm,arm64,32,64},windows-{32,64}}@$(ESBUILD_VERSION ) )
645
+ npm config --userconfig=.npmrc set cache=.npm-cache
646
+ rm -rf node_modules && npm install --no-save
647
+ npm config --userconfig=$(FOMANTIC_WORK_DIR ) /.npmrc set cache=../../.npm-cache
648
+ echo $(ESBUILD_PKGS ) fsevents@1 fsevents@2 | tr " " " \n" | xargs -n 1 -P 4 npm cache add
649
+ rm -rf $(FOMANTIC_WORK_DIR ) /node_modules
650
+ @touch .npm-cache
651
+
652
+ .PHONY : npm-uncache
653
+ npm-uncache :
654
+ rm -rf .npm-cache
655
+ rm -f $(FOMANTIC_WORK_DIR ) /.npmrc
656
+ npm config --userconfig=.npmrc rm cache
657
+
638
658
.PHONY : npm-update
639
659
npm-update : node-check | node_modules
640
660
npx updates -cu
@@ -645,14 +665,22 @@ npm-update: node-check | node_modules
645
665
.PHONY : fomantic
646
666
fomantic : $(FOMANTIC_DEST )
647
667
648
- $(FOMANTIC_DEST ) : $(FOMANTIC_CONFIGS ) | node_modules
649
- @if [ ! -d node_modules/fomantic-ui ]; then \
650
- npm install --no-save --no-package-lock fomantic-ui@2.8.7; \
651
- fi
652
- rm -rf $(FOMANTIC_DEST_DIR )
653
- cp -f web_src/fomantic/theme.config.less node_modules/fomantic-ui/src/theme.config
654
- cp -rf web_src/fomantic/_site/* node_modules/fomantic-ui/src/_site/
655
- npx gulp -f node_modules/fomantic-ui/gulpfile.js build
668
+ $(FOMANTIC_WORK_DIR ) /node_modules/fomantic-ui :
669
+ ln -sf ../../semantic.json $(FOMANTIC_WORK_DIR )
670
+ cd $(FOMANTIC_WORK_DIR ) ; \
671
+ rm -rf node_modules && mkdir node_modules && \
672
+ npm install less@3 fomantic-ui --no-package-lock; \
673
+ rm -f semantic.json
674
+ @touch $(FOMANTIC_WORK_DIR ) /node_modules
675
+
676
+ $(FOMANTIC_DEST ) : $(FOMANTIC_CONFIGS ) $(FOMANTIC_WORK_DIR ) /node_modules/fomantic-ui
677
+ ln -sf ../../semantic.json $(FOMANTIC_WORK_DIR )
678
+ rm -rf $(FOMANTIC_WORK_DIR ) /build
679
+ cd $(FOMANTIC_WORK_DIR ) ; \
680
+ cp -f theme.config.less node_modules/fomantic-ui/src/theme.config; \
681
+ cp -rf _site node_modules/fomantic-ui/src/; \
682
+ npx gulp -f node_modules/fomantic-ui/gulpfile.js build; \
683
+ rm -f semantic.json
656
684
@touch $(FOMANTIC_DEST )
657
685
658
686
.PHONY : webpack
0 commit comments