@blueking/eslint-config-bk 2.1.0-beta.8 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +1 -12
- package/package.json +12 -15
- package/tencent/base-legacy.js +1 -0
- package/tencent/base.js +1 -0
- package/tencent/import.js +1 -0
- package/tencent/index.js +1 -0
- package/tencent/prettier.js +1 -0
- package/tencent/ts-legacy.js +1 -0
- package/tencent/ts.js +1 -0
- package/ts.js +1 -12
- package/tsvue.js +1 -0
- package/tsvue3.js +0 -11
- package/vue.js +6 -0
- package/vue.rule.js +2 -2
- package/vue3.js +0 -5
- package/vue3.rule.js +8 -2
- package/bin/index.js +0 -22
- package/config/header.js +0 -25
package/index.js
CHANGED
|
@@ -24,16 +24,5 @@
|
|
|
24
24
|
* IN THE SOFTWARE.
|
|
25
25
|
*/
|
|
26
26
|
module.exports = {
|
|
27
|
-
extends: ['
|
|
28
|
-
plugins: [
|
|
29
|
-
'header',
|
|
30
|
-
],
|
|
31
|
-
overrides: [
|
|
32
|
-
{
|
|
33
|
-
files: ['*.js'],
|
|
34
|
-
rules: {
|
|
35
|
-
'header/header': [2, './config/header.js'],
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
],
|
|
27
|
+
extends: ['./tencent/index.js'],
|
|
39
28
|
};
|
package/package.json
CHANGED
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blueking/eslint-config-bk",
|
|
3
|
-
"version": "2.1.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"main": "index.js",
|
|
5
|
-
"bin": {
|
|
6
|
-
"eslint-config-bk": "./bin/index.js"
|
|
7
|
-
},
|
|
8
5
|
"dependencies": {
|
|
9
|
-
"@babel/eslint-parser": "^7.
|
|
10
|
-
"@typescript-eslint/eslint-plugin": "
|
|
11
|
-
"@typescript-eslint/parser": "
|
|
12
|
-
"@vue/eslint-config-standard": "
|
|
13
|
-
"@vue/eslint-config-typescript": "
|
|
14
|
-
"eslint": "^8.
|
|
15
|
-
"eslint-
|
|
16
|
-
"eslint-plugin-import": "^2.23.3",
|
|
6
|
+
"@babel/eslint-parser": "^7.23.10",
|
|
7
|
+
"@typescript-eslint/eslint-plugin": "^7.2.0",
|
|
8
|
+
"@typescript-eslint/parser": "^7.2.0",
|
|
9
|
+
"@vue/eslint-config-standard": "^8.0.1",
|
|
10
|
+
"@vue/eslint-config-typescript": "^13.0.0",
|
|
11
|
+
"eslint": "^8.57.0",
|
|
12
|
+
"eslint-plugin-import": "^2.29.1",
|
|
17
13
|
"eslint-plugin-node": "~11.1.0",
|
|
18
|
-
"eslint-plugin-promise": "
|
|
14
|
+
"eslint-plugin-promise": "^6.1.1",
|
|
19
15
|
"eslint-plugin-standard": "~5.0.0",
|
|
20
|
-
"eslint-plugin-vue": "^
|
|
21
|
-
"typescript": "
|
|
16
|
+
"eslint-plugin-vue": "^9.23.0",
|
|
17
|
+
"typescript": "^5.4.2",
|
|
18
|
+
"vue-eslint-parser": "^9.4.2"
|
|
22
19
|
},
|
|
23
20
|
"keywords": [
|
|
24
21
|
"eslint-config-bk",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={extends:["./base"],rules:{camelCase:"off",eqeqeq:"off","func-type":"off","max-len":"off","no-param-reassign":"off","no-underscore-dangle":"off","no-var":"off","prefer-const":"off","prefer-template":"off","template-curly-spacing":"off"}};
|
package/tencent/base.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={rules:{"array-bracket-spacing":["error","never"],"array-callback-return":"warn","arrow-body-style":["warn","as-needed"],"arrow-parens":["warn","as-needed",{requireForBlockBody:true}],"arrow-spacing":"warn","block-spacing":"error","brace-style":"error",camelcase:["error",{ignoreDestructuring:true,properties:"never"}],"comma-dangle":["warn","always-multiline"],"comma-spacing":["error",{before:false,after:true}],"comma-style":["error","last"],"computed-property-spacing":["warn","never"],"dot-notation":"warn","eol-last":["error","always"],eqeqeq:["warn","always"],"func-call-spacing":["error","never"],"func-style":["off","expression"],"function-paren-newline":["warn","multiline"],"generator-star-spacing":["warn",{before:false,after:true}],"id-length":"off","implicit-arrow-linebreak":["warn","beside"],indent:["warn",2,{SwitchCase:1,VariableDeclarator:1,outerIIFEBody:1,FunctionDeclaration:{parameters:1,body:1},FunctionExpression:{parameters:1,body:1},CallExpression:{arguments:1},ArrayExpression:1,ObjectExpression:1,ImportDeclaration:1,flatTernaryExpressions:false,ignoredNodes:["JSXElement","JSXElement > *","JSXAttribute","JSXIdentifier","JSXNamespacedName","JSXMemberExpression","JSXSpreadAttribute","JSXExpressionContainer","JSXOpeningElement","JSXClosingElement","JSXFragment","JSXOpeningFragment","JSXClosingFragment","JSXText","JSXEmptyExpression","JSXSpreadChild"],ignoreComments:false}],"key-spacing":"error","keyword-spacing":["error",{overrides:{if:{after:true},for:{after:true},while:{after:true},else:{after:true}}}],"linebreak-style":["warn","unix"],"max-len":["error",{code:120,ignoreStrings:true,ignoreUrls:true,ignoreRegExpLiterals:true,ignoreTemplateLiterals:true}],"new-cap":["error",{newIsCap:true,newIsCapExceptions:[],capIsNew:false,capIsNewExceptions:["Immutable.Map","Immutable.Set","Immutable.List"],properties:false}],"newline-per-chained-call":["warn",{ignoreChainWithDepth:2}],"no-array-constructor":["error"],"no-case-declarations":"error","no-confusing-arrow":"warn","no-const-assign":"error","no-dupe-class-members":"error","no-else-return":["warn",{allowElseIf:false}],"no-eval":"error","no-iterator":"warn","no-loop-func":"error","no-mixed-operators":["error",{groups:[["%","**"],["%","+"],["%","-"],["%","*"],["%","/"],["&","|","<<",">>",">>>"],["==","!=","===","!=="],["&&","||"]],allowSamePrecedence:false}],"no-multi-assign":"error","no-multiple-empty-lines":"error","no-nested-ternary":"warn","no-new-func":"error","no-new-object":"error","no-new-wrappers":"warn","no-param-reassign":["warn",{props:true,ignorePropertyModificationsFor:["acc","accumulator","e","ctx","req","request","res","response","$scope","staticContext","state"]}],"no-plusplus":["error",{allowForLoopAfterthoughts:true}],"no-prototype-builtins":"error","no-restricted-properties":["warn",{object:"Math",property:"pow",message:"Please use ** instand"}],"no-restricted-syntax":["warn",{selector:"ForInStatement",message:"for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array."},{selector:"LabeledStatement",message:"Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand."},{selector:"WithStatement",message:"`with` is disallowed in strict mode because it makes code impossible to predict and optimize."}],"no-trailing-spaces":"error","no-undef":["error"],"no-underscore-dangle":"warn","no-unneeded-ternary":"warn","no-unused-vars":["error",{args:"after-used",ignoreRestSiblings:true,argsIgnorePattern:"^_.+",varsIgnorePattern:"^_.+"}],"no-useless-constructor":"warn","no-useless-escape":"error","no-var":"error","no-whitespace-before-property":"warn","nonblock-statement-body-position":["error","beside"],"object-curly-spacing":["warn","always"],"object-shorthand":"warn","one-var":["warn","never"],"operator-linebreak":["error","before",{overrides:{"=":"none"}}],"padded-blocks":["error","never"],"prefer-arrow-callback":"warn","prefer-const":["error",{destructuring:"any",ignoreReadBeforeAssign:false}],"prefer-destructuring":["warn",{VariableDeclarator:{array:false,object:true},AssignmentExpression:{array:true,object:false}},{enforceForRenamedProperties:false}],"prefer-rest-params":"warn","prefer-spread":"warn","prefer-template":"error","quote-props":["error","as-needed",{keywords:false}],quotes:["warn","single",{allowTemplateLiterals:false}],radix:"warn",semi:["error","always"],"space-before-blocks":"error","space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"space-in-parens":["error","never"],"space-infix-ops":"error","spaced-comment":["error","always"],"template-curly-spacing":["error","never"],"wrap-iife":["error","outside"]}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={plugins:["import"],rules:{"import/first":"error","import/no-duplicates":"error","import/no-mutable-exports":"warn","import/no-webpack-loader-syntax":"warn","import/prefer-default-export":"off"}};
|
package/tencent/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={extends:["./base.js","./import.js"]};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={plugins:["prettier","chalk"],rules:{"chalk/chalk":["warn",{icon:"💡",hexColor:"#f00",message:"Prettier 规则仍在开发中,不建议在公司项目中使用,可能会导致 CodeCC 检查出错。"}],"wrap-iife":"off","template-curly-spacing":"off","space-infix-ops":"off","space-in-parens":"off","space-before-blocks":"off","quote-props":"off","padded-blocks":"off","operator-linebreak":"off","object-curly-spacing":"off","nonblock-statement-body-position":"off","no-whitespace-before-property":"off","no-trailing-spaces":"off","no-multiple-empty-lines":"off","no-mixed-operators":"off","no-confusing-arrow":"off","newline-per-chained-call":"off","max-len":"off","linebreak-style":"off","key-spacing":"off","implicit-arrow-linebreak":"off","generator-star-spacing":"off","function-paren-newline":"off","eol-last":"off","computed-property-spacing":"off","comma-style":"off","comma-dangle":"off","block-spacing":"off","arrow-spacing":"off","arrow-parens":"off","array-bracket-spacing":"off","@typescript-eslint/type-annotation-spacing":"off","@typescript-eslint/space-before-function-paren":"off","@typescript-eslint/semi":"off","@typescript-eslint/quotes":"off","@typescript-eslint/keyword-spacing":"off","@typescript-eslint/indent":"off","@typescript-eslint/func-call-spacing":"off","@typescript-eslint/comma-spacing":"off","@typescript-eslint/brace-style":"off","prettier/prettier":["warn",{printWidth:120,tabWidth:2,useTabs:false,semi:true,singleQuote:true,quoteProps:"as-needed",jsxSingleQuote:false,trailingComma:"all",bracketSpacing:true,jsxBracketSameLine:false,arrowParens:"always",rangeStart:0,rangeEnd:null,requirePragma:false,insertPragma:false,proseWrap:"preserve",htmlWhitespaceSensitivity:"css",vueIndentScriptAndStyle:false,endOfLine:"lf",embeddedLanguageFormatting:"auto"},{usePrettierrc:false}]}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={rules:{"@typescript-eslint/no-non-null-asserted-optional-chain":"warn","@typescript-eslint/explicit-member-accessibility":"off","@typescript-eslint/member-ordering":"off","@typescript-eslint/no-inferrable-types":"off","@typescript-eslint/no-namespace":"off","@typescript-eslint/no-require-imports":"off","@typescript-eslint/no-this-alias":"off","@typescript-eslint/no-useless-constructor":"off","@typescript-eslint/prefer-for-of":"off","@typescript-eslint/prefer-function-type":"off"}};
|
package/tencent/ts.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports={plugins:["@typescript-eslint"],rules:{"brace-style":"off","no-empty-function":"off","no-invalid-this":"off","no-magic-numbers":"off","react/sort-comp":"off","func-call-spacing":"off","comma-spacing":"off","dot-notation":"off",indent:"off","keyword-spacing":"off",camelcase:"off","no-underscore-dangle":"off","no-array-constructor":"off","no-dupe-class-members":"off","no-undef":"off","no-unused-vars":"off","no-useless-constructor":"off",quotes:"off",semi:"off","space-before-function-paren":"off","spaced-comment":["error","always",{markers:["/"]}],"@typescript-eslint/adjacent-overload-signatures":"error","@typescript-eslint/brace-style":"error","@typescript-eslint/comma-spacing":["error",{before:false,after:true}],"@typescript-eslint/consistent-type-definitions":"off","@typescript-eslint/explicit-member-accessibility":"off","@typescript-eslint/func-call-spacing":["error","never"],"@typescript-eslint/indent":["warn",2,{SwitchCase:1,VariableDeclarator:1,outerIIFEBody:1,FunctionDeclaration:{parameters:1,body:1},FunctionExpression:{parameters:1,body:1},CallExpression:{arguments:1},ArrayExpression:1,ObjectExpression:1,ImportDeclaration:1,flatTernaryExpressions:false,ignoredNodes:["JSXElement","JSXElement > *","JSXAttribute","JSXIdentifier","JSXNamespacedName","JSXMemberExpression","JSXSpreadAttribute","JSXExpressionContainer","JSXOpeningElement","JSXClosingElement","JSXFragment","JSXOpeningFragment","JSXClosingFragment","JSXText","JSXEmptyExpression","JSXSpreadChild"],ignoreComments:false}],"@typescript-eslint/keyword-spacing":["error",{overrides:{if:{after:true},for:{after:true},while:{after:true},else:{after:true}},before:true,after:true}],"@typescript-eslint/member-ordering":["error",{default:["public-static-field","protected-static-field","private-static-field","static-field","public-static-method","protected-static-method","private-static-method","static-method","public-instance-field","protected-instance-field","private-instance-field","public-field","protected-field","private-field","instance-field","field","constructor","public-instance-method","protected-instance-method","private-instance-method","public-method","protected-method","private-method","instance-method","method"]}],"@typescript-eslint/method-signature-style":"off","@typescript-eslint/no-array-constructor":"error","@typescript-eslint/no-dupe-class-members":"error","@typescript-eslint/no-empty-interface":"error","@typescript-eslint/no-inferrable-types":"warn","@typescript-eslint/no-namespace":["error",{allowDeclarations:true,allowDefinitionFiles:true}],"@typescript-eslint/no-non-null-asserted-optional-chain":"error","@typescript-eslint/no-parameter-properties":"off","@typescript-eslint/no-require-imports":"error","@typescript-eslint/no-this-alias":["error",{allowDestructuring:true}],"@typescript-eslint/no-unused-expressions":["error",{allowShortCircuit:true,allowTernary:true,allowTaggedTemplates:true}],"@typescript-eslint/no-unused-vars":["error",{args:"after-used",ignoreRestSiblings:true,argsIgnorePattern:"^_.+",varsIgnorePattern:"^_.+"}],"@typescript-eslint/no-useless-constructor":"warn","@typescript-eslint/prefer-for-of":"warn","@typescript-eslint/prefer-function-type":"off","@typescript-eslint/prefer-namespace-keyword":"error","@typescript-eslint/quotes":["warn","single",{allowTemplateLiterals:false}],"@typescript-eslint/semi":["error","always"],"@typescript-eslint/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@typescript-eslint/triple-slash-reference":["error",{path:"never",types:"always",lib:"always"}],"@typescript-eslint/type-annotation-spacing":"error","@typescript-eslint/typedef":["error",{arrayDestructuring:false,arrowParameter:false,memberVariableDeclaration:false,objectDestructuring:false,parameter:false,propertyDeclaration:true,variableDeclaration:false}],"@typescript-eslint/unified-signatures":"error"}};
|
package/ts.js
CHANGED
|
@@ -24,16 +24,5 @@
|
|
|
24
24
|
* IN THE SOFTWARE.
|
|
25
25
|
*/
|
|
26
26
|
module.exports = {
|
|
27
|
-
extends: ['
|
|
28
|
-
plugins: [
|
|
29
|
-
'header',
|
|
30
|
-
],
|
|
31
|
-
overrides: [
|
|
32
|
-
{
|
|
33
|
-
files: ['*.ts'],
|
|
34
|
-
rules: {
|
|
35
|
-
'header/header': [2, './config/header.js'],
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
],
|
|
27
|
+
extends: ['./tencent/index.js', './tencent/ts.js'],
|
|
39
28
|
}
|
package/tsvue.js
CHANGED
package/tsvue3.js
CHANGED
|
@@ -27,17 +27,6 @@ const rules = require('./vue3.rule');
|
|
|
27
27
|
|
|
28
28
|
module.exports = {
|
|
29
29
|
root: true,
|
|
30
|
-
parser: 'vue-eslint-parser',
|
|
31
|
-
parserOptions: {
|
|
32
|
-
parser: '@typescript-eslint/parser',
|
|
33
|
-
sourceType: 'module',
|
|
34
|
-
ecmaVersion: 2019,
|
|
35
|
-
ecmaFeatures: {
|
|
36
|
-
globalReturn: false,
|
|
37
|
-
impliedStrict: false,
|
|
38
|
-
jsx: true,
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
30
|
extends: ['plugin:vue/vue3-recommended', '@vue/typescript', './vue3.js', './ts.js'],
|
|
42
31
|
plugins: ['vue'],
|
|
43
32
|
rules,
|
package/vue.js
CHANGED
|
@@ -31,6 +31,12 @@ module.exports = {
|
|
|
31
31
|
parserOptions: {
|
|
32
32
|
parser: '@babel/eslint-parser',
|
|
33
33
|
sourceType: 'module',
|
|
34
|
+
ecmaVersion: 2019,
|
|
35
|
+
ecmaFeatures: {
|
|
36
|
+
globalReturn: false,
|
|
37
|
+
impliedStrict: false,
|
|
38
|
+
jsx: true,
|
|
39
|
+
},
|
|
34
40
|
},
|
|
35
41
|
extends: ['plugin:vue/recommended', './index.js'],
|
|
36
42
|
plugins: ['vue'],
|
package/vue.rule.js
CHANGED
|
@@ -130,8 +130,8 @@ module.exports = {
|
|
|
130
130
|
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-boolean-default.md
|
|
131
131
|
'vue/no-boolean-default': 'off',
|
|
132
132
|
|
|
133
|
-
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-
|
|
134
|
-
'vue/no-
|
|
133
|
+
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-use-v-if-with-v-for.md
|
|
134
|
+
'vue/no-use-v-if-with-v-for': 'error',
|
|
135
135
|
|
|
136
136
|
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-dupe-keys.md
|
|
137
137
|
// 二级属性名禁止重复
|
package/vue3.js
CHANGED
|
@@ -27,11 +27,6 @@ const rules = require('./vue3.rule');
|
|
|
27
27
|
|
|
28
28
|
module.exports = {
|
|
29
29
|
root: true,
|
|
30
|
-
parser: 'vue-eslint-parser',
|
|
31
|
-
parserOptions: {
|
|
32
|
-
parser: '@babel/eslint-parser',
|
|
33
|
-
sourceType: 'module',
|
|
34
|
-
},
|
|
35
30
|
extends: ['plugin:vue/vue3-recommended', './index.js'],
|
|
36
31
|
plugins: ['vue'],
|
|
37
32
|
rules,
|
package/vue3.rule.js
CHANGED
|
@@ -24,6 +24,12 @@
|
|
|
24
24
|
* IN THE SOFTWARE.
|
|
25
25
|
*/
|
|
26
26
|
module.exports = {
|
|
27
|
+
'vue/define-macros-order': [
|
|
28
|
+
"error", {
|
|
29
|
+
"order": ["defineOptions", "defineModel", "defineProps", "defineEmits", "defineSlots"],
|
|
30
|
+
"defineExposeLast": true
|
|
31
|
+
}
|
|
32
|
+
],
|
|
27
33
|
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/array-bracket-spacing.md
|
|
28
34
|
'vue/array-bracket-spacing': ['error', 'never'],
|
|
29
35
|
|
|
@@ -130,8 +136,8 @@ module.exports = {
|
|
|
130
136
|
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-boolean-default.md
|
|
131
137
|
'vue/no-boolean-default': 'off',
|
|
132
138
|
|
|
133
|
-
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-
|
|
134
|
-
'vue/no-
|
|
139
|
+
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-use-v-if-with-v-for.md
|
|
140
|
+
'vue/no-use-v-if-with-v-for': 'error',
|
|
135
141
|
|
|
136
142
|
// https://github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/no-dupe-keys.md
|
|
137
143
|
// 二级属性名禁止重复
|
package/bin/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const { ESLint } = require("eslint");
|
|
4
|
-
console.log(process.argv)
|
|
5
|
-
|
|
6
|
-
(async function main() {
|
|
7
|
-
// 1. Create an instance.
|
|
8
|
-
const eslint = new ESLint();
|
|
9
|
-
|
|
10
|
-
// 2. Lint files.
|
|
11
|
-
const results = await eslint.lintFiles(["lib/**/*.js"]);
|
|
12
|
-
|
|
13
|
-
// 3. Format the results.
|
|
14
|
-
const formatter = await eslint.loadFormatter("stylish");
|
|
15
|
-
const resultText = formatter.format(results);
|
|
16
|
-
|
|
17
|
-
// 4. Output it.
|
|
18
|
-
console.log(resultText);
|
|
19
|
-
})().catch((error) => {
|
|
20
|
-
process.exitCode = 1;
|
|
21
|
-
console.error(error);
|
|
22
|
-
});
|
package/config/header.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Tencent is pleased to support the open source community by making
|
|
3
|
-
* 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
|
|
4
|
-
*
|
|
5
|
-
* Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
|
|
6
|
-
*
|
|
7
|
-
* 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
|
|
8
|
-
*
|
|
9
|
-
* License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
|
|
10
|
-
*
|
|
11
|
-
* ---------------------------------------------------
|
|
12
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
13
|
-
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation
|
|
14
|
-
* the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
|
|
15
|
-
* to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
16
|
-
*
|
|
17
|
-
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of
|
|
18
|
-
* the Software.
|
|
19
|
-
*
|
|
20
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
|
21
|
-
* THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
|
23
|
-
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
24
|
-
* IN THE SOFTWARE.
|
|
25
|
-
*/
|