Reorganize frontend files and tooling (#10168)
- move "vendor" files to js/vendor and less/vendor - move swagger to js/standalone (meant for standalone pages) - move gitgraph to features and streamline its loading - add linting configs to webpack dependencies in make - set ignored files for eslint/stylelint directly in their configs Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									6e6da2c276
								
							
						
					
					
						commit
						fdf6d25915
					
				
					 12 changed files with 21 additions and 11 deletions
				
			
		| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
/web_src/js/semanticDropdown.js
 | 
			
		||||
| 
						 | 
				
			
			@ -4,6 +4,9 @@ extends:
 | 
			
		|||
  - eslint-config-airbnb-base
 | 
			
		||||
  - eslint:recommended
 | 
			
		||||
 | 
			
		||||
ignorePatterns:
 | 
			
		||||
 - /web_src/js/vendor
 | 
			
		||||
 | 
			
		||||
parserOptions:
 | 
			
		||||
  ecmaVersion: 2020
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,10 @@
 | 
			
		|||
extends: stylelint-config-standard
 | 
			
		||||
 | 
			
		||||
ignoreFiles:
 | 
			
		||||
  - web_src/less/vendor/**/*
 | 
			
		||||
 | 
			
		||||
rules:
 | 
			
		||||
  at-rule-empty-line-before: null
 | 
			
		||||
  block-closing-brace-empty-line-before: null
 | 
			
		||||
  color-hex-length: null
 | 
			
		||||
  comment-empty-line-before: null
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										5
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										5
									
								
								Makefile
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -56,7 +56,8 @@ LDFLAGS := $(LDFLAGS) -X "main.MakeVersion=$(MAKE_VERSION)" -X "main.Version=$(G
 | 
			
		|||
PACKAGES ?= $(filter-out code.gitea.io/gitea/integrations/migration-test,$(filter-out code.gitea.io/gitea/integrations,$(shell GO111MODULE=on $(GO) list -mod=vendor ./... | grep -v /vendor/)))
 | 
			
		||||
 | 
			
		||||
GO_SOURCES ?= $(shell find . -name "*.go" -type f)
 | 
			
		||||
WEBPACK_SOURCES ?= $(shell find web_src/js web_src/css web_src/less -type f)
 | 
			
		||||
WEBPACK_SOURCES ?= $(shell find web_src/js web_src/less -type f)
 | 
			
		||||
WEBPACK_CONFIGS := webpack.config.js .eslintrc .stylelintrc
 | 
			
		||||
 | 
			
		||||
WEBPACK_DEST := public/js/index.js public/css/index.css
 | 
			
		||||
BINDATA_DEST := modules/public/bindata.go modules/options/bindata.go modules/templates/bindata.go
 | 
			
		||||
| 
						 | 
				
			
			@ -517,7 +518,7 @@ $(FOMANTIC_EVIDENCE): semantic.json $(FOMANTIC_SOURCES) | node_modules
 | 
			
		|||
.PHONY: webpack
 | 
			
		||||
webpack: node-check $(WEBPACK_DEST)
 | 
			
		||||
 | 
			
		||||
$(WEBPACK_DEST): $(WEBPACK_SOURCES) webpack.config.js | node_modules
 | 
			
		||||
$(WEBPACK_DEST): $(WEBPACK_SOURCES) $(WEBPACK_CONFIGS) | node_modules
 | 
			
		||||
	npx eslint web_src/js webpack.config.js
 | 
			
		||||
	npx stylelint web_src/less
 | 
			
		||||
	npx webpack --hide-modules --display-entrypoints=false
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,8 @@
 | 
			
		|||
$(async () => {
 | 
			
		||||
export default async function initGitGraph() {
 | 
			
		||||
  const graphCanvas = document.getElementById('graph-canvas');
 | 
			
		||||
  if (!graphCanvas) return;
 | 
			
		||||
 | 
			
		||||
  const { default: gitGraph } = await import(/* webpackChunkName: "gitgraph" */'./gitGraph.js');
 | 
			
		||||
  const { default: gitGraph } = await import(/* webpackChunkName: "gitgraph" */'../vendor/gitGraph.js');
 | 
			
		||||
 | 
			
		||||
  const graphList = [];
 | 
			
		||||
  $('#graph-raw-list li span.node-relation').each(function () {
 | 
			
		||||
| 
						 | 
				
			
			@ -10,4 +10,4 @@ $(async () => {
 | 
			
		|||
  });
 | 
			
		||||
 | 
			
		||||
  gitGraph(graphCanvas, graphList);
 | 
			
		||||
});
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -5,10 +5,11 @@
 | 
			
		|||
import 'jquery.are-you-sure';
 | 
			
		||||
import './publicPath.js';
 | 
			
		||||
import './polyfills.js';
 | 
			
		||||
import './gitGraphLoader.js';
 | 
			
		||||
import './semanticDropdown.js';
 | 
			
		||||
import './vendor/semanticDropdown.js';
 | 
			
		||||
 | 
			
		||||
import initContextPopups from './features/contextPopup.js';
 | 
			
		||||
import initHighlight from './features/highlight.js';
 | 
			
		||||
import initGitGraph from './features/gitGraph.js';
 | 
			
		||||
 | 
			
		||||
import ActivityTopAuthors from './components/ActivityTopAuthors.vue';
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2578,6 +2579,7 @@ $(document).ready(async () => {
 | 
			
		|||
  initRepoStatusChecker();
 | 
			
		||||
  initTemplateSearch();
 | 
			
		||||
  initContextPopups(suburl);
 | 
			
		||||
  initGitGraph();
 | 
			
		||||
 | 
			
		||||
  // Repo clone url.
 | 
			
		||||
  if ($('#repo-clone-url').length > 0) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,6 @@
 | 
			
		|||
@import "~highlight.js/styles/github.css";
 | 
			
		||||
@import "./vendor/gitGraph.css";
 | 
			
		||||
 | 
			
		||||
@import "_tribute";
 | 
			
		||||
@import "_emojify";
 | 
			
		||||
@import "_base";
 | 
			
		||||
| 
						 | 
				
			
			@ -13,5 +16,3 @@
 | 
			
		|||
@import "_admin";
 | 
			
		||||
@import "_explore";
 | 
			
		||||
@import "_review";
 | 
			
		||||
@import "~highlight.js/styles/github.css";
 | 
			
		||||
@import "../css/gitGraph.css";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,7 +24,7 @@ module.exports = {
 | 
			
		|||
      resolve(__dirname, 'web_src/less/index.less'),
 | 
			
		||||
    ],
 | 
			
		||||
    swagger: [
 | 
			
		||||
      resolve(__dirname, 'web_src/js/swagger.js'),
 | 
			
		||||
      resolve(__dirname, 'web_src/js/standalone/swagger.js'),
 | 
			
		||||
    ],
 | 
			
		||||
    jquery: [
 | 
			
		||||
      resolve(__dirname, 'web_src/js/jquery.js'),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue