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 34 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.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/flarum-akismet-frontend.yml
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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 }}
1 change: 1 addition & 0 deletions extensions/akismet/.gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ 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
Expand Down
10 changes: 7 additions & 3 deletions extensions/akismet/js/src/forum/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,18 @@ 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 Mithril from 'mithril';
askvortsov1 marked this conversation as resolved.
Show resolved Hide resolved

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
Original file line number Diff line number Diff line change
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/*"]
}
}
}
1 change: 1 addition & 0 deletions extensions/approval/.gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ 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
Expand Down
1 change: 1 addition & 0 deletions extensions/bbcode/.gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ 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
Expand Down
1 change: 1 addition & 0 deletions extensions/embed/.gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ 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
Expand Down
1 change: 1 addition & 0 deletions extensions/emoji/.gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ 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
Expand Down
1 change: 1 addition & 0 deletions extensions/flags/.gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ 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
Expand Down
2 changes: 1 addition & 1 deletion extensions/flags/composer.json
Original file line number Diff line number Diff line change
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.

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.

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

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

11 changes: 11 additions & 0 deletions extensions/flags/js/dist-typings/forum/models/Flag.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.

File renamed without changes.
11 changes: 4 additions & 7 deletions extensions/flags/js/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,8 @@
"name": "@flarum/flags",
"version": "0.0.0",
"prettier": "@flarum/prettier-config",
"dependencies": {
"@flarum/prettier-config": "^1.0.0",
"flarum-webpack-config": "^1.0.0",
"flarum-tsconfig": "^1.0.2"
},
"devDependencies": {
"@types/mithril": "^2.0.8",
"prettier": "^2.5.1",
"flarum-webpack-config": "^2.0.0",
"webpack": "^5.65.0",
Expand All @@ -25,8 +21,9 @@
"format-check": "prettier --check src",
"analyze": "cross-env ANALYZER=true yarn run build",
"clean-typings": "npx rimraf dist-typings && mkdir dist-typings",
"build-typings": "npm run clean-typings && cp -r src/@types dist-typings/@types && tsc",
"build-typings": "yarn run clean-typings && [ -e src/@types ] && cp -r src/@types dist-typings/@types && tsc && yarn run post-build-typings",
"check-typings": "tsc --noEmit --emitDeclarationOnly false",
"check-typings-coverage": "typescript-coverage-report"
"check-typings-coverage": "typescript-coverage-report",
"post-build-typings": "find dist-typings -type f -name '*.d.ts' -print0 | xargs -0 sed -i 's,../src/@types,@types,g'"
}
}
22 changes: 22 additions & 0 deletions extensions/flags/js/src/@types/shims.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import Flag from '../forum/models/Flag';
import FlagListState from '../forum/states/FlagListState';
import Mithril from 'mithril';

declare module 'flarum/common/models/Post' {
export default interface Post {
flags: () => false | (Flag | undefined)[];
canFlag: () => boolean;
}
}

declare module 'flarum/forum/ForumApplication' {
export default interface ForumApplication {
flags: FlagListState;
}
}

declare module 'flarum/forum/components/Post' {
export default interface Post {
flagReason: (flag: Flag) => Mithril.Children;
}
}
Loading