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

Assorted Typing Fixes #3348

Merged
merged 41 commits into from Mar 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
0bc8f07
fix: Convert DashboardPage and DashboardWidget to TypeScript
askvortsov1 Mar 12, 2022
509f8ad
fix: fix type errors in package manager ext
askvortsov1 Mar 12, 2022
2c6f301
fix: Convert Post component to TypeScript
askvortsov1 Mar 12, 2022
67c9d7d
fix: avatar typings should accept null user
askvortsov1 Mar 12, 2022
ef9e166
fix: convert Notification component to TypeScript
askvortsov1 Mar 12, 2022
a8b4b8f
fix: properly use `typeof` in ForumApplication
askvortsov1 Mar 12, 2022
fc7ab14
feat: make Notification content attr generic
askvortsov1 Mar 12, 2022
415f147
chore: format Notification component
askvortsov1 Mar 12, 2022
1ffb989
fix: Convert DiscussionRenamedNotification to TypeScript
askvortsov1 Mar 12, 2022
589d058
fix(pusher) move shims to a location where they get applied
askvortsov1 Mar 12, 2022
d438648
fix(pusher): fix some typing errors
askvortsov1 Mar 12, 2022
762a469
fix(akismet): fix some typing issues
askvortsov1 Mar 12, 2022
6a5e59b
chore: update core dist typings
askvortsov1 Mar 12, 2022
a593790
chore(pusher): format
askvortsov1 Mar 12, 2022
7c6c16c
fix: anchorScroll should accept string selectors
askvortsov1 Mar 13, 2022
b5e9e1b
fix: more accurately represent ApiQueryParamsPlural
askvortsov1 Mar 13, 2022
268fc71
fix: convert PostStreamState to TypeScript
askvortsov1 Mar 13, 2022
43fbc6a
chore(core): rebuild typings
askvortsov1 Mar 13, 2022
a7f03d2
feat: allow extending app.routes
askvortsov1 Mar 13, 2022
f0783cb
fix: more flexible typings for highlight.ts
askvortsov1 Mar 14, 2022
63d3273
fix: use primitive `number` type for Discussion typings
askvortsov1 Mar 14, 2022
8e602f6
fix: convert DiscussionListItem to TypeScript
askvortsov1 Mar 14, 2022
8e3f0d0
chore: rebuild core typings
askvortsov1 Mar 14, 2022
29c0753
fix: final pusher type fixes
askvortsov1 Mar 14, 2022
1b62e30
feat: start tags TypeScript conversion
askvortsov1 Mar 14, 2022
a75d369
fix: require-dev tags in pusher for CI TypeScript purposes.
askvortsov1 Mar 14, 2022
0f1fe57
chore(core): format
askvortsov1 Mar 14, 2022
7608b32
chore(tags): build dist typings
askvortsov1 Mar 14, 2022
a277e33
feat(pusher): use dist types from tags.
askvortsov1 Mar 14, 2022
3e4f4d2
feat: convert flags to TypeScript
askvortsov1 Mar 14, 2022
5d92c76
chore(flags): generate dist typings
askvortsov1 Mar 14, 2022
21cc0d7
fix(akismet): last type errors
askvortsov1 Mar 14, 2022
eb01ab4
chore: update .yarn-integrity
askvortsov1 Mar 14, 2022
d80f79d
chore: partially run flarum-cli audit infra --fix
askvortsov1 Mar 14, 2022
3ddec0a
chore: use type imports
askvortsov1 Mar 18, 2022
af3e293
fix: broader gitattributes
askvortsov1 Mar 18, 2022
f9ad98e
chore: run flarum-cli audit infra --monorepo --fix
askvortsov1 Mar 18, 2022
e95f7f4
feat: make `app.data` typings extensible
askvortsov1 Mar 18, 2022
a4c875c
chore(core): format
askvortsov1 Mar 19, 2022
e0b20d4
chore: boost tags TypeScript coverage
askvortsov1 Mar 21, 2022
c59ab2d
fix(tags): further increase type coverage.
askvortsov1 Mar 21, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
20 changes: 20 additions & 0 deletions .gitattributes
@@ -0,0 +1,20 @@
**/.gitattributes export-ignore
**/.gitignore export-ignore
**/.gitmodules export-ignore
**/.github export-ignore
**/.travis export-ignore
**/.travis.yml export-ignore
**/.editorconfig export-ignore
**/.styleci.yml export-ignore

**/phpunit.xml export-ignore
**/tests export-ignore

**/js/dist/**/* -diff
**/js/dist/**/* linguist-generated
**/js/dist-typings/**/* -diff
**/js/dist-typings/**/* linguist-generated
**/js/yarn.lock -diff
**/js/package-lock.json -diff

* text=auto eol=lf
1 change: 1 addition & 0 deletions .github/workflows/flarum-akismet-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./extensions/akismet
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/flarum-approval-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./extensions/approval
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/flarum-core-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./framework/core
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/flarum-embed-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./extensions/embed
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/flarum-emoji-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./extensions/emoji
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
3 changes: 2 additions & 1 deletion .github/workflows/flarum-flags-frontend.yml
Expand Up @@ -12,11 +12,12 @@ jobs:
with:
enable_bundlewatch: false
enable_prettier: true
enable_typescript: false
enable_typescript: true

frontend_directory: ./extensions/flags/js
backend_directory: ./extensions/flags
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/flarum-likes-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./extensions/likes
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/flarum-lock-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./extensions/lock
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/flarum-markdown-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./extensions/markdown
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/flarum-mentions-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./extensions/mentions
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/flarum-nicknames-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./extensions/nicknames
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/flarum-package-manager-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./extensions/package-manager
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/flarum-pusher-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./extensions/pusher
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/flarum-statistics-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./extensions/statistics
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/flarum-sticky-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./extensions/sticky
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/flarum-subscriptions-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./extensions/subscriptions
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/flarum-suspend-frontend.yml
Expand Up @@ -18,5 +18,6 @@ jobs:
backend_directory: ./extensions/suspend
js_package_manager: yarn
main_git_branch: main

secrets:
bundlewatch_github_token: ${{ secrets.BUNDLEWATCH_GITHUB_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/flarum-tags-frontend.yml
Expand Up @@ -12,7 +12,7 @@ jobs:
with:
enable_bundlewatch: false
enable_prettier: false
enable_typescript: false
enable_typescript: true

frontend_directory: ./extensions/tags/js
backend_directory: ./extensions/tags
Expand Down
19 changes: 0 additions & 19 deletions extensions/akismet/.gitattributes

This file was deleted.

2 changes: 1 addition & 1 deletion extensions/akismet/js/package.json
Expand Up @@ -12,7 +12,7 @@
"check-typings": "tsc --noEmit --emitDeclarationOnly false",
"check-typings-coverage": "typescript-coverage-report",
"clean-typings": "npx rimraf dist-typings && mkdir dist-typings",
"build-typings": "yarn run clean-typings && [ -e src/@types ] && cp -r src/@types dist-typings/@types && tsc && yarn run post-build-typings",
"build-typings": "yarn run clean-typings && ([ -e src/@types ] && cp -r src/@types dist-typings/@types || true) && tsc && yarn run post-build-typings",
"post-build-typings": "find dist-typings -type f -name '*.d.ts' -print0 | xargs -0 sed -i 's,../src/@types,@types,g'"
},
"devDependencies": {
Expand Down
14 changes: 9 additions & 5 deletions extensions/akismet/js/src/forum/index.ts
@@ -1,18 +1,22 @@
import { extend, override } from 'flarum/common/extend';
import app from 'flarum/forum/app';
import type Post from 'flarum/common/models/Post';
import type ItemList from 'flarum/common/utils/ItemList';

import PostControls from 'flarum/forum/utils/PostControls';
import CommentPost from 'flarum/forum/components/CommentPost';
import ItemList from 'flarum/common/utils/ItemList';
import Post from 'flarum/common/models/Post';
import type Mithril from 'mithril';

app.initializers.add('flarum-akismet', () => {
extend(PostControls, 'destructiveControls', function (items: ItemList, post: Post) {
extend(PostControls, 'destructiveControls', function (items: ItemList<Mithril.Children>, post: Post) {
if (items.has('approve')) {
const flags = post.flags();

if (flags && flags.some((flag) => flag.type() === 'akismet')) {
items.get('approve').children = app.translator.trans('flarum-akismet.forum.post.not_spam_button');
if (flags && flags.some((flag) => flag?.type() === 'akismet')) {
const approveItem = items.get('approve');
if (approveItem && typeof approveItem === 'object' && 'children' in approveItem) {
approveItem.children = app.translator.trans('flarum-akismet.forum.post.not_spam_button');
}
}
}
});
Expand Down
5 changes: 3 additions & 2 deletions extensions/akismet/js/tsconfig.json
Expand Up @@ -4,13 +4,14 @@
// This will match all .ts, .tsx, .d.ts, .js, .jsx files in your `src` folder
// and also tells your Typescript server to read core's global typings for
// access to `dayjs` and `$` in the global namespace.
"include": ["src/**/*", "../vendor/flarum/core/js/dist-typings/@types/**/*", "@types/**/*"],
"include": ["src/**/*", "../vendor/*/*/js/dist-typings/@types/**/*", "@types/**/*"],
"compilerOptions": {
// This will output typings to `dist-typings`
"declarationDir": "./dist-typings",
"baseUrl": ".",
"paths": {
"flarum/*": ["../vendor/flarum/core/js/dist-typings/*"]
"flarum/*": ["../vendor/flarum/core/js/dist-typings/*"],
"flarum/flags/*": ["../vendor/flarum/flags/js/dist-typings/*"]
}
}
}
19 changes: 0 additions & 19 deletions extensions/approval/.gitattributes

This file was deleted.

19 changes: 0 additions & 19 deletions extensions/bbcode/.gitattributes

This file was deleted.

19 changes: 0 additions & 19 deletions extensions/embed/.gitattributes

This file was deleted.

19 changes: 0 additions & 19 deletions extensions/emoji/.gitattributes

This file was deleted.

19 changes: 0 additions & 19 deletions extensions/flags/.gitattributes

This file was deleted.

2 changes: 1 addition & 1 deletion extensions/flags/composer.json
Expand Up @@ -49,7 +49,7 @@
"gitConf": true,
"githubActions": true,
"prettier": true,
"typescript": false,
"typescript": true,
"bundlewatch": false,
"backendTesting": true,
"editorConfig": true,
Expand Down
File renamed without changes.
22 changes: 22 additions & 0 deletions extensions/flags/js/dist-typings/@types/shims.d.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions extensions/flags/js/dist-typings/admin/index.d.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions extensions/flags/js/dist-typings/forum/compat.d.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.