Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switched to Svelte #411

Merged
merged 78 commits into from
Nov 20, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
6b33c63
Moved old frontend
marekdedic Dec 23, 2020
d6f0733
Building svelte
marekdedic Dec 25, 2020
174f231
Basic svelte app
marekdedic Dec 25, 2020
28dacca
Webpack fix
marekdedic Dec 25, 2020
5e88a29
Removed script-ext-html-webpack-plugin
marekdedic Dec 25, 2020
d984db3
Not outputing JS bundle
marekdedic Dec 25, 2020
1ce44d4
Updated HTML template
marekdedic Dec 25, 2020
8848013
Fixed gulp filter
marekdedic Dec 25, 2020
75b4710
Removed old NPM dependency
marekdedic Dec 25, 2020
9c646c0
Added svelte-i18n
marekdedic Dec 25, 2020
a5cd89e
Fixed GAS escaping error
marekdedic Dec 26, 2020
2292945
Basic i18n
marekdedic Dec 26, 2020
c99bedf
Introduction done
marekdedic Dec 26, 2020
5bf7160
Fixed copyCommnets not being synced
marekdedic Dec 26, 2020
f9ece9c
Basic folder navigation
marekdedic Dec 26, 2020
6763afd
Fully working folder selection
marekdedic Dec 26, 2020
aaeae07
ContinueTab without a slot
marekdedic Dec 26, 2020
72e0215
Interactive FolderSelection
marekdedic Dec 26, 2020
9283f76
Added destination and confirmation
marekdedic Dec 27, 2020
985db34
Partially fixed lint
marekdedic Dec 27, 2020
2d96432
Fixed svelte-check, at least partialy
marekdedic Dec 27, 2020
388e55b
Removed tabs
marekdedic Dec 28, 2020
6fb2b6a
Added global progress bar
marekdedic Dec 28, 2020
9b4de1d
Actually moving the files
marekdedic Dec 28, 2020
7377e71
Implementing non-empty forcing
marekdedic Dec 28, 2020
36c075c
Move response handler
marekdedic Dec 29, 2020
ab0617a
Shoing error dialog on folder selection errors as well
marekdedic Dec 29, 2020
7c1ce71
Fixed svelte-check errors
marekdedic Dec 29, 2020
61203f3
Added step headers
marekdedic Dec 29, 2020
61302e5
Tuned texts
marekdedic Dec 30, 2020
8b210f6
Added czech translation
marekdedic Dec 30, 2020
0acb319
Added material theme colors
marekdedic Dec 30, 2020
26c969f
Improved spacing
marekdedic Dec 30, 2020
c1ae8b6
File selection top & bottom separators
marekdedic Dec 30, 2020
2fd3657
Better introduction
marekdedic Dec 30, 2020
603f40f
ContinueTab -> ContinueButton
marekdedic Dec 30, 2020
70d3084
Added back button
marekdedic Dec 30, 2020
f835e45
removed ts-loader
marekdedic Dec 30, 2020
43a19e1
Removed Vue frontend
marekdedic Dec 30, 2020
a6e17e6
Merge branch 'master' into svelte
marekdedic Dec 30, 2020
cba8305
Merge branch 'master' into svelte
marekdedic Feb 4, 2021
c28e8b5
Updated calling of the "move" function from frontend to match the new…
marekdedic Feb 4, 2021
7887a95
Merge branch 'master' into svelte
marekdedic Feb 16, 2021
47312c3
Dependency update
marekdedic Feb 16, 2021
93f67c1
Configured eslint for svelte & TS
marekdedic Feb 16, 2021
0337944
Linting eslint config
marekdedic Feb 16, 2021
ed02cbc
Merge branch 'master' into svelte
marekdedic Mar 19, 2021
9b6013b
Removed old eslint-config-prettier configs
marekdedic Mar 20, 2021
33d16e2
Merge branch 'master' into svelte
marekdedic Apr 5, 2021
89ace98
Merge branch 'master' into svelte
marekdedic Apr 13, 2021
4a51e6c
Merge branch 'master' into svelte
marekdedic Jun 18, 2021
54104d9
Merge branch 'master' into svelte
marekdedic Sep 2, 2021
f90cc25
Fixed incompatible @material/theme version
marekdedic Sep 2, 2021
a307cf1
Removed provisions from Vue
marekdedic Sep 2, 2021
6cb5a86
Depenedency update
marekdedic Sep 2, 2021
8e1489a
Merge branch 'master' into svelte
marekdedic Sep 12, 2021
fe3ea32
Merge branch 'master' into svelte
marekdedic Sep 12, 2021
5670dcc
NPM update
marekdedic Sep 12, 2021
c60b513
NPM update 2
marekdedic Sep 12, 2021
41b11b7
SMUI v1 -> v3.0
marekdedic Sep 12, 2021
f42bd7b
SMUI v3.0 -> v3.1
marekdedic Sep 12, 2021
16f6fd5
SMUI v3.1 -> v4.0
marekdedic Sep 12, 2021
611fccb
SMUI v4.0 -> v4.2
marekdedic Sep 12, 2021
b815a1f
Merge branch 'master' into svelte
marekdedic Sep 15, 2021
33eb569
Merge branch 'master' into svelte
marekdedic Sep 19, 2021
690a5a5
Merge branch 'master' into svelte
marekdedic Oct 7, 2021
e9e57bf
Merge branch 'master' into svelte
marekdedic Oct 25, 2021
33499b3
Fixed linting on eslintrc
marekdedic Oct 25, 2021
bc79cd3
Fixed eslint linting component styles
marekdedic Oct 25, 2021
336f1cd
Merge branch 'master' into svelte
marekdedic Nov 8, 2021
8a89ebb
smui v5
marekdedic Nov 10, 2021
29073a9
Merge branch 'master' into svelte
marekdedic Nov 12, 2021
03abf48
Merge branch 'master' into svelte
marekdedic Nov 20, 2021
658f4b0
smui v5.0.1
marekdedic Nov 20, 2021
22125cc
Added types to some variables
marekdedic Nov 20, 2021
d5acfe4
Fixed JSON imports
marekdedic Nov 20, 2021
0a0f356
Backported some changes from the svelte-materialify branch
marekdedic Nov 20, 2021
14bab69
Switched to Material colors
marekdedic Nov 20, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 123 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
/* eslint-env node */

module.exports = {
parserOptions: {
parser: "@typescript-eslint/parser",
project: "./tsconfig.json",
sourceType: "script",
},
env: {
browser: true,
node: false,
},
plugins: ["svelte3", "@typescript-eslint"],
extends: [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking",
"plugin:prettier/recommended",
],
rules: {
"no-warning-comments": "warn",
"@typescript-eslint/array-type": ["error", { default: "generic" }],
"@typescript-eslint/consistent-indexed-object-style": "error",
"@typescript-eslint/consistent-type-assertions": "error",
"@typescript-eslint/consistent-type-definitions": "error",
"@typescript-eslint/consistent-type-imports": "error",
"@typescript-eslint/explicit-function-return-type": "error",
"@typescript-eslint/explicit-member-accessibility": "error",
"@typescript-eslint/explicit-module-boundary-types": "error",
"@typescript-eslint/member-delimiter-style": "error",
"@typescript-eslint/member-ordering": "error",
"@typescript-eslint/method-signature-style": ["error", "method"],
"@typescript-eslint/no-base-to-string": "error",
"@typescript-eslint/no-confusing-non-null-assertion": "error",
"@typescript-eslint/no-confusing-void-expression": "error",
"@typescript-eslint/no-extraneous-class": "error",
"@typescript-eslint/no-invalid-void-type": "error",
"@typescript-eslint/no-meaningless-void-operator": "error",
"@typescript-eslint/no-namespace": ["error", { allowDeclarations: true }],
"@typescript-eslint/no-non-null-asserted-nullish-coalescing": "error",
"@typescript-eslint/no-parameter-properties": "error",
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
"@typescript-eslint/no-unnecessary-condition": "error",
"@typescript-eslint/no-unnecessary-qualifier": "error",
"@typescript-eslint/non-nullable-type-assertion-style": "error",
"@typescript-eslint/prefer-for-of": "error",
"@typescript-eslint/prefer-function-type": "error",
"@typescript-eslint/prefer-includes": "error",
"@typescript-eslint/prefer-literal-enum-member": "error",
"@typescript-eslint/prefer-nullish-coalescing": "error",
"@typescript-eslint/prefer-optional-chain": "error",
"@typescript-eslint/prefer-readonly": "error",
"@typescript-eslint/prefer-reduce-type-parameter": "error",
"@typescript-eslint/prefer-regexp-exec": "error",
"@typescript-eslint/prefer-return-this-type": "error",
"@typescript-eslint/prefer-string-starts-ends-with": "error",
"@typescript-eslint/promise-function-async": "error",
"@typescript-eslint/require-array-sort-compare": "error",
"@typescript-eslint/sort-type-union-intersection-members": "error",
"@typescript-eslint/strict-boolean-expressions": "error",
"@typescript-eslint/switch-exhaustiveness-check": "error",
"@typescript-eslint/unified-signatures": "error",
"@typescript-eslint/no-non-null-assertion": "off",
},
settings: {
"svelte3/typescript": require("typescript"),
"svelte3/ignore-styles": () => true,
},
overrides: [
{
files: ["*.svelte"],
processor: "svelte3/svelte3",
},
{
parserOptions: {
project: null,
},
files: ["gulpfile.js", "frontend.webpack.config.js", ".eslintrc.js"],
rules: {
"@typescript-eslint/await-thenable": "off",
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/no-base-to-string": "off",
"@typescript-eslint/no-confusing-void-expression": "off",
"@typescript-eslint/no-floating-promises": "off",
"@typescript-eslint/no-implied-eval": "off",
"@typescript-eslint/no-meaningless-void-operator": "off",
"@typescript-eslint/no-misused-promises": "off",
"@typescript-eslint/no-unnecessary-boolean-literal-compare": "off",
"@typescript-eslint/no-unnecessary-condition": "off",
"@typescript-eslint/no-unnecessary-qualifier": "off",
"@typescript-eslint/no-unnecessary-type-assertion": "off",
"@typescript-eslint/no-unsafe-argument": "off",
"@typescript-eslint/no-unsafe-assignment": "off",
"@typescript-eslint/no-unsafe-call": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/no-unsafe-return": "off",
"@typescript-eslint/no-var-requires": "off",
"@typescript-eslint/non-nullable-type-assertion-style": "off",
"@typescript-eslint/prefer-includes": "off",
"@typescript-eslint/prefer-nullish-coalescing": "off",
"@typescript-eslint/prefer-readonly": "off",
"@typescript-eslint/prefer-reduce-type-parameter": "off",
"@typescript-eslint/prefer-regexp-exec": "off",
"@typescript-eslint/prefer-return-this-type": "off",
"@typescript-eslint/prefer-string-starts-ends-with": "off",
"@typescript-eslint/promise-function-async": "off",
"@typescript-eslint/require-array-sort-compare": "off",
"@typescript-eslint/require-await": "off",
"@typescript-eslint/restrict-plus-operands": "off",
"@typescript-eslint/restrict-template-expressions": "off",
"@typescript-eslint/strict-boolean-expressions": "off",
"@typescript-eslint/switch-exhaustiveness-check": "off",
"@typescript-eslint/unbound-method": "off",
},
},
],
globals: {
google: "readonly",
MoveError: "readonly",
MoveResponse: "readonly",
NamedRecord: "readonly",
},
};
85 changes: 0 additions & 85 deletions .eslintrc.json

This file was deleted.

8 changes: 8 additions & 0 deletions backend.tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"target": "es5",
"lib": ["es5"],
"types": ["google-apps-script"]
}
}
6 changes: 6 additions & 0 deletions frontend.tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"target": "es6"
}
}
58 changes: 28 additions & 30 deletions frontend.webpack.config.js
Original file line number Diff line number Diff line change
@@ -1,65 +1,63 @@
/* eslint-env node */

const HtmlWebpackPlugin = require("html-webpack-plugin");
const ScriptExtHtmlWebPackPlugin = require("script-ext-html-webpack-plugin");
const TerserPlugin = require("terser-webpack-plugin");
const VueLoaderPlugin = require("vue-loader/lib/plugin");
const sveltePreprocess = require("svelte-preprocess");

const path = require("path");

module.exports = {
mode: "production",
optimization: {
minimize: true,
minimizer: [
new TerserPlugin({
extractComments: false,
}),
],
},
plugins: [
new HtmlWebpackPlugin({
template: "src/frontend/index.html",
scriptLoading: "blocking",
}),
new ScriptExtHtmlWebPackPlugin({
inline: /\.js$/,
minify: false,
inject: false,
}),
new VueLoaderPlugin(),
],
module: {
rules: [
{
test: /\.vue$/,
loader: "vue-loader",
},
{
test: /\.ts$/,
loader: "ts-loader",
options: {
appendTsSuffixTo: [/\.vue$/],
test: /\.svelte/,
use: {
loader: "svelte-loader",
options: {
preprocess: sveltePreprocess({
tsconfigFile: "./frontend.tsconfig.json",
}),
},
},
exclude: /node_modules/,
},
{
test: /\.css$/,
test: /\.(sa|sc|c)ss$/,
use: [
"vue-style-loader",
"style-loader",
"css-loader",
{
loader: "css-loader",
loader: "sass-loader",
options: {
esModule: false,
sassOptions: {
includePaths: ["./src/frontend", "./node_modules"],
},
},
},
],
},
],
},
resolve: {
extensions: [".ts", ".js"],
alias: {
svelte: path.resolve("node_modules", "svelte"),
},
extensions: [".ts", ".js", ".svelte"],
mainFields: ["svelte", "browser", "module", "main"],
},
entry: {
index: "./src/frontend/index.ts",
},
output: {
filename: "[name].js",
},
performance: {
hints: false,
},
};
4 changes: 4 additions & 0 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
const gulp = require("gulp");

const concat = require("gulp-concat");
const filter = require("gulp-filter");
const replace = require("gulp-replace");
const ts = require("gulp-typescript");
const webpack = require("webpack-stream");

Expand All @@ -14,6 +16,8 @@ gulp.task("build:frontend", function () {
return gulp
.src("src/frontend/index.ts")
.pipe(webpack(require("./frontend.webpack.config.js")))
.pipe(filter(["index.html"]))
.pipe(replace("\u0085", "\\u0085"))
.pipe(gulp.dest("dist/"));
});

Expand Down
Loading