profile
viewpoint
Claas Augner caugner zappmedia/LSP.net Paris https://twitter.com/ClaasAug Software Engineering Manager with a heart for Open Source and People

bleibtoffen/bleibtoffen 7

https://www.caresteouvert.fr in 🇩🇪 Deutschland, 🇨🇭 Schweiz und 🇦🇹 Österreich

caugner/dxr 1

Powerful search for large codebases

caugner/axios 0

Promise based HTTP client for the browser and node.js

caugner/bootstrap-vue 0

BootstrapVue provides one of the most comprehensive implementations of Bootstrap v4 for Vue.js. With extensive and automated WAI-ARIA accessibility markup.

caugner/caresteouvert 0

Ça reste ouvert - la carte des lieux ouverts pendant le confinement

caugner/caresteouvert_backend 0

Back-end for "Ça reste ouvert" (caresteouvert.fr)

caugner/Client 0

GitLab API v4 client for PHP

caugner/contact-form-7-to-database-extension 0

CFDB - WordPress plugin to save form submissions into a database

caugner/Covid_enseignes 0

Which chain stores are opened during Covid-19 lockdown ?

issue openedpsalm/psalm-plugin-laravel

Support Query Scope classes

Is your feature request related to a problem? Please describe.

Query Scope classes can be created using make:scope as an alternative to creating "local" scopes inside the Model class directly. The Scope interface has an apply() method that takes two parameters, Builder $builder and Model $model and these can not be overwritten in a Scope implementation, as this causes Psalm to emit a MoreSpecifciImplementedParamType error.

Describe the solution you'd like The Scope interface should be extended with a @template TModel of Model, so that the apply() parameters can be typed as @param Builder<TModel> $builder and @param TModel $model respectively.

Describe alternatives you've considered (None.)

Additional context

created time in 10 days

issue commentbootstrap-vue/bootstrap-vue

Vue 3 support

(To y'all who read this as part of a notification: Sorry for the interruption, enjoy your weekend, and continue to be awesome! 🔥 )

And to Jacob (@jacobmllr95), let me tell you first of all that you did a great job 👏 at maintaining BootstrapVue in the past, and that I appreciate every single minute, thought, sweat and head-ache that you have spent on the project over the last few years. Rest assured, that this appreciation is in no way diminished, if you should not have (had) as much time to work on it recently or in the future. I did happen to notice that you got a well-deserved promotion in June 2021 (congratulations :tada:) and that this coincides roughly with the BootstrapVue project apparently falling dormant, so I was wondering if that is just a coincidence.

Jacob, I'm sure you already know that it would mean a lot to BootstrapVue fans 😍 like me, who are open source enthusiasts just like you, if you could share just a tiny little update on the status quo, like what activity has been going on the Vue 3 migration since August 2020, and what have been your main thoughts/concerns/visions/ideas/plans for this migration. And rest assured, once more, that if there hasn't been any activity, or if there isn't any plan, that's just fine.

If you should not find the right moment to compose this update, I would love to volunteer as a messenger and schedule a short Zoom call between the two of us, so that I can pass the status quo to the community. In that case, my inbox and DMs are always open for you. (And I have a bucket full of understanding standing by, just in case. I was in your shoes before, at least twice.)

Thank you again for everything. 🙏

Best, Claas

johandalabacka

comment created time in 17 days

issue commentvuejs/eslint-plugin-vue

[8.1.0] Cannot read properties of undefined (reading 'apiName') - component-api-style.js:289:23

This causes the TypeError, possibly if there is no disallowed API:

https://github.com/vuejs/eslint-plugin-vue/blob/20eaee7bcc332c6ef1dc4a91498fd8ee8d6bea79/lib/rules/component-api-style.js#L287-L289

caugner

comment created time in 18 days

issue openedvuejs/eslint-plugin-vue

[8.1.0] Cannot read properties of undefined (reading 'apiName') - component-api-style.js:289:23

<!-- ❗Please don't ignore this template.❗

If you ignore it, we're just going to respond asking you to fill it out, which wastes everyone's time. The more relevant information you can include, the faster we can find the issue and fix it without asking you for more info. -->

<!-- Before posting the issue, please confirm that the problem you're getting is not related with your code editor configuration. To make sure it's not, run: yarn eslint src/your-file.vue -->

Checklist

  • [x] I have tried restarting my IDE and the issue persists.
  • [x] I have read the FAQ and my problem is not listed. <!-- If you do not read the FAQ and open an issue that is listed in the FAQ, we may silently close the issue. -->

Tell us about your environment

  • ESLint version: 7.32.0
  • eslint-plugin-vue version: 8.1.0
  • Node version: 16.13.0
  • Operating System: Linux

Please show your full configuration: <!-- Paste content of your .eslintrc file -->

module.exports = {
  root: true,
  env: {
    node: true,
  },
  extends: [
    'plugin:vue/recommended',
    '@vue/prettier/recommended',
    '@vue/prettier/@typescript-eslint',
    '@vue/typescript/recommended',
  ],
  rules: {
    'vue/block-lang': ['error', { script: { lang: 'ts' } }],
    'vue/component-api-style': ['error', ['composition']],
    'vue/component-name-in-template-casing': [
      'error',
      'PascalCase',
      { registeredComponentsOnly: false, ignores: ['i18n'] },
    ],
    'vue/match-component-file-name': [
      'error',
      {
        extensions: ['vue'],
        shouldMatchCase: true,
      },
    ],
    'vue/no-computed-properties-in-data': ['error'],
    'vue/no-deprecated-data-object-declaration': ['error'],
    'vue/no-deprecated-destroyed-lifecycle': ['error'],
    'vue/no-deprecated-events-api': ['error'],
    'vue/no-deprecated-filter': ['error'],
    'vue/no-deprecated-inline-template': ['error'],
    'vue/no-deprecated-props-default-this': ['error'],
    'vue/no-deprecated-router-link-tag-prop': ['error'],
    'vue/no-deprecated-scope-attribute': ['error'],
    'vue/no-deprecated-slot-attribute': ['error'],
    'vue/no-deprecated-v-bind-sync': ['error'],
    'vue/no-deprecated-v-on-number-modifiers': ['error'],
    'vue/no-deprecated-vue-config-keycodes': ['error'],
    'vue/no-empty-component-block': ['error'],
    'vue/multi-word-component-names': ['off'],
    'vue/no-template-target-blank': ['error'],
    'vue/no-unused-refs': ['error'],
    'vue/no-use-computed-property-like-method': ['error'],
    'vue/no-v-text': ['error'],
    'vue/padding-line-between-blocks': ['error', 'always'],
    'vue/require-explicit-emits': ['error'],
    'vue/v-for-delimiter-style': ['error', 'in'],
    'vue/valid-next-tick': ['error'],
    // Conflict with prettier
    'no-extra-semi': 'off',
    '@typescript-eslint/no-extra-semi': 'off',
  },
  overrides: [
    {
      files: [
        '**/__tests__/*.{j,t}s?(x)',
        '**/tests/unit/**/*.spec.{j,t}s?(x)',
      ],
      env: {
        jest: true,
      },
    },
  ],
}

What did you do? <!-- Please include the actual source code causing the issue. -->

<template>
  <div id="app">
    <header>
      <Navigation />
    </header>
    <main class="container-fluid mb-4" role="main">
      <RouterView />
    </main>
  </div>
</template>

<script lang="ts">
import { defineComponent } from '@vue/composition-api'

import Navigation from '@/components/app/nav/Navigation.vue'

export default defineComponent({
  name: 'App',
  components: {
    Navigation,
  },
})
</script>

What did you expect to happen?

What actually happened?

$ yarn run lint --max-warnings 0 --no-fix
yarn run v1.22.15
$ vue-cli-service lint --no-error-on-unmatched-pattern --max-warnings 0 --no-fix
 ERROR  TypeError: Cannot read properties of undefined (reading 'apiName')
Occurred while linting /builds/***/***/src/App.vue:25
TypeError: Cannot read properties of undefined (reading 'apiName')
Occurred while linting /builds/***/***/src/App.vue:25
    at Object.onVueObjectEnter (/builds/***/***/node_modules/eslint-plugin-vue/lib/rules/component-api-style.js:289:23)
    at callVisitor (/builds/***/***/node_modules/eslint-plugin-vue/lib/utils/index.js:1003:21)
    at vueVisitor.ObjectExpression (/builds/***/***/node_modules/eslint-plugin-vue/lib/utils/index.js:1045:9)
    at /builds/***/***/node_modules/eslint/lib/linter/safe-emitter.js:45:58
    at Array.forEach (<anonymous>)
    at Object.emit (/builds/***/***/node_modules/eslint/lib/linter/safe-emitter.js:45:38)
    at NodeEventGenerator.applySelector (/builds/***/***/node_modules/eslint/lib/linter/node-event-generator.js:293:26)
    at NodeEventGenerator.applySelectors (/builds/***/***/node_modules/eslint/lib/linter/node-event-generator.js:322:22)
    at NodeEventGenerator.enterNode (/builds/***/***/node_modules/eslint/lib/linter/node-event-generator.js:336:14)
    at CodePathAnalyzer.enterNode (/builds/***/***/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js:711:23)
error Command failed with exit code 1.

Repository to reproduce this issue <!-- ❗ Please share a repository that can reproduce your issue. ❗ If you don't share it, we just label it as requesting a repository that can reproduce your issue. ❗ If you don't share it for a few days, we silently close this issue. --> (Proprietary.)

created time in 18 days

pull request commentaxios/axios

fix response headers types

i wrote some codes here playground, but there are some error and i can't understand it, so could anyone help explain the reason?

@EyebrowsWhite Not sure why it doesn't work when declaring the header object directly, but the following works (see playground):

type AxiosHeaders = Record<string, string> & {
  "set-cookie"?: string[]
}

declare let headers: AxiosHeaders;

headers = {}
headers['Content-Type'] = 'text/plain'
headers['set-cookie'] = ['abc', 'def']
egmen

comment created time in 19 days

issue closedcomposer/composer

[Feature] --frozen-lockfile option to abort install when lock file is not up to date

From time to time, our composer.lock gets out of sync.

We haven't yet investigated what caused this (possibly multiple simultaneous Dependabot updates), but we would be able to avoid this if the composer install command could be configured to fail as part of our CI pipeline if the lock file is not up to date.

Yarn has a --frozen-lockfile option for this.

closed time in 20 days

caugner

issue commentcomposer/composer

[Feature] --frozen-lockfile option to abort install when lock file is not up to date

Thank you, I wasn't aware that composer validate could do the job for me! 👍

I will extend our CI job that installs the Composer dependencies to run composer validate --strict before. 🎉

caugner

comment created time in 20 days

delete branch caugner/nixpkgs

delete branch : patch-2

delete time in 21 days

PR opened NixOS/nixpkgs

nextcloud-client: remove caugner (myself) from maintainers
Motivation for this change

For some time now, I haven't had capacity to maintain nextcloud-client, and other folks have done an awesome job at keeping it updated and fixing bugs.

Things done

<!-- Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers. -->

  • Built on platform(s)
    • [ ] x86_64-linux
    • [ ] aarch64-linux
    • [ ] x86_64-darwin
    • [ ] aarch64-darwin
  • [ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • [ ] Tested, as applicable:
  • [ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • [ ] Tested basic functionality of all binary files (usually in ./result/bin/)
  • 21.11 Release Notes (or backporting 21.05 Release notes)
    • [ ] (Package updates) Added a release notes entry if the change is major or breaking
    • [ ] (Module updates) Added a release notes entry if the change is significant
    • [ ] (Module addition) Added a release notes entry if adding a new NixOS module
  • [x] Fits CONTRIBUTING.md.
+1 -1

0 comment

1 changed file

pr created time in 21 days

push eventcaugner/nixpkgs

Claas Augner

commit sha 241c93fabe43e1220ce8aebb0b4219ffbb2b9b81

nextcloud-client: remove caugner from maintainers

view details

push time in 21 days

issue openedcomposer/composer

[Feature] --frozen-lockfile option to abort install when lock file is not up to date

From time to time, our composer.lock gets out of sync.

We haven't yet investigated what caused this (possibly multiple simultaneous Dependabot updates), but we would be able to avoid this if the composer install command could be configured to fail as part of our CI pipeline if the lock file is not up to date.

Yarn has a --frozen-lockfile option for this.

created time in 21 days

pull request commentlaravel/framework

[9.x] Opened test traits initialization

  1. Could we use tearDown{trait} instead of destroying{trait} to be consistent with PHPUnit terminology?
  2. Can I somehow influence the order of the traits? So far, I have a const TEST_TRAITS array for my own test traits, and these are setUp in that order and tearDown in the reverse order, because some traits interact with each other (e.g. WithUser and WithProject create a user and a project respectively, and if used together the user will have access to the project). Or should the created{trait} hook cover all those cases? 🤔
DarkGhostHunter

comment created time in a month

issue commenttypescript-eslint/typescript-eslint

Make @typescript-eslint/parser a direct dependency of @typescript-eslint/eslint-plugin

@bradzacher Thanks for the detailed explanation.

To improve the developer experience w.r.t. automatic dependency updates (read: Dependabot) for those users (like me) that don't have a parser preference (I like to think: the majority of users), would you be willing to provide a transitive package that depends on both /eslint-plugin and /parser, so we could use this package instead of requiring both the plugin and the parser individually? Or if not, are you aware of any other solution to this dilemma? (I could add @typescript-eslint/* to Dependabot's ignore list, but that's obviously not ideal.)

Tools like yarn2 and pnpm will enforce that you explicitly list required packages in your dependencies and will crash out on the require if you don't.

I'm not sure if I understand this correctly: Are you saying with those tools I have to explicitly add every requirement of every dependency I use to my package.json? Or does this affect the @typescript-eslint project itself?

caugner

comment created time in a month

issue openedtypescript-eslint/typescript-eslint

Make @typescript-eslint/parser a direct dependency of @typescript-eslint/eslint-plugin

Background

The README of eslint-plugin states:

https://github.com/typescript-eslint/typescript-eslint/blob/9c8f9a89c098e0ebb7bebf88a4a0f07165275fa6/packages/eslint-plugin/README.md#L36

Problem

The parser is only a peerDependency of eslint-plugin. This has the effect that Dependabot creates two PRs/MRs per release, one for @typescript-eslint/eslint-plugin and one for @typescript-eslint/parser.

Solution

If eslint-plugin could depend directly on eslint-parser, we would no longer need to add @typescript-eslint/parser as a dependency in our projects, and Dependabot could update parser as part of the eslint-parser bump.

  • [x] I have tried restarting my IDE and the issue persists.
  • [x] I have updated to the latest version of the packages.
  • [x] I have read the FAQ and my problem is not listed.

Repro

(Not relevant.)

Expected Result

(Not relevant.)

Additional Info

(Not relevant.)

Versions

package version
@typescript-eslint/eslint-plugin 5.1.0
@typescript-eslint/parser 5.1.0
TypeScript 4.4.4
ESLint 7.32.0
node 14.17.6

created time in a month

issue commentdependabot/dependabot-core

commitlint: body's lines must not be longer than 100 characters [body-max-line-length]

Just found out via https://stackoverflow.com/a/60195181 that commitlint indeed already has an ignores option:

  /*
   * Functions that return true if commitlint should ignore the given message.
   */
  ignores: [(commit) => commit === ''],

So you can make commitlint ignore Dependabot's commits as follows:

// commitlint.config.js
module.exports = {
  extends: ['@commitlint/config-conventional'],
  ignores: [(message) => /^Bumps \[.+]\(.+\) from .+ to .+\.$/m.test(message)],
}
felipecrs

comment created time in a month

push eventcaugner/psalm-plugin-laravel

Claas Augner

commit sha e92e95bf5ccf7f9f93cfbe06097235526e282b9f

fix(EloquentBuilder): distinguish with() signature

view details

Claas Augner

commit sha f2532d31067989fb64bf3875d0947664475a7cf2

fix: move whereDate() to QueryBuilder

view details

Claas Augner

commit sha a3a0dd381c799e36883e1e06fc5dfadb6244778b

chore: update Builder::get() signature

view details

Claas Augner

commit sha e75aa182e21047383ea4f13470edcee6f225e871

feat(8.x): add EloquentBuilder::with{Only,Casts}()

view details

Claas Augner

commit sha 75df830fb3fa1eb79ae97871a9e53b6756bf01b1

feat: add QueryBuilder methods

view details

Claas Augner

commit sha 810052b1e563cc0940e7ace0ef5f975017755cd8

test: verify Eloquent\Builder chain

view details

push time in a month

create barnchcaugner/psalm-plugin-laravel

branch : improve-builder-stubs

created branch time in a month

issue commentdependabot/dependabot-core

commitlint: body's lines must not be longer than 100 characters [body-max-line-length]

I don't think this is a bug in Dependabot, but rather it should be easier to make commitlint ignore Dependabot's commits. One solution would be to add an ignores option to the header-max-length rule which accepts one or more regular expressions.

felipecrs

comment created time in a month

delete branch caugner/axios

delete branch : patch-1

delete time in a month

PR opened mattermost/mattermost-webapp

[MM-39440] fixes Custom Emoji name validation to accept plus signs

Summary

Fixes the client-side Custom Emoji name validation to accept plus signs, like the server already does.

Ticket Link

Fixes https://github.com/mattermost/mattermost-server/issues/18764

See also: https://mattermost.atlassian.net/browse/MM-39440

Related Pull Requests

(None.)

Screenshots

(None.)

Release Note

<!-- Add a release note for each of the following conditions:

  • Config changes (additions, deletions, updates)
  • API additions—new endpoint, new response fields, or newly accepted request parameters
  • Database changes (any)
  • Websocket additions or changes
  • Anything noteworthy to a Mattermost instance administrator (err on the side of over-communicating)
  • New features and improvements, including behavioural changes, UI changes and CLI changes
  • Bug fixes and fixes of previous known issues
  • Deprecation warnings, breaking changes, or compatibility notes

If no release notes are required write NONE. Use past-tense. Newlines are stripped.

Examples:

Added new API endpoints POST /api/v4/foo, GET api/v4/foo, and GET api/v4/foo/:foo_id.
Added a new config setting ServiceSettings.FooBar. Added a new column Foo to the Users table.
NONE

-->

Fixed Custom Emoji name validation to accept plus signs.
+2 -2

0 comment

1 changed file

pr created time in a month

push eventcaugner/mattermost-webapp

Claas Augner

commit sha c66deeabf662133d76da926b58f0bfdb9ddfda66

[MM-39440] fixes Custom Emoji name validation Fixes https://github.com/mattermost/mattermost-server/issues/18764.

view details

push time in a month

fork caugner/mattermost-webapp

Webapp of Mattermost server: https://github.com/mattermost/mattermost-server

fork in a month

issue openedvuejs/eslint-plugin-vue

vue/no-undef-properties doesn't support non-inline props declarations

Checklist

  • [x] I have tried restarting my IDE and the issue persists.
  • [x] I have read the FAQ and my problem is not listed.

Tell us about your environment

  • ESLint version:
  • eslint-plugin-vue version:
  • Node version:
  • Operating System:

Please show your full configuration:

module.exports = {
  root: true,
  env: {
    node: true,
  },
  extends: [
    'plugin:vue/recommended',
    '@vue/prettier/recommended',
    '@vue/prettier/@typescript-eslint',
    '@vue/typescript/recommended',
  ],
  rules: {
    'vue/block-lang': ['error', { script: { lang: 'ts' } }],
    'vue/component-api-style': ['error', ['composition']],
    'vue/component-name-in-template-casing': [
      'error',
      'PascalCase',
      { registeredComponentsOnly: false, ignores: ['i18n'] },
    ],
    'vue/match-component-file-name': [
      'error',
      {
        extensions: ['vue'],
        shouldMatchCase: true,
      },
    ],
    'vue/no-computed-properties-in-data': ['error'],
    'vue/no-deprecated-data-object-declaration': ['error'],
    'vue/no-deprecated-destroyed-lifecycle': ['error'],
    'vue/no-deprecated-events-api': ['error'],
    'vue/no-deprecated-filter': ['error'],
    'vue/no-deprecated-inline-template': ['error'],
    'vue/no-deprecated-props-default-this': ['error'],
    'vue/no-deprecated-router-link-tag-prop': ['error'],
    'vue/no-deprecated-scope-attribute': ['error'],
    'vue/no-deprecated-slot-attribute': ['error'],
    'vue/no-deprecated-v-bind-sync': ['error'],
    'vue/no-deprecated-v-on-number-modifiers': ['error'],
    'vue/no-deprecated-vue-config-keycodes': ['error'],
    'vue/no-empty-component-block': ['error'],
    'vue/no-template-target-blank': ['error'],
    'vue/no-undef-properties': ['error'],
    'vue/no-unused-refs': ['error'],
    'vue/no-use-computed-property-like-method': ['error'],
    'vue/no-v-text': ['error'],
    'vue/padding-line-between-blocks': ['error', 'always'],
    'vue/require-explicit-emits': ['error'],
    'vue/v-for-delimiter-style': ['error', 'in'],
    'vue/valid-next-tick': ['error'],
    // Conflict with prettier
    'no-extra-semi': 'off',
    '@typescript-eslint/no-extra-semi': 'off',
  },
  overrides: [
    {
      files: [
        '**/__tests__/*.{j,t}s?(x)',
        '**/tests/unit/**/*.spec.{j,t}s?(x)',
      ],
      env: {
        jest: true,
      },
    },
  ],
}

What did you do? <!-- Please include the actual source code causing the issue. -->

<script lang="ts">
<template>
  <div>{{ value }}</div>
</template>

<script lang="ts">
import { defineComponent } from '@vue/composition-api'

// Usually imported from another module.
const props = {
  value: {
    type: String,
    required: true,
  },
}

export default defineComponent({
  name: 'ExampleText',
  props,
})
</script>

What did you expect to happen?

No error should be reported.

What actually happened?

ESLint claims that the value property does not exist:

error: 'value' is not defined (vue/no-undef-properties) at src/components/ExampleText.vue:2:11:
  1 | <template>
> 2 |   <div>{{ value }}</div>
    |           ^
  3 | </template>
  4 |
  5 | <script lang="ts">

Repository to reproduce this issue

(closed source)

created time in a month

issue openedvuejs/eslint-plugin-vue

vue/multi-word-component-names triggers error on "import Vue from 'vue'" in main.js

Checklist

  • [x] I have tried restarting my IDE and the issue persists.
  • [x] I have read the FAQ and my problem is not listed. <!-- If you do not read the FAQ and open an issue that is listed in the FAQ, we may silently close the issue. -->

Tell us about your environment

  • ESLint version: v7.32.0
  • eslint-plugin-vue version: v7.20.0
  • Node version: v14.17.6
  • Operating System: Ubuntu 20.04 LTS in WSL2 (Windows 10)

Please show your full configuration:

module.exports = {
  root: true,
  env: {
    node: true,
  },
  extends: [
    'plugin:vue/recommended',
    '@vue/prettier/recommended',
    '@vue/prettier/@typescript-eslint',
    '@vue/typescript/recommended',
  ],
  rules: {
    'vue/block-lang': ['error', { script: { lang: 'ts' } }],
    'vue/component-api-style': ['error', ['composition']],
    'vue/component-name-in-template-casing': [
      'error',
      'PascalCase',
      { registeredComponentsOnly: false, ignores: ['i18n'] },
    ],
    'vue/match-component-file-name': [
      'error',
      {
        extensions: ['vue'],
        shouldMatchCase: true,
      },
    ],
    'vue/no-computed-properties-in-data': ['error'],
    'vue/no-deprecated-data-object-declaration': ['error'],
    'vue/no-deprecated-destroyed-lifecycle': ['error'],
    'vue/no-deprecated-events-api': ['error'],
    'vue/no-deprecated-filter': ['error'],
    'vue/no-deprecated-inline-template': ['error'],
    'vue/no-deprecated-props-default-this': ['error'],
    'vue/no-deprecated-router-link-tag-prop': ['error'],
    'vue/no-deprecated-scope-attribute': ['error'],
    'vue/no-deprecated-slot-attribute': ['error'],
    'vue/no-deprecated-v-bind-sync': ['error'],
    'vue/no-deprecated-v-on-number-modifiers': ['error'],
    'vue/no-deprecated-vue-config-keycodes': ['error'],
    'vue/no-empty-component-block': ['error'],
    'vue/no-template-target-blank': ['error'],
    'vue/no-undef-properties': ['error'],
    'vue/no-unused-refs': ['error'],
    'vue/no-use-computed-property-like-method': ['error'],
    'vue/no-v-text': ['error'],
    'vue/multi-word-component-names': ['error'],
    'vue/padding-line-between-blocks': ['error', 'always'],
    'vue/require-explicit-emits': ['error'],
    'vue/v-for-delimiter-style': ['error', 'in'],
    'vue/valid-next-tick': ['error'],
    // Conflict with prettier
    'no-extra-semi': 'off',
    '@typescript-eslint/no-extra-semi': 'off',
  },
  overrides: [
    {
      files: [
        '**/__tests__/*.{j,t}s?(x)',
        '**/tests/unit/**/*.spec.{j,t}s?(x)',
      ],
      env: {
        jest: true,
      },
    },
  ],
}

What did you do? <!-- Please include the actual source code causing the issue. -->

// src/main.ts
import Vue from 'vue'
import VueCompositionAPI, { h } from '@vue/composition-api'
import i18n from '@/i18n'
import router from '@/router'
import store from '@/store'
// ...

Vue.use(VueCompositionAPI)

new Vue({
    i18n,
    router,
    store,
    setup() {
        return () => h(App)
    },
}).$mount('#app')

Run yarn lint on the code base.

What did you expect to happen?

No vue/multi-word-component-names errors should be reported in non-component files.

What actually happened?

A vue/multi-word-component-names error was reported in the main.ts file:

error: Component name "/var/www/html/src/main" should always be multi-word (vue/multi-word-component-names) at src/main.ts:1:1:
> 1 | import Vue from 'vue'

Repository to reproduce this issue

(closed source)

created time in a month

issue commentvimeo/psalm

MixedAssignment when assigning mixed value with string key to array<string,mixed>

I always thought there should be two types, mixed and any, where any would include the same subtypes as mixed, but should always be sourced from an explicit annotation

Interesting, that reminds me a bit of unknown and any in TypeScript, even though TypeScript's any is equivalent to mixed and unknown would be similar to the any you're suggesting. 🤔

caugner

comment created time in 2 months

PR opened kalessil/phpinspectionsea

[phpUnit] Suggest assert{Directory,File}DoesNotExist instead of deprecated assert{DirectoryFile}NotExists

See: https://github.com/sebastianbergmann/phpunit/issues/4077

+11 -11

0 comment

2 changed files

pr created time in 2 months

push eventcaugner/phpinspectionsea

Claas Augner

commit sha 9d78de4466a8d7deb678771af837f60e2d261ac5

fix(phpunit): prefer assert{Directory,File}DoesNotExist See: https://github.com/sebastianbergmann/phpunit/issues/4077

view details

push time in 2 months

push eventcaugner/phpinspectionsea

Claas Augner

commit sha be0cc131c46f91f4da7f8d81d6360c0a1753d1ac

fix(phpunit): prefer assert{File,Directory}DoesNotExist See: https://github.com/sebastianbergmann/phpunit/issues/4077

view details

push time in 2 months

more