mirror of
https://github.com/flarum/framework.git
synced 2025-04-22 03:48:48 +08:00

Some checks failed
Akismet PHP / run (push) Has been cancelled
Approval PHP / run (push) Has been cancelled
Core PHP / run (push) Has been cancelled
Embed PHP / run (push) Has been cancelled
Emoji PHP / run (push) Has been cancelled
Extension Manager PHP / run (push) Has been cancelled
Flags PHP / run (push) Has been cancelled
Likes PHP / run (push) Has been cancelled
Lock PHP / run (push) Has been cancelled
Markdown PHP / run (push) Has been cancelled
Mentions PHP / run (push) Has been cancelled
Nicknames PHP / run (push) Has been cancelled
Pusher PHP / run (push) Has been cancelled
Statistics PHP / run (push) Has been cancelled
Sticky PHP / run (push) Has been cancelled
Subscriptions PHP / run (push) Has been cancelled
Suspend PHP / run (push) Has been cancelled
Tags PHP / run (push) Has been cancelled
Framework JS / run (push) Has been cancelled
Framework PHP / run (push) Has been cancelled
Flarum Typescript Config
A standardised tsconfig.json
for use in Flarum extensions.
Usage
You'll need to configure a tsconfig.json
file to ensure your IDE sets up Typescript support correctly.
You need to install this package as a dev dependency to your extension JS:
npm install --save-dev flarum-tsconfig
yarn add --dev flarum-tsconfig
A baseline tsconfig.json
is provided below that you can modify as needed. This file needs to be copied into your extension's js
folder for your IDE to apply the correct settings.
{
// Use Flarum's tsconfig as a starting point
"extends": "flarum-tsconfig",
// 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/**/*"],
"compilerOptions": {
// This will output typings to `dist-typings`
"declarationDir": "./dist-typings",
"paths": {
"flarum/*": ["../vendor/flarum/core/js/dist-typings/*"]
}
}
}
You'll also need to ensure that you run composer update
in your extension's root directory to ensure that a copy of Flarum core is downloaded to your vendor
folder. Remember that vendor
should not be committed to Git repositories.