Skip to content

Commit 8ea45b0

Browse files
authored
Merge pull request #183 from Librecov/chore/clean-frontend
chore: clean frontend
2 parents 03a895c + 7346da4 commit 8ea45b0

File tree

11 files changed

+517
-1575
lines changed

11 files changed

+517
-1575
lines changed

.eslintignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
priv/**/*
2+
deps/**/*
3+
assets/vendor/**/*
4+
_build/**/*
5+
code.js

.eslintrc

Lines changed: 17 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,17 @@
1-
env:
2-
node: true
3-
es6: true
4-
browser: true
5-
6-
parserOptions:
7-
sourceType: module
8-
9-
rules:
10-
no-debugger: 2
11-
no-dupe-args: 2
12-
no-dupe-keys: 2
13-
no-duplicate-case: 2
14-
no-ex-assign: 2
15-
no-unreachable: 2
16-
valid-typeof: 2
17-
no-fallthrough: 2
18-
quotes: [2, "single", "avoid-escape"]
19-
indent: [2, 2]
20-
comma-spacing: 2
21-
semi: [2, "never"]
22-
space-infix-ops: 2
23-
keyword-spacing: 2
24-
space-before-function-paren: [2, {named: "never"}]
25-
space-before-blocks: [2, "always"]
26-
new-parens: 2
27-
max-len: [2, 100, 2]
28-
no-multiple-empty-lines: [2, {max: 2}]
29-
eol-last: 2
30-
no-trailing-spaces: 2
31-
prefer-const: 2
32-
strict: [2, "global"]
33-
no-undef: 2
34-
35-
globals:
36-
$: true
1+
{
2+
"parser": "@typescript-eslint/parser",
3+
"extends": [
4+
"standard-with-typescript",
5+
"eslint:recommended",
6+
"plugin:@typescript-eslint/eslint-recommended",
7+
"plugin:@typescript-eslint/recommended",
8+
"prettier"
9+
],
10+
"ignorePatterns": [
11+
"**/.snap",
12+
"node_modules"
13+
],
14+
"parserOptions": {
15+
"project": "./tsconfig.json"
16+
}
17+
}

.github/workflows/stale-pr.yml

Lines changed: 0 additions & 18 deletions
This file was deleted.

.github/workflows/tests.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,45 @@ name: Tests
22
on: push
33

44
jobs:
5+
assets_dependencies:
6+
runs-on: ubuntu-latest
7+
steps:
8+
- name: Cancel previous runs
9+
uses: styfle/[email protected]
10+
with:
11+
access_token: ${{ github.token }}
12+
- name: Checkout Github repo
13+
uses: actions/checkout@v2
14+
- uses: actions/setup-node@v2
15+
id: node-install
16+
with:
17+
node-version: lts/*
18+
cache: yarn
19+
- name: Install dependencies
20+
if: steps.node-install.outputs.cache-hit != 'true'
21+
run: |
22+
yarn install --frozen-lockfile
23+
24+
linters:
25+
needs: assets_dependencies
26+
runs-on: ubuntu-latest
27+
steps:
28+
- name: Cancel previous runs
29+
uses: styfle/[email protected]
30+
with:
31+
access_token: ${{ github.token }}
32+
- name: Checkout Github repo
33+
uses: actions/checkout@v2
34+
- uses: actions/setup-node@v2
35+
id: node-install
36+
with:
37+
node-version: lts/*
38+
cache: yarn
39+
- name: Install dependencies
40+
run: |
41+
yarn install --frozen-lockfile
42+
- run: yarn eslint .
43+
544
dependencies:
645
runs-on: ubuntu-latest
746
env:

assets/build.ts

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
1-
const esbuild = require('esbuild')
1+
/* eslint-disable @typescript-eslint/no-var-requires */
2+
import type { PluginBuild, Plugin, LogLevel } from 'esbuild'
3+
4+
const esbuild = require('esbuild') as PluginBuild['esbuild']
25
const { sassPlugin } = require('esbuild-sass-plugin')
36
const path = require('path')
47

58
const bundle = true
6-
const logLevel = process.env.ESBUILD_LOG_LEVEL || 'silent'
7-
const watch = !!process.env.ESBUILD_WATCH
9+
const logLevel = (process.env.ESBUILD_LOG_LEVEL ?? 'silent') as LogLevel
10+
const watch = typeof process.env.ESBUILD_WATCH === 'string'
811

9-
const plugins = [
12+
const plugins: Plugin[] = [
1013
sassPlugin({
1114
includePaths: [path.resolve(__dirname, 'node_modules')]
12-
})
15+
}) as unknown as Plugin
1316
]
1417

1518
const promise = esbuild.build({
@@ -30,13 +33,18 @@ const promise = esbuild.build({
3033
})
3134

3235
if (watch) {
33-
promise.then((_result) => {
34-
process.stdin.on('close', () => {
35-
process.exit(0)
36-
})
36+
promise
37+
.then((_result) => {
38+
process.stdin.on('close', () => {
39+
process.exit(0)
40+
})
3741

38-
process.stdin.resume()
39-
})
42+
process.stdin.resume()
43+
})
44+
.catch((e) => {
45+
console.error(e)
46+
process.exit(1)
47+
})
4048
} else {
4149
promise.catch((e) => {
4250
console.error(e)

assets/js/index.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,9 @@ liveSocket.connect()
4747
// >> liveSocket.enableDebug()
4848
// >> liveSocket.enableLatencySim(1000) // enabled for duration of browser session
4949
// >> liveSocket.disableLatencySim()
50-
// @ts-expect-error
50+
declare global {
51+
interface Window {
52+
liveSocket: LiveSocket
53+
}
54+
}
5155
window.liveSocket = liveSocket

mix.exs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,7 @@ defmodule Librecov.Mixfile do
114114
"ecto.setup": ["ecto.create", "ecto.migrate"],
115115
"ecto.reset": ["ecto.drop", "ecto.setup"],
116116
"assets.deploy": [
117-
"cmd yarn run postcss --ext=css -m --dir=./priv/static/assets ./assets/css",
118-
"cmd --cd assets node build.ts",
117+
"cmd --cd assets ../node_modules/.bin/ts-node build.ts",
119118
"phx.digest"
120119
],
121120
sentry_recompile: ["compile", "deps.compile sentry --force"]

package.json

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,28 +16,30 @@
1616
],
1717
"license": "MIT",
1818
"devDependencies": {
19+
"@eslint/eslintrc": "^1.0.4",
1920
"@types/node": "^16.7.8",
2021
"@types/phoenix": "^1.5.2",
2122
"@types/phoenix_live_view": "^0.15.1",
22-
"@typescript-eslint/parser": "^4.0.0",
23-
"autoprefixer": "^10.3.2",
23+
"@typescript-eslint/eslint-plugin": "^5.5.0",
24+
"@typescript-eslint/parser": "^5.5.0",
2425
"cz-conventional-changelog": "3.3.0",
2526
"esbuild": "^0.14.0",
2627
"esbuild-sass-plugin": "^1.5.2",
27-
"eslint": "^7.0.0",
28+
"eslint": "^8.3.0",
29+
"eslint-config-prettier": "^8.3.0",
30+
"eslint-config-standard-with-typescript": "^21.0.1",
31+
"eslint-formatter-rdjson": "^1.0.5",
32+
"eslint-plugin-import": "^2.25.3",
33+
"eslint-plugin-node": "^11.1.0",
34+
"eslint-plugin-promise": "^6.0.0",
2835
"husky": ">=6",
2936
"less": "^4.1.1",
3037
"lint-staged": ">=10",
3138
"popper.js": "^1.16.1",
32-
"postcss": "^8.3.6",
33-
"postcss-cli": "^8.3.1",
34-
"postcss-preset-env": "^6.7.0",
35-
"postcss-scss": "^4.0.0",
3639
"prettier": "^2.3.2",
3740
"prettier-config-standard": "^4.0.0",
3841
"sass": "^1.38.1",
39-
"standard": "^16.0.3",
40-
"ts-standard": "^10.0.0"
42+
"ts-node": "^10.4.0"
4143
},
4244
"prettier": "prettier-config-standard",
4345
"dependencies": {
@@ -65,9 +67,9 @@
6567
},
6668
"lint-staged": {
6769
"*.{css,md}": "prettier --write",
68-
"*.{js,ts}": [
70+
"assets/**/*.{js,ts}": [
6971
"prettier --write",
70-
"ts-standard --fix"
72+
"eslint --fix"
7173
],
7274
"*.{ex,exs, eex}": "mix format"
7375
},

postcss.config.js

Lines changed: 0 additions & 6 deletions
This file was deleted.

tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"sourceMap": true,
55
"outDir": "./dist/",
66
"noImplicitAny": true,
7-
"module": "es6",
7+
"module": "commonjs",
88
"target": "es5",
99
"jsx": "react",
1010
"allowJs": true,

0 commit comments

Comments
 (0)