Skip to content

Commit e4b9422

Browse files
committed
refactor!: rewrite structure
1 parent 02b15f0 commit e4b9422

File tree

134 files changed

+3354
-3733
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+3354
-3733
lines changed

.prettierignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
build
2+
dist
3+
coverage
4+
5+
**/*.html
6+
**/*.config.ts
7+
**/*.json

package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,19 @@
55
"dev": "lerna run dev",
66
"serve": "lerna run serve",
77
"build": "lerna run build --verbose",
8-
"test": "lerna run test",
9-
"lint": "lerna run lint",
8+
"test": "vitest run",
9+
"lint": "prettier --write packages/",
1010
"deploy": "pnpm run build",
1111
"patch": "generi log patch",
1212
"minor": "generi log minor",
1313
"major": "generi log major"
1414
},
1515
"devDependencies": {
1616
"generi": "2.0.1",
17-
"lerna": "6.6.2"
17+
"happy-dom": "20.0.10",
18+
"prettier": "3.6.2",
19+
"lerna": "6.6.2",
20+
"vitest": "4.0.6"
1821
},
1922
"packageManager": "pnpm@8.5.1"
2023
}

packages/app/.eslintrc.js

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,31 @@ module.exports = {
33
node: true,
44
},
55
extends: [
6-
"eslint:recommended",
7-
"plugin:vue/vue3-recommended",
8-
"eslint-config-prettier",
9-
"@vue/typescript/recommended"
6+
'eslint:recommended',
7+
'plugin:vue/vue3-recommended',
8+
'eslint-config-prettier',
9+
'@vue/typescript/recommended',
1010
],
1111
rules: {
12-
"vue/no-unused-vars": 0,
13-
"vue/no-mutating-props": 0,
14-
"vue/valid-v-on": 0,
15-
"vue/valid-v-for": 0,
16-
"vue/require-default-prop": 0,
17-
"vue/no-parsing-error": 0,
18-
"vue/no-v-html": 0, // editor entities
19-
"vue/require-prop-types": 0, // material any inserts
20-
"vue/multi-word-component-names": 0,
21-
"vue/no-use-v-if-with-v-for": 0,
22-
"vue/no-setup-props-destructure": 0, // vue >= 3.2.20
23-
"vue/no-dupe-keys": 0,
24-
"@typescript-eslint/no-empty-function": 0,
25-
"@typescript-eslint/no-explicit-any": 0,
26-
"@typescript-eslint/no-non-null-assertion": 0, // MaybeRefElement
27-
"@typescript-eslint/no-unused-vars": 0,
28-
"no-irregular-whitespace": 0, // TermsOfUse.vue
29-
"no-undef": 0,
30-
"no-constant-condition": 0,
31-
"no-import-assign": 0
12+
'vue/no-unused-vars': 0,
13+
'vue/no-mutating-props': 0,
14+
'vue/valid-v-on': 0,
15+
'vue/valid-v-for': 0,
16+
'vue/require-default-prop': 0,
17+
'vue/no-parsing-error': 0,
18+
'vue/no-v-html': 0, // editor entities
19+
'vue/require-prop-types': 0, // material any inserts
20+
'vue/multi-word-component-names': 0,
21+
'vue/no-use-v-if-with-v-for': 0,
22+
'vue/no-setup-props-destructure': 0, // vue >= 3.2.20
23+
'vue/no-dupe-keys': 0,
24+
'@typescript-eslint/no-empty-function': 0,
25+
'@typescript-eslint/no-explicit-any': 0,
26+
'@typescript-eslint/no-non-null-assertion': 0, // MaybeRefElement
27+
'@typescript-eslint/no-unused-vars': 0,
28+
'no-irregular-whitespace': 0, // TermsOfUse.vue
29+
'no-undef': 0,
30+
'no-constant-condition': 0,
31+
'no-import-assign': 0,
3232
},
33-
};
33+
}

packages/app/index.html

Lines changed: 47 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,58 @@
1-
<!DOCTYPE html>
1+
<!doctype html>
22
<html lang="pt-BR">
33
<head>
44
<meta charset="UTF-8" />
55
<link rel="icon" href="/favicon.ico" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7-
<meta name="google-site-verification" content="g3Sv5vbTY0qPQyuRyjR322G-PV1A5hD9pQ3EN3lWKpI" />
8-
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
9-
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
10-
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
11-
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#1F2937">
12-
<meta name="msapplication-TileColor" content="#1F2937">
13-
<meta name="theme-color" content="#1F2937">
14-
<meta name="keywords" content="Word Processor, Creative Writing">
15-
<meta name="author" content="Giovane Silva">
16-
<meta name="description" content="A word processor for creative writing and writing enthusiasts. Create how you want, for what you want.">
17-
<meta name="og:title" content="Better Write">
18-
<meta name="og:description" content="Better Write is a word processor for creative writers. Create how you want, for what you want.">
19-
<meta name="og:url" content="https://betterwrite.io">
20-
<meta name="og:type" content="website">
21-
<meta name="og:image" content="https://i.imgur.com/yvzMkqO.png">
22-
<meta name="og:image:alt" content="betterwrite.io application logo">
23-
<meta name="og:image:width" content="400">
24-
<meta name="og:image:height" content="400">
25-
<meta name="twitter:card" content="summary_large_image">
26-
<meta name="twitter:site" content="@betterwriteio">
27-
<meta name="twitter:title" content="Better Write">
28-
<meta name="twitter:description" content="Better Write is a word processor for creative writers. Create how you want, for what you want.">
29-
<meta name="twitter:image" content="https://i.imgur.com/yvzMkqO.png">
30-
<meta name="twitter:image:alt" content="betterwrite.io application logo">
7+
<meta
8+
name="google-site-verification"
9+
content="g3Sv5vbTY0qPQyuRyjR322G-PV1A5hD9pQ3EN3lWKpI"
10+
/>
11+
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
12+
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
13+
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
14+
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#1F2937" />
15+
<meta name="msapplication-TileColor" content="#1F2937" />
16+
<meta name="theme-color" content="#1F2937" />
17+
<meta name="keywords" content="Word Processor, Creative Writing" />
18+
<meta name="author" content="Giovane Silva" />
19+
<meta
20+
name="description"
21+
content="A word processor for creative writing and writing enthusiasts. Create how you want, for what you want."
22+
/>
23+
<meta name="og:title" content="Better Write" />
24+
<meta
25+
name="og:description"
26+
content="Better Write is a word processor for creative writers. Create how you want, for what you want."
27+
/>
28+
<meta name="og:url" content="https://betterwrite.io" />
29+
<meta name="og:type" content="website" />
30+
<meta name="og:image" content="https://i.imgur.com/yvzMkqO.png" />
31+
<meta name="og:image:alt" content="betterwrite.io application logo" />
32+
<meta name="og:image:width" content="400" />
33+
<meta name="og:image:height" content="400" />
34+
<meta name="twitter:card" content="summary_large_image" />
35+
<meta name="twitter:site" content="@betterwriteio" />
36+
<meta name="twitter:title" content="Better Write" />
37+
<meta
38+
name="twitter:description"
39+
content="Better Write is a word processor for creative writers. Create how you want, for what you want."
40+
/>
41+
<meta name="twitter:image" content="https://i.imgur.com/yvzMkqO.png" />
42+
<meta name="twitter:image:alt" content="betterwrite.io application logo" />
3143
<title>Better Write.</title>
32-
<script async src="https://www.googletagmanager.com/gtag/js?id=G-M2PE0QXEVR">
33-
</script>
44+
<script
45+
async
46+
src="https://www.googletagmanager.com/gtag/js?id=G-M2PE0QXEVR"
47+
></script>
3448
<script>
35-
window.dataLayer = window.dataLayer || [];
36-
function gtag(){dataLayer.push(arguments);}
37-
gtag('js', new Date());
49+
window.dataLayer = window.dataLayer || []
50+
function gtag() {
51+
dataLayer.push(arguments)
52+
}
53+
gtag('js', new Date())
3854

39-
gtag('config', 'G-M2PE0QXEVR');
55+
gtag('config', 'G-M2PE0QXEVR')
4056
</script>
4157
</head>
4258
<body>

packages/app/package.json

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,14 @@
4343
"@vueuse/shared": "9.13.0",
4444
"@vueuse/sound": "2.0.1",
4545
"@unhead/vue": "2.0.19",
46-
"@zip.js/zip.js": "2.7.20",
46+
"@zip.js/zip.js": "2.8.8",
4747
"better-write-client-storage": "^1.3.25",
4848
"better-write-color-converter": "^1.3.25",
4949
"better-write-contenteditable-ast": "^1.3.25",
5050
"better-write-extension": "^1.3.25",
5151
"better-write-google-fonts-api": "^1.3.25",
5252
"better-write-image-converter": "^1.3.25",
5353
"better-write-languages": "^1.3.25",
54-
"better-write-plugin-auth": "^1.3.25",
5554
"better-write-plugin-characters": "^1.3.25",
5655
"better-write-plugin-core": "^1.3.25",
5756
"better-write-plugin-dropbox": "^1.3.25",
@@ -79,55 +78,51 @@
7978
"hast": "1.0.0",
8079
"hast-util-from-html": "1.0.0",
8180
"lz-string": "1.5.0",
82-
"mitt": "3.0.0",
83-
"nanoid": "4.0.2",
81+
"mitt": "3.0.1",
82+
"nanoid": "5.1.6",
8483
"nprogress": "0.2.0",
8584
"pinia": "3.0.3",
8685
"vue": "3.5.14",
8786
"vue-directive-providers": "0.1.0",
88-
"vue-i18n": "11.1.3",
89-
"vue-router": "4.2.4",
87+
"vue-i18n": "11.1.12",
88+
"vue-router": "4.6.3",
9089
"vue-toastification": "2.0.0-rc.5",
9190
"vue-typical": "2.1.0",
92-
"vue3-emoji-picker": "1.1.7",
91+
"vue3-emoji-picker": "1.1.8",
9392
"vue3-pdfmake": "2.3.0",
9493
"vuedraggable": "4.0.1",
9594
"windicss": "3.5.6",
9695
"xml-js": "1.6.11"
9796
},
9897
"devDependencies": {
99-
"@rollup/plugin-inject": "5.0.3",
100-
"@types/file-saver": "2.0.5",
98+
"@rollup/plugin-inject": "5.0.5",
99+
"@types/file-saver": "2.0.7",
101100
"@types/jsdom": "21.1.1",
102-
"@typescript-eslint/eslint-plugin": "6.2.1",
103-
"@typescript-eslint/parser": "6.2.1",
104-
"@vitejs/plugin-vue": "4.2.3",
105-
"@vitest/coverage-c8": "0.33.0",
106-
"@vue/eslint-config-typescript": "11.0.3",
101+
"@typescript-eslint/eslint-plugin": "8.46.3",
102+
"@typescript-eslint/parser": "8.46.3",
103+
"@vitejs/plugin-vue": "6.0.1",
104+
"@vue/eslint-config-typescript": "14.6.0",
107105
"@windicss/plugin-scrollbar": "1.2.3",
108-
"eslint": "8.46.0",
109-
"eslint-config-prettier": "8.9.0",
110-
"eslint-plugin-vue": "9.16.1",
111-
"fast-glob": "3.3.1",
106+
"eslint": "9.39.1",
107+
"eslint-config-prettier": "10.1.8",
108+
"eslint-plugin-vue": "10.5.1",
109+
"fast-glob": "3.3.3",
112110
"fontaine": "0.6.0",
113-
"happy-dom": "10.6.0",
114111
"idb-keyval": "6.2.2",
115112
"node-stdlib-browser": "1.3.1",
116-
"pathe": "1.1.1",
117-
"prettier": "3.0.0",
118-
"tsup": "7.1.0",
113+
"pathe": "2.0.3",
114+
"tsup": "8.5.0",
119115
"typescript": "5.9.3",
120116
"unplugin-auto-import": "20.2.0",
121-
"unplugin-vue-components": "29.1.0",
122-
"vite": "7.1.10",
117+
"unplugin-vue-components": "30.0.0",
118+
"vite": "7.1.12",
123119
"vite-plugin-checker": "0.11.0",
124120
"vite-plugin-optimize-persist": "0.1.2",
125121
"vite-plugin-package-config": "0.1.1",
126-
"vite-plugin-package-version": "1.0.2",
122+
"vite-plugin-package-version": "1.1.0",
127123
"vite-plugin-pwa": "1.1.0",
128124
"vite-plugin-sitemap": "0.4.2",
129125
"vite-plugin-windicss": "1.9.4",
130-
"vitest": "0.34.1",
131126
"vue-tsc": "1.8.8"
132127
},
133128
"vite": {

packages/app/public/.well-known/assetlinks.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@
1010
]
1111
}
1212
}
13-
]
13+
]

packages/app/scripts/vite.ts

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,21 @@ import inject from '@rollup/plugin-inject'
22
import { Plugin } from 'vite'
33

44
export const viteStdlib = (): Plugin => {
5-
return {...inject({
6-
global: [
7-
require.resolve(
8-
'node-stdlib-browser/helpers/esbuild/shim'
9-
),
10-
'global'
11-
],
12-
process: [
13-
require.resolve(
14-
'node-stdlib-browser/helpers/esbuild/shim'
15-
),
16-
'process'
17-
],
18-
Buffer: [
19-
require.resolve(
20-
'node-stdlib-browser/helpers/esbuild/shim'
21-
),
22-
'Buffer'
23-
]
24-
}),
25-
enforce: 'post'
26-
}}
5+
return {
6+
...inject({
7+
global: [
8+
require.resolve('node-stdlib-browser/helpers/esbuild/shim'),
9+
'global',
10+
],
11+
process: [
12+
require.resolve('node-stdlib-browser/helpers/esbuild/shim'),
13+
'process',
14+
],
15+
Buffer: [
16+
require.resolve('node-stdlib-browser/helpers/esbuild/shim'),
17+
'Buffer',
18+
],
19+
}),
20+
enforce: 'post',
21+
}
22+
}

packages/app/src/App.vue

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import { CharactersPlugin } from 'better-write-plugin-characters'
2020
import { ProgressBarPlugin } from 'better-write-plugin-progress-bar'
2121
import { EditorWindowPlugin } from 'better-write-plugin-editor-window'
22-
import { AuthPlugin } from 'better-write-plugin-auth'
2322
import { DropboxPlugin } from 'better-write-plugin-dropbox'
2423
2524
useStart([
@@ -37,7 +36,6 @@
3736
CharactersPlugin(),
3837
ProgressBarPlugin(),
3938
EditorWindowPlugin(),
40-
AuthPlugin(),
4139
DropboxPlugin(),
4240
]).init()
4341
</script>

packages/app/src/components/material/InputBoolean.vue

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
props.specific
77
? 'bg-theme-editor-material-boolean-background'
88
: cmp
9-
? 'bg-theme-background-1'
10-
: 'bg-theme-background-4',
9+
? 'bg-theme-background-1'
10+
: 'bg-theme-background-4',
1111
]"
1212
class="relative inline-flex items-center h-6 transition-colors rounded-full min-w-11 focus:outline-none shadow-xl"
1313
>
@@ -16,10 +16,10 @@
1616
isHovered && cmp
1717
? 'translate-x-5'
1818
: isHovered && !cmp
19-
? 'translate-x-2'
20-
: cmp
21-
? 'translate-x-6'
22-
: 'translate-x-1',
19+
? 'translate-x-2'
20+
: cmp
21+
? 'translate-x-6'
22+
: 'translate-x-1',
2323
props.specific
2424
? 'bg-theme-editor-material-boolean-rounded-background'
2525
: 'bg-white',

0 commit comments

Comments
 (0)