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-config-airbnb-base
|
||||||
- eslint:recommended
|
- eslint:recommended
|
||||||
|
|
||||||
|
ignorePatterns:
|
||||||
|
- /web_src/js/vendor
|
||||||
|
|
||||||
parserOptions:
|
parserOptions:
|
||||||
ecmaVersion: 2020
|
ecmaVersion: 2020
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
extends: stylelint-config-standard
|
extends: stylelint-config-standard
|
||||||
|
|
||||||
|
ignoreFiles:
|
||||||
|
- web_src/less/vendor/**/*
|
||||||
|
|
||||||
rules:
|
rules:
|
||||||
|
at-rule-empty-line-before: null
|
||||||
block-closing-brace-empty-line-before: null
|
block-closing-brace-empty-line-before: null
|
||||||
color-hex-length: null
|
color-hex-length: null
|
||||||
comment-empty-line-before: 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/)))
|
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)
|
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
|
WEBPACK_DEST := public/js/index.js public/css/index.css
|
||||||
BINDATA_DEST := modules/public/bindata.go modules/options/bindata.go modules/templates/bindata.go
|
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
|
.PHONY: webpack
|
||||||
webpack: node-check $(WEBPACK_DEST)
|
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 eslint web_src/js webpack.config.js
|
||||||
npx stylelint web_src/less
|
npx stylelint web_src/less
|
||||||
npx webpack --hide-modules --display-entrypoints=false
|
npx webpack --hide-modules --display-entrypoints=false
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
$(async () => {
|
export default async function initGitGraph() {
|
||||||
const graphCanvas = document.getElementById('graph-canvas');
|
const graphCanvas = document.getElementById('graph-canvas');
|
||||||
if (!graphCanvas) return;
|
if (!graphCanvas) return;
|
||||||
|
|
||||||
const { default: gitGraph } = await import(/* webpackChunkName: "gitgraph" */'./gitGraph.js');
|
const { default: gitGraph } = await import(/* webpackChunkName: "gitgraph" */'../vendor/gitGraph.js');
|
||||||
|
|
||||||
const graphList = [];
|
const graphList = [];
|
||||||
$('#graph-raw-list li span.node-relation').each(function () {
|
$('#graph-raw-list li span.node-relation').each(function () {
|
||||||
|
@ -10,4 +10,4 @@ $(async () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
gitGraph(graphCanvas, graphList);
|
gitGraph(graphCanvas, graphList);
|
||||||
});
|
}
|
|
@ -5,10 +5,11 @@
|
||||||
import 'jquery.are-you-sure';
|
import 'jquery.are-you-sure';
|
||||||
import './publicPath.js';
|
import './publicPath.js';
|
||||||
import './polyfills.js';
|
import './polyfills.js';
|
||||||
import './gitGraphLoader.js';
|
import './vendor/semanticDropdown.js';
|
||||||
import './semanticDropdown.js';
|
|
||||||
import initContextPopups from './features/contextPopup.js';
|
import initContextPopups from './features/contextPopup.js';
|
||||||
import initHighlight from './features/highlight.js';
|
import initHighlight from './features/highlight.js';
|
||||||
|
import initGitGraph from './features/gitGraph.js';
|
||||||
|
|
||||||
import ActivityTopAuthors from './components/ActivityTopAuthors.vue';
|
import ActivityTopAuthors from './components/ActivityTopAuthors.vue';
|
||||||
|
|
||||||
|
@ -2578,6 +2579,7 @@ $(document).ready(async () => {
|
||||||
initRepoStatusChecker();
|
initRepoStatusChecker();
|
||||||
initTemplateSearch();
|
initTemplateSearch();
|
||||||
initContextPopups(suburl);
|
initContextPopups(suburl);
|
||||||
|
initGitGraph();
|
||||||
|
|
||||||
// Repo clone url.
|
// Repo clone url.
|
||||||
if ($('#repo-clone-url').length > 0) {
|
if ($('#repo-clone-url').length > 0) {
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
@import "~highlight.js/styles/github.css";
|
||||||
|
@import "./vendor/gitGraph.css";
|
||||||
|
|
||||||
@import "_tribute";
|
@import "_tribute";
|
||||||
@import "_emojify";
|
@import "_emojify";
|
||||||
@import "_base";
|
@import "_base";
|
||||||
|
@ -13,5 +16,3 @@
|
||||||
@import "_admin";
|
@import "_admin";
|
||||||
@import "_explore";
|
@import "_explore";
|
||||||
@import "_review";
|
@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'),
|
resolve(__dirname, 'web_src/less/index.less'),
|
||||||
],
|
],
|
||||||
swagger: [
|
swagger: [
|
||||||
resolve(__dirname, 'web_src/js/swagger.js'),
|
resolve(__dirname, 'web_src/js/standalone/swagger.js'),
|
||||||
],
|
],
|
||||||
jquery: [
|
jquery: [
|
||||||
resolve(__dirname, 'web_src/js/jquery.js'),
|
resolve(__dirname, 'web_src/js/jquery.js'),
|
||||||
|
|
Reference in a new issue