Skip to content

Commit

Permalink
Merge pull request #755 from nextcloud/chore/ts-support
Browse files Browse the repository at this point in the history
chore: ts support
  • Loading branch information
ShGKme authored Sep 9, 2024
2 parents e373820 + 2a9b7ca commit e6a6a11
Show file tree
Hide file tree
Showing 10 changed files with 622 additions and 218 deletions.
8 changes: 6 additions & 2 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@

module.exports = {
extends: [
// https://github.com/nextcloud/eslint-config/
'@nextcloud',
'@nextcloud/eslint-config/typescript',
'plugin:vue/recommended',
],

Expand All @@ -33,8 +32,13 @@ module.exports = {
settings: {
'import/extensions': [
'.js',
'.ts',
'.vue',
],
'import/ignore': [
// eslint-plugin-import doesn't support setting TS parser as options for vue parser
'\\.vue$',
],
},

rules: {
Expand Down
78 changes: 78 additions & 0 deletions .github/workflows/lint-typescript.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
# Based on lint eslint workflow on https://github.com/nextcloud/.github

name: Lint TypeScript

on: pull_request

permissions:
contents: read

concurrency:
group: lint-typescript-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
changes:
runs-on: ubuntu-latest-low
permissions:
contents: read
pull-requests: read

outputs:
src: ${{ steps.changes.outputs.src}}

steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: changes
continue-on-error: true
with:
filters: |
src:
- '.github/workflows/**'
- 'src/**'
- 'appinfo/info.xml'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
typecheck:
runs-on: ubuntu-latest

needs: changes
if: needs.changes.outputs.src != 'false'

name: NPM typecheck

steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7

- name: Set up node and npm ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
with:
node-version-file: 'package.json'

- name: Install dependencies
run: npm ci

- name: Typecheck
run: npm run typecheck

summary:
permissions:
contents: none
runs-on: ubuntu-latest-low
needs: [changes, typecheck]

if: always()

name: typecheck

steps:
- name: Summary status
run: if ${{ needs.typecheck.result != 'success' }}; then exit 1; fi
8 changes: 0 additions & 8 deletions jsconfig.json

This file was deleted.

Loading

0 comments on commit e6a6a11

Please sign in to comment.