2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2025-08-17 18:04:11 +08:00

DEV: Update jsconfig (#34285)

to include recently bundled plugins and themes
This commit is contained in:
Jarek Radosz 2025-08-13 21:17:50 +02:00 committed by GitHub
parent 9df1128374
commit 0b5211671c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 204 additions and 14 deletions

View file

@ -99,4 +99,4 @@ jobs:
- name: Glint
if: ${{ !cancelled() }}
run: pnpm glint -p jsconfig.json --noEmit
run: pnpm lint:glint

View file

@ -1,4 +1,4 @@
// This file was generated by scripts/build_jsconfig.rb
// This file was generated by script/build_jsconfig.rb
{
"compilerOptions": {
"target": "es2021",
@ -43,10 +43,58 @@
"./plugins/checklist/assets/javascripts/*",
"./plugins/checklist/test/javascripts/*"
],
"discourse/plugins/discourse-adplugin/*": [
"./plugins/discourse-adplugin/assets/javascripts/*",
"./plugins/discourse-adplugin/test/javascripts/*"
],
"discourse/plugins/discourse-affiliate/*": [
"./plugins/discourse-affiliate/assets/javascripts/*",
"./plugins/discourse-affiliate/test/javascripts/*"
],
"discourse/plugins/discourse-ai/*": [
"./plugins/discourse-ai/assets/javascripts/*",
"./plugins/discourse-ai/test/javascripts/*"
],
"discourse/plugins/discourse-apple-auth/*": [
"./plugins/discourse-apple-auth/assets/javascripts/*",
"./plugins/discourse-apple-auth/test/javascripts/*"
],
"discourse/plugins/discourse-assign/*": [
"./plugins/discourse-assign/assets/javascripts/*",
"./plugins/discourse-assign/test/javascripts/*"
],
"discourse/plugins/discourse-calendar/*": [
"./plugins/discourse-calendar/assets/javascripts/*",
"./plugins/discourse-calendar/test/javascripts/*"
],
"discourse/plugins/discourse-chat-integration/*": [
"./plugins/discourse-chat-integration/assets/javascripts/*",
"./plugins/discourse-chat-integration/test/javascripts/*"
],
"discourse/plugins/discourse-data-explorer/*": [
"./plugins/discourse-data-explorer/assets/javascripts/*",
"./plugins/discourse-data-explorer/test/javascripts/*"
],
"discourse/plugins/discourse-details/*": [
"./plugins/discourse-details/assets/javascripts/*",
"./plugins/discourse-details/test/javascripts/*"
],
"discourse/plugins/discourse-gamification/*": [
"./plugins/discourse-gamification/assets/javascripts/*",
"./plugins/discourse-gamification/test/javascripts/*"
],
"discourse/plugins/discourse-github/*": [
"./plugins/discourse-github/assets/javascripts/*",
"./plugins/discourse-github/test/javascripts/*"
],
"discourse/plugins/discourse-graphviz/*": [
"./plugins/discourse-graphviz/assets/javascripts/*",
"./plugins/discourse-graphviz/test/javascripts/*"
],
"discourse/plugins/discourse-hcaptcha/*": [
"./plugins/discourse-hcaptcha/assets/javascripts/*",
"./plugins/discourse-hcaptcha/test/javascripts/*"
],
"discourse/plugins/discourse-lazy-videos/*": [
"./plugins/discourse-lazy-videos/assets/javascripts/*",
"./plugins/discourse-lazy-videos/test/javascripts/*"
@ -55,14 +103,82 @@
"./plugins/discourse-local-dates/assets/javascripts/*",
"./plugins/discourse-local-dates/test/javascripts/*"
],
"discourse/plugins/discourse-login-with-amazon/*": [
"./plugins/discourse-login-with-amazon/assets/javascripts/*",
"./plugins/discourse-login-with-amazon/test/javascripts/*"
],
"discourse/plugins/discourse-lti/*": [
"./plugins/discourse-lti/assets/javascripts/*",
"./plugins/discourse-lti/test/javascripts/*"
],
"discourse/plugins/discourse-math/*": [
"./plugins/discourse-math/assets/javascripts/*",
"./plugins/discourse-math/test/javascripts/*"
],
"discourse/plugins/discourse-microsoft-auth/*": [
"./plugins/discourse-microsoft-auth/assets/javascripts/*",
"./plugins/discourse-microsoft-auth/test/javascripts/*"
],
"discourse/plugins/discourse-narrative-bot/*": [
"./plugins/discourse-narrative-bot/assets/javascripts/*",
"./plugins/discourse-narrative-bot/test/javascripts/*"
],
"discourse/plugins/discourse-oauth2-basic/*": [
"./plugins/discourse-oauth2-basic/assets/javascripts/*",
"./plugins/discourse-oauth2-basic/test/javascripts/*"
],
"discourse/plugins/discourse-openid-connect/*": [
"./plugins/discourse-openid-connect/assets/javascripts/*",
"./plugins/discourse-openid-connect/test/javascripts/*"
],
"discourse/plugins/discourse-patreon/*": [
"./plugins/discourse-patreon/assets/javascripts/*",
"./plugins/discourse-patreon/test/javascripts/*"
],
"discourse/plugins/discourse-policy/*": [
"./plugins/discourse-policy/assets/javascripts/*",
"./plugins/discourse-policy/test/javascripts/*"
],
"discourse/plugins/discourse-post-voting/*": [
"./plugins/discourse-post-voting/assets/javascripts/*",
"./plugins/discourse-post-voting/test/javascripts/*"
],
"discourse/plugins/discourse-presence/*": [
"./plugins/discourse-presence/assets/javascripts/*",
"./plugins/discourse-presence/test/javascripts/*"
],
"discourse/plugins/discourse-reactions/*": [
"./plugins/discourse-reactions/assets/javascripts/*",
"./plugins/discourse-reactions/test/javascripts/*"
],
"discourse/plugins/discourse-rss-polling/*": [
"./plugins/discourse-rss-polling/assets/javascripts/*",
"./plugins/discourse-rss-polling/test/javascripts/*"
],
"discourse/plugins/discourse-solved/*": [
"./plugins/discourse-solved/assets/javascripts/*",
"./plugins/discourse-solved/test/javascripts/*"
],
"discourse/plugins/discourse-subscriptions/*": [
"./plugins/discourse-subscriptions/assets/javascripts/*",
"./plugins/discourse-subscriptions/test/javascripts/*"
],
"discourse/plugins/discourse-templates/*": [
"./plugins/discourse-templates/assets/javascripts/*",
"./plugins/discourse-templates/test/javascripts/*"
],
"discourse/plugins/discourse-topic-voting/*": [
"./plugins/discourse-topic-voting/assets/javascripts/*",
"./plugins/discourse-topic-voting/test/javascripts/*"
],
"discourse/plugins/discourse-user-notes/*": [
"./plugins/discourse-user-notes/assets/javascripts/*",
"./plugins/discourse-user-notes/test/javascripts/*"
],
"discourse/plugins/discourse-zendesk-plugin/*": [
"./plugins/discourse-zendesk-plugin/assets/javascripts/*",
"./plugins/discourse-zendesk-plugin/test/javascripts/*"
],
"discourse/plugins/footnote/*": [
"./plugins/footnote/assets/javascripts/*",
"./plugins/footnote/test/javascripts/*"
@ -78,6 +194,14 @@
"discourse/plugins/styleguide/*": [
"./plugins/styleguide/assets/javascripts/*",
"./plugins/styleguide/test/javascripts/*"
],
"discourse/themes/foundation/*": [
"./themes/foundation/javascripts/*",
"./themes/foundation/test/*"
],
"discourse/themes/horizon/*": [
"./themes/horizon/javascripts/*",
"./themes/horizon/test/*"
]
}
},
@ -96,16 +220,74 @@
"./plugins/chat/test/javascripts",
"./plugins/checklist/assets/javascripts",
"./plugins/checklist/test/javascripts",
"./plugins/discourse-adplugin/assets/javascripts",
"./plugins/discourse-adplugin/test/javascripts",
"./plugins/discourse-affiliate/assets/javascripts",
"./plugins/discourse-affiliate/test/javascripts",
"./plugins/discourse-ai/assets/javascripts",
"./plugins/discourse-ai/test/javascripts",
"./plugins/discourse-apple-auth/assets/javascripts",
"./plugins/discourse-apple-auth/test/javascripts",
"./plugins/discourse-assign/assets/javascripts",
"./plugins/discourse-assign/test/javascripts",
"./plugins/discourse-calendar/assets/javascripts",
"./plugins/discourse-calendar/test/javascripts",
"./plugins/discourse-chat-integration/assets/javascripts",
"./plugins/discourse-chat-integration/test/javascripts",
"./plugins/discourse-data-explorer/assets/javascripts",
"./plugins/discourse-data-explorer/test/javascripts",
"./plugins/discourse-details/assets/javascripts",
"./plugins/discourse-details/test/javascripts",
"./plugins/discourse-gamification/assets/javascripts",
"./plugins/discourse-gamification/test/javascripts",
"./plugins/discourse-github/assets/javascripts",
"./plugins/discourse-github/test/javascripts",
"./plugins/discourse-graphviz/assets/javascripts",
"./plugins/discourse-graphviz/test/javascripts",
"./plugins/discourse-hcaptcha/assets/javascripts",
"./plugins/discourse-hcaptcha/test/javascripts",
"./plugins/discourse-lazy-videos/assets/javascripts",
"./plugins/discourse-lazy-videos/test/javascripts",
"./plugins/discourse-local-dates/assets/javascripts",
"./plugins/discourse-local-dates/test/javascripts",
"./plugins/discourse-login-with-amazon/assets/javascripts",
"./plugins/discourse-login-with-amazon/test/javascripts",
"./plugins/discourse-lti/assets/javascripts",
"./plugins/discourse-lti/test/javascripts",
"./plugins/discourse-math/assets/javascripts",
"./plugins/discourse-math/test/javascripts",
"./plugins/discourse-microsoft-auth/assets/javascripts",
"./plugins/discourse-microsoft-auth/test/javascripts",
"./plugins/discourse-narrative-bot/assets/javascripts",
"./plugins/discourse-narrative-bot/test/javascripts",
"./plugins/discourse-oauth2-basic/assets/javascripts",
"./plugins/discourse-oauth2-basic/test/javascripts",
"./plugins/discourse-openid-connect/assets/javascripts",
"./plugins/discourse-openid-connect/test/javascripts",
"./plugins/discourse-patreon/assets/javascripts",
"./plugins/discourse-patreon/test/javascripts",
"./plugins/discourse-policy/assets/javascripts",
"./plugins/discourse-policy/test/javascripts",
"./plugins/discourse-post-voting/assets/javascripts",
"./plugins/discourse-post-voting/test/javascripts",
"./plugins/discourse-presence/assets/javascripts",
"./plugins/discourse-presence/test/javascripts",
"./plugins/discourse-reactions/assets/javascripts",
"./plugins/discourse-reactions/test/javascripts",
"./plugins/discourse-rss-polling/assets/javascripts",
"./plugins/discourse-rss-polling/test/javascripts",
"./plugins/discourse-solved/assets/javascripts",
"./plugins/discourse-solved/test/javascripts",
"./plugins/discourse-subscriptions/assets/javascripts",
"./plugins/discourse-subscriptions/test/javascripts",
"./plugins/discourse-templates/assets/javascripts",
"./plugins/discourse-templates/test/javascripts",
"./plugins/discourse-topic-voting/assets/javascripts",
"./plugins/discourse-topic-voting/test/javascripts",
"./plugins/discourse-user-notes/assets/javascripts",
"./plugins/discourse-user-notes/test/javascripts",
"./plugins/discourse-zendesk-plugin/assets/javascripts",
"./plugins/discourse-zendesk-plugin/test/javascripts",
"./plugins/footnote/assets/javascripts",
"./plugins/footnote/test/javascripts",
"./plugins/poll/assets/javascripts",
@ -113,7 +295,11 @@
"./plugins/spoiler-alert/assets/javascripts",
"./plugins/spoiler-alert/test/javascripts",
"./plugins/styleguide/assets/javascripts",
"./plugins/styleguide/test/javascripts"
"./plugins/styleguide/test/javascripts",
"./themes/foundation/javascripts",
"./themes/foundation/test",
"./themes/horizon/javascripts",
"./themes/horizon/test"
],
"exclude": [
"app/assets/javascripts/discourse/tests/unit/utils/decorators-test.js",

View file

@ -51,6 +51,7 @@
"lint:hbs:fix": "ember-template-lint 'app/assets/javascripts/**/*.{gjs,hbs}' 'plugins/*/assets/javascripts/**/*.{gjs,hbs}' 'plugins/*/admin/assets/javascripts/**/*.{gjs,hbs}' 'themes/**/*.{gjs,hbs}' --fix",
"lint:prettier": "pnpm pprettier --list-different 'app/assets/stylesheets/**/*.scss' 'app/assets/javascripts/**/*.{js,gjs,hbs,css}' $(script/list_bundled_plugins '/assets/stylesheets/**/*.scss') $(script/list_bundled_plugins '/{assets,admin/assets,test}/javascripts/**/*.{js,gjs,hbs}') 'themes/**/*.{js,gjs,hbs,scss}'",
"lint:prettier:fix": "pnpm prettier -w 'app/assets/stylesheets/**/*.scss' 'app/assets/javascripts/**/*.{js,gjs,hbs,css}' $(script/list_bundled_plugins '/assets/stylesheets/**/*.scss') $(script/list_bundled_plugins '/{assets,admin/assets,test}/javascripts/**/*.{js,gjs,hbs}') 'themes/**/*.{js,gjs,hbs,scss}'",
"lint:glint": "glint -p jsconfig.json --noEmit",
"lttf:ignore": "lint-to-the-future ignore",
"lttf:output": "lint-to-the-future output -o ./lint-progress/",
"lint-progress": "pnpm lttf:output && npx html-pages ./lint-progress --no-cache",

View file

@ -1,4 +1,3 @@
import { hbs } from "ember-cli-htmlbars";
import { withSilencedDeprecations } from "discourse/lib/deprecated";
import { withPluginApi } from "discourse/lib/plugin-api";
import Site from "discourse/models/site";
@ -44,7 +43,7 @@ function customizeWidgetPost(api) {
registerWidgetShim(
"after-post-ad",
"div.ad-connector",
hbs`<PostBottomAd @model={{@data}} />`
<template><PostBottomAd @model={{@data}} /></template>
);
api.decorateWidget("post:after", (helper) => {

22
script/build_jsconfig.rb Normal file → Executable file
View file

@ -1,3 +1,4 @@
#!/usr/bin/env ruby
# frozen_string_literal: true
require "pathname"
@ -51,22 +52,25 @@ def write_config(package_dir, extras: {})
}
output = <<~JSON
// This file was generated by scripts/build_jsconfig.rb
// This file was generated by script/build_jsconfig.rb
#{JSON.pretty_generate(config)}
JSON
File.write("#{package_dir}/jsconfig.json", output)
end
core_plugins = `git ls-files plugins/*/plugin.rb`.lines.map { |path| path.split("/")[1] }
plugin_configs =
core_plugins
.map do |name|
[
"discourse/plugins/#{name}/*",
["plugins/#{name}/assets/javascripts", "plugins/#{name}/test/javascripts"],
]
`git ls-files plugins/*/plugin.rb`.lines
.map { File.dirname(_1) }
.map do |path|
["discourse/#{path}/*", ["#{path}/assets/javascripts", "#{path}/test/javascripts"]]
end
.to_h
write_config ".", extras: { **plugin_configs }
theme_configs =
`git ls-files themes/*/about.json`.lines
.map { File.dirname(_1) }
.map { |path| ["discourse/#{path}/*", ["#{path}/javascripts", "#{path}/test"]] }
.to_h
write_config ".", extras: plugin_configs.merge(theme_configs)