Convert frontend code to typescript (#31559)

None of the frontend js/ts files was touched besides these two commands
(edit: no longer true, I touched one file in
61105d0618
because of a deprecation that was not showing before the rename).

`tsc` currently reports 778 errors, so I have disabled it in CI as
planned.

Everything appears to work fine.
This commit is contained in:
silverwind 2024-07-07 17:32:30 +02:00 committed by GitHub
parent 5115c278ff
commit 5791a73e75
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
168 changed files with 562 additions and 386 deletions

View file

@ -2,8 +2,8 @@
Please also update the template file above if this vue is modified.
action status accepted: success, skipped, waiting, blocked, running, failure, cancelled, unknown
-->
<script>
import {SvgIcon} from '../svg.js';
<script lang="ts">
import {SvgIcon} from '../svg.ts';
export default {
components: {SvgIcon},

View file

@ -1,4 +1,4 @@
<script>
<script lang="ts">
// TODO: Switch to upstream after https://github.com/razorness/vue3-calendar-heatmap/pull/34 is merged
import {CalendarHeatmap} from '@silverwind/vue3-calendar-heatmap';

View file

@ -1,6 +1,6 @@
<script>
import {SvgIcon} from '../svg.js';
import {GET} from '../modules/fetch.js';
<script lang="ts">
import {SvgIcon} from '../svg.ts';
import {GET} from '../modules/fetch.ts';
const {appSubUrl, i18n} = window.config;

View file

@ -1,8 +1,8 @@
<script>
<script lang="ts">
import {createApp, nextTick} from 'vue';
import $ from 'jquery';
import {SvgIcon} from '../svg.js';
import {GET} from '../modules/fetch.js';
import {SvgIcon} from '../svg.ts';
import {GET} from '../modules/fetch.ts';
const {appSubUrl, assetUrlPrefix, pageData} = window.config;

View file

@ -1,6 +1,6 @@
<script>
import {SvgIcon} from '../svg.js';
import {GET} from '../modules/fetch.js';
<script lang="ts">
import {SvgIcon} from '../svg.ts';
import {GET} from '../modules/fetch.ts';
export default {
components: {SvgIcon},

View file

@ -1,6 +1,6 @@
<script>
import {loadMoreFiles} from '../features/repo-diff.js';
import {diffTreeStore} from '../modules/stores.js';
<script lang="ts">
import {loadMoreFiles} from '../features/repo-diff.ts';
import {diffTreeStore} from '../modules/stores.ts';
export default {
data: () => {

View file

@ -1,9 +1,9 @@
<script>
<script lang="ts">
import DiffFileTreeItem from './DiffFileTreeItem.vue';
import {loadMoreFiles} from '../features/repo-diff.js';
import {toggleElem} from '../utils/dom.js';
import {diffTreeStore} from '../modules/stores.js';
import {setFileFolding} from '../features/file-fold.js';
import {loadMoreFiles} from '../features/repo-diff.ts';
import {toggleElem} from '../utils/dom.ts';
import {diffTreeStore} from '../modules/stores.ts';
import {setFileFolding} from '../features/file-fold.ts';
const LOCAL_STORAGE_KEY = 'diff_file_tree_visible';

View file

@ -1,6 +1,6 @@
<script>
import {SvgIcon} from '../svg.js';
import {diffTreeStore} from '../modules/stores.js';
<script lang="ts">
import {SvgIcon} from '../svg.ts';
import {diffTreeStore} from '../modules/stores.ts';
export default {
components: {SvgIcon},

View file

@ -1,6 +1,6 @@
<script>
import {SvgIcon} from '../svg.js';
import {toggleElem} from '../utils/dom.js';
<script lang="ts">
import {SvgIcon} from '../svg.ts';
import {toggleElem} from '../utils/dom.ts';
const {csrfToken, pageData} = window.config;

View file

@ -1,11 +1,11 @@
<script>
import {SvgIcon} from '../svg.js';
<script lang="ts">
import {SvgIcon} from '../svg.ts';
import ActionRunStatus from './ActionRunStatus.vue';
import {createApp} from 'vue';
import {toggleElem} from '../utils/dom.js';
import {formatDatetime} from '../utils/time.js';
import {renderAnsi} from '../render/ansi.js';
import {GET, POST, DELETE} from '../modules/fetch.js';
import {toggleElem} from '../utils/dom.ts';
import {formatDatetime} from '../utils/time.ts';
import {renderAnsi} from '../render/ansi.ts';
import {GET, POST, DELETE} from '../modules/fetch.ts';
const sfc = {
name: 'RepoActionView',

View file

@ -1,4 +1,4 @@
<script>
<script lang="ts">
import VueBarGraph from 'vue-bar-graph';
import {createApp} from 'vue';

View file

@ -1,10 +1,10 @@
<script>
<script lang="ts">
import {createApp, nextTick} from 'vue';
import $ from 'jquery';
import {SvgIcon} from '../svg.js';
import {pathEscapeSegments} from '../utils/url.js';
import {showErrorToast} from '../modules/toast.js';
import {GET} from '../modules/fetch.js';
import {SvgIcon} from '../svg.ts';
import {pathEscapeSegments} from '../utils/url.ts';
import {showErrorToast} from '../modules/toast.ts';
import {GET} from '../modules/fetch.ts';
const sfc = {
components: {SvgIcon},

View file

@ -1,5 +1,5 @@
<script>
import {SvgIcon} from '../svg.js';
<script lang="ts">
import {SvgIcon} from '../svg.ts';
import {
Chart,
Legend,
@ -9,15 +9,15 @@ import {
LineElement,
Filler,
} from 'chart.js';
import {GET} from '../modules/fetch.js';
import {GET} from '../modules/fetch.ts';
import {Line as ChartLine} from 'vue-chartjs';
import {
startDaysBetween,
firstStartDateAfterDate,
fillEmptyStartDaysWithZeroes,
} from '../utils/time.js';
import {chartJsColors} from '../utils/color.js';
import {sleep} from '../utils.js';
} from '../utils/time.ts';
import {chartJsColors} from '../utils/color.ts';
import {sleep} from '../utils.ts';
import 'chartjs-adapter-dayjs-4/dist/chartjs-adapter-dayjs-4.esm';
const {pageData} = window.config;

View file

@ -1,5 +1,5 @@
<script>
import {SvgIcon} from '../svg.js';
<script lang="ts">
import {SvgIcon} from '../svg.ts';
import {
Chart,
Title,
@ -10,16 +10,16 @@ import {
LineElement,
Filler,
} from 'chart.js';
import {GET} from '../modules/fetch.js';
import {GET} from '../modules/fetch.ts';
import zoomPlugin from 'chartjs-plugin-zoom';
import {Line as ChartLine} from 'vue-chartjs';
import {
startDaysBetween,
firstStartDateAfterDate,
fillEmptyStartDaysWithZeroes,
} from '../utils/time.js';
import {chartJsColors} from '../utils/color.js';
import {sleep} from '../utils.js';
} from '../utils/time.ts';
import {chartJsColors} from '../utils/color.ts';
import {sleep} from '../utils.ts';
import 'chartjs-adapter-dayjs-4/dist/chartjs-adapter-dayjs-4.esm';
import $ from 'jquery';

View file

@ -1,5 +1,5 @@
<script>
import {SvgIcon} from '../svg.js';
<script lang="ts">
import {SvgIcon} from '../svg.ts';
import {
Chart,
Tooltip,
@ -7,15 +7,15 @@ import {
LinearScale,
TimeScale,
} from 'chart.js';
import {GET} from '../modules/fetch.js';
import {GET} from '../modules/fetch.ts';
import {Bar} from 'vue-chartjs';
import {
startDaysBetween,
firstStartDateAfterDate,
fillEmptyStartDaysWithZeroes,
} from '../utils/time.js';
import {chartJsColors} from '../utils/color.js';
import {sleep} from '../utils.js';
} from '../utils/time.ts';
import {chartJsColors} from '../utils/color.ts';
import {sleep} from '../utils.ts';
import 'chartjs-adapter-dayjs-4/dist/chartjs-adapter-dayjs-4.esm';
const {pageData} = window.config;

View file

@ -1,6 +1,6 @@
<script>
<script lang="ts">
import {createApp} from 'vue';
import {hideElem, showElem} from '../utils/dom.js';
import {hideElem, showElem} from '../utils/dom.ts';
const sfc = {
props: {