Skip to content
This repository has been archived by the owner on Sep 10, 2024. It is now read-only.

Commit

Permalink
syn2mas: use zod to validate the config files (#1938)
Browse files Browse the repository at this point in the history
  • Loading branch information
sandhose authored Oct 16, 2023
1 parent 3bcf4b2 commit a6093b6
Show file tree
Hide file tree
Showing 28 changed files with 2,990 additions and 1,715 deletions.
75 changes: 65 additions & 10 deletions tools/syn2mas/.eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -1,22 +1,77 @@
// Copyright 2023 The Matrix.org Foundation C.I.C.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

const HEADER_TEMPLATE = `\
// Copyright %%CURRENT_YEAR%% The Matrix.org Foundation C.I.C.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
`;

/** @type {import('eslint').Linter.Config} */
module.exports = {
plugins: [
'matrix-org',
],
root: true,
plugins: ["matrix-org"],
extends: [
'plugin:matrix-org/typescript',
"plugin:prettier/recommended",
"plugin:import/recommended",
"plugin:import/typescript",
"plugin:matrix-org/typescript",
],
env: {
browser: false,
node: true,
},
parser: '@typescript-eslint/parser',
parser: "@typescript-eslint/parser",
parserOptions: {
project: "./tsconfig.json",
project: "./tsconfig.eslint.json",
},
rules: {
'@typescript-eslint/no-floating-promises': 'error',
'@typescript-eslint/no-misused-promises': 'error',
'@typescript-eslint/promise-function-async': 'error',
'@typescript-eslint/await-thenable': 'error',
"matrix-org/require-copyright-header": ["error", HEADER_TEMPLATE],
"import/order": [
"error",
{
"newlines-between": "always",
alphabetize: { order: "asc" },
},
],
"@typescript-eslint/no-floating-promises": "error",
"@typescript-eslint/no-misused-promises": "error",
"@typescript-eslint/promise-function-async": "error",
"@typescript-eslint/await-thenable": "error",

// False-positive because of id128 and log4js
"import/no-named-as-default-member": "off",
},
settings: {
"import/parsers": {
"@typescript-eslint/parser": [".ts", ".mts"],
},
"import/resolver": {
typescript: true,
node: true,
},
},
ignorePatterns: ["dist"],
};
Loading

0 comments on commit a6093b6

Please sign in to comment.