@ui5/webcomponents-tools 0.0.0-aadaf0b2a → 0.0.0-acc6fea96
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/CHANGELOG.md +1784 -1
- package/README.md +6 -9
- package/assets-meta.js +158 -0
- package/bin/dev.js +12 -1
- package/components-package/cypress/support/commands.js +39 -0
- package/components-package/cypress/support/component-index.html +17 -0
- package/components-package/cypress/support/component.d.ts +23 -0
- package/components-package/cypress/support/component.js +34 -0
- package/components-package/cypress.config.js +19 -0
- package/components-package/eslint.js +99 -2
- package/components-package/nps.js +121 -45
- package/components-package/postcss.components.js +1 -21
- package/components-package/postcss.themes.js +1 -23
- package/components-package/vite.config.js +13 -0
- package/components-package/wdio.js +153 -72
- package/icons-collection/nps.js +55 -12
- package/lib/amd-to-es6/index.js +102 -0
- package/lib/amd-to-es6/no-remaining-require.js +33 -0
- package/lib/cem/custom-elements-manifest.config.mjs +527 -0
- package/lib/cem/event.mjs +168 -0
- package/lib/cem/schema-internal.json +1413 -0
- package/lib/cem/schema.json +1098 -0
- package/lib/cem/types-internal.d.ts +808 -0
- package/lib/cem/types.d.ts +736 -0
- package/lib/cem/utils.mjs +413 -0
- package/lib/cem/validate.js +70 -0
- package/lib/copy-and-watch/index.js +145 -0
- package/lib/copy-list/index.js +28 -0
- package/lib/create-icons/index.js +126 -54
- package/lib/create-illustrations/index.js +182 -0
- package/lib/create-new-component/index.js +63 -93
- package/lib/create-new-component/tsFileContentTemplate.js +71 -0
- package/lib/css-processors/css-processor-components.mjs +77 -0
- package/lib/css-processors/css-processor-themes.mjs +74 -0
- package/lib/css-processors/scope-variables.mjs +49 -0
- package/lib/css-processors/shared.mjs +56 -0
- package/lib/dev-server/custom-hot-update-plugin.js +39 -0
- package/lib/dev-server/dev-server.mjs +66 -0
- package/lib/dev-server/virtual-index-html-plugin.js +52 -0
- package/lib/generate-js-imports/illustrations.js +86 -0
- package/lib/generate-json-imports/i18n.js +82 -47
- package/lib/generate-json-imports/themes.js +55 -19
- package/lib/hbs2lit/index.js +2 -4
- package/lib/hbs2lit/src/compiler.js +30 -9
- package/lib/hbs2lit/src/includesReplacer.js +23 -17
- package/lib/hbs2lit/src/litVisitor2.js +125 -26
- package/lib/hbs2lit/src/svgProcessor.js +12 -5
- package/lib/hbs2ui5/RenderTemplates/LitRenderer.js +40 -7
- package/lib/hbs2ui5/index.js +69 -30
- package/lib/i18n/defaults.js +78 -50
- package/lib/i18n/toJSON.js +25 -13
- package/lib/postcss-combine-duplicated-selectors/index.js +185 -0
- package/lib/remove-dev-mode/remove-dev-mode.mjs +37 -0
- package/lib/scoping/get-all-tags.js +44 -0
- package/lib/scoping/lint-src.js +32 -0
- package/lib/scoping/missing-dependencies.js +65 -0
- package/lib/scoping/report-tags-usage.js +28 -0
- package/lib/scoping/scope-test-pages.js +41 -0
- package/lib/test-runner/test-runner.js +71 -0
- package/package.json +62 -55
- package/tsconfig.json +18 -0
- package/types/index.d.ts +1 -0
- package/bin/init-ui5-package.js +0 -3
- package/components-package/rollup.js +0 -134
- package/components-package/serve.json +0 -3
- package/lib/documentation/index.js +0 -143
- package/lib/documentation/templates/api-component-since.js +0 -3
- package/lib/documentation/templates/api-css-variables-section.js +0 -24
- package/lib/documentation/templates/api-events-section.js +0 -35
- package/lib/documentation/templates/api-methods-section.js +0 -26
- package/lib/documentation/templates/api-properties-section.js +0 -40
- package/lib/documentation/templates/api-slots-section.js +0 -28
- package/lib/documentation/templates/template.js +0 -38
- package/lib/init-package/index.js +0 -119
- package/lib/init-package/resources/.eslintignore +0 -3
- package/lib/init-package/resources/bundle.es5.js +0 -25
- package/lib/init-package/resources/bundle.esm.js +0 -34
- package/lib/init-package/resources/config/.eslintrc.js +0 -1
- package/lib/init-package/resources/config/postcss.components/postcss.config.js +0 -1
- package/lib/init-package/resources/config/postcss.themes/postcss.config.js +0 -1
- package/lib/init-package/resources/config/rollup.config.js +0 -1
- package/lib/init-package/resources/config/wdio.conf.js +0 -1
- package/lib/init-package/resources/package-scripts.js +0 -11
- package/lib/init-package/resources/src/Assets.js +0 -6
- package/lib/init-package/resources/src/Demo.hbs +0 -1
- package/lib/init-package/resources/src/Demo.js +0 -56
- package/lib/init-package/resources/src/i18n/messagebundle.properties +0 -2
- package/lib/init-package/resources/src/i18n/messagebundle_de.properties +0 -1
- package/lib/init-package/resources/src/i18n/messagebundle_en.properties +0 -1
- package/lib/init-package/resources/src/i18n/messagebundle_es.properties +0 -1
- package/lib/init-package/resources/src/i18n/messagebundle_fr.properties +0 -1
- package/lib/init-package/resources/src/themes/Demo.css +0 -11
- package/lib/init-package/resources/src/themes/sap_belize/parameters-bundle.css +0 -3
- package/lib/init-package/resources/src/themes/sap_belize_hcb/parameters-bundle.css +0 -3
- package/lib/init-package/resources/src/themes/sap_belize_hcw/parameters-bundle.css +0 -3
- package/lib/init-package/resources/src/themes/sap_fiori_3/parameters-bundle.css +0 -3
- package/lib/init-package/resources/src/themes/sap_fiori_3_dark/parameters-bundle.css +0 -3
- package/lib/init-package/resources/test/pages/index.html +0 -51
- package/lib/init-package/resources/test/specs/Demo.spec.js +0 -12
- package/lib/jsdoc/config.json +0 -29
- package/lib/jsdoc/plugin.js +0 -2407
- package/lib/jsdoc/template/publish.js +0 -4092
- package/lib/postcss-css-to-esm/index.js +0 -33
- package/lib/postcss-css-to-json/index.js +0 -20
package/README.md
CHANGED
@@ -1,24 +1,21 @@
|
|
1
|
-
UI5 Web Components - Tools
|
2
2
|
|
3
|
-
# UI5 Web Components - Tools
|
4
|
-
|
5
|
-
[](https://travis-ci.org/SAP/ui5-webcomponents)
|
6
3
|
[](https://www.npmjs.com/package/@ui5/webcomponents)
|
7
4
|
|
8
5
|
Provides libraries, configuration files and build artifacts,
|
9
6
|
used by other UI5 Web Components packages, such as `main` and `fiori`.
|
10
7
|
|
11
8
|
## Resources
|
12
|
-
- [UI5 Web Components - README.md](https://github.com/SAP/ui5-webcomponents/blob/
|
9
|
+
- [UI5 Web Components - README.md](https://github.com/SAP/ui5-webcomponents/blob/main/README.md)
|
13
10
|
- [UI5 Web Components - Home Page](https://sap.github.io/ui5-webcomponents)
|
14
|
-
- [UI5 Web Components - Playground and API Reference](https://sap.github.io/ui5-webcomponents/
|
11
|
+
- [UI5 Web Components - Playground and API Reference](https://sap.github.io/ui5-webcomponents/play/)
|
15
12
|
|
16
13
|
## Support
|
17
|
-
We welcome all comments, suggestions, questions, and bug reports. Please follow our [Support Guidelines](https://github.com/SAP/ui5-webcomponents/blob/
|
14
|
+
We welcome all comments, suggestions, questions, and bug reports. Please follow our [Support Guidelines](https://github.com/SAP/ui5-webcomponents/blob/main/SUPPORT.md#-content) on how to report an issue, or chat with us in the `#webcomponents` channel of the [OpenUI5 Community Slack](https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com/).
|
18
15
|
|
19
16
|
## Contribute
|
20
|
-
Please check our [Contribution Guidelines](https://github.com/SAP/ui5-webcomponents/blob/
|
17
|
+
Please check our [Contribution Guidelines](https://github.com/SAP/ui5-webcomponents/blob/main/docs/6-contributing/02-conventions-and-guidelines.md).
|
21
18
|
|
22
19
|
## License
|
23
20
|
Copyright (c) 2019 SAP SE or an SAP affiliate company. All rights reserved.
|
24
|
-
This file is licensed under the Apache Software License, Version 2.0 except as noted otherwise in the [LICENSE](https://github.com/SAP/ui5-webcomponents/blob/
|
21
|
+
This file is licensed under the Apache Software License, Version 2.0 except as noted otherwise in the [LICENSE](https://github.com/SAP/ui5-webcomponents/blob/main/LICENSE.txt) file.
|
package/assets-meta.js
ADDED
@@ -0,0 +1,158 @@
|
|
1
|
+
const assetsMeta = {
|
2
|
+
"themes": {
|
3
|
+
"default": "sap_horizon",
|
4
|
+
"all": [
|
5
|
+
"sap_fiori_3",
|
6
|
+
"sap_fiori_3_dark",
|
7
|
+
"sap_fiori_3_hcb",
|
8
|
+
"sap_fiori_3_hcw",
|
9
|
+
"sap_horizon",
|
10
|
+
"sap_horizon_dark",
|
11
|
+
"sap_horizon_hcb",
|
12
|
+
"sap_horizon_hcw",
|
13
|
+
"sap_horizon_exp",
|
14
|
+
"sap_horizon_dark_exp",
|
15
|
+
"sap_horizon_hcb_exp",
|
16
|
+
"sap_horizon_hcw_exp",
|
17
|
+
],
|
18
|
+
},
|
19
|
+
"languages": {
|
20
|
+
"default": "en",
|
21
|
+
"all": [
|
22
|
+
"ar",
|
23
|
+
"bg",
|
24
|
+
"ca",
|
25
|
+
"cnr",
|
26
|
+
"cs",
|
27
|
+
"cy",
|
28
|
+
"da",
|
29
|
+
"de",
|
30
|
+
"el",
|
31
|
+
"en",
|
32
|
+
"en_GB",
|
33
|
+
"en_US_sappsd",
|
34
|
+
"en_US_saprigi",
|
35
|
+
"en_US_saptrc",
|
36
|
+
"es",
|
37
|
+
"es_MX",
|
38
|
+
"et",
|
39
|
+
"fi",
|
40
|
+
"fr",
|
41
|
+
"fr_CA",
|
42
|
+
"hi",
|
43
|
+
"hr",
|
44
|
+
"hu",
|
45
|
+
"in",
|
46
|
+
"it",
|
47
|
+
"iw",
|
48
|
+
"ja",
|
49
|
+
"kk",
|
50
|
+
"ko",
|
51
|
+
"lt",
|
52
|
+
"lv",
|
53
|
+
"mk",
|
54
|
+
"ms",
|
55
|
+
"nl",
|
56
|
+
"no",
|
57
|
+
"pl",
|
58
|
+
"pt_PT",
|
59
|
+
"pt",
|
60
|
+
"ro",
|
61
|
+
"ru",
|
62
|
+
"sh",
|
63
|
+
"sk",
|
64
|
+
"sl",
|
65
|
+
"sr",
|
66
|
+
"sv",
|
67
|
+
"th",
|
68
|
+
"tr",
|
69
|
+
"uk",
|
70
|
+
"vi",
|
71
|
+
"zh_CN",
|
72
|
+
"zh_TW"
|
73
|
+
]
|
74
|
+
},
|
75
|
+
"locales": {
|
76
|
+
"default": "en",
|
77
|
+
"all": [
|
78
|
+
"ar",
|
79
|
+
"ar_EG",
|
80
|
+
"ar_SA",
|
81
|
+
"bg",
|
82
|
+
"ca",
|
83
|
+
"cnr",
|
84
|
+
"cs",
|
85
|
+
"da",
|
86
|
+
"de",
|
87
|
+
"de_AT",
|
88
|
+
"de_CH",
|
89
|
+
"el",
|
90
|
+
"el_CY",
|
91
|
+
"en",
|
92
|
+
"en_AU",
|
93
|
+
"en_GB",
|
94
|
+
"en_HK",
|
95
|
+
"en_IE",
|
96
|
+
"en_IN",
|
97
|
+
"en_NZ",
|
98
|
+
"en_PG",
|
99
|
+
"en_SG",
|
100
|
+
"en_ZA",
|
101
|
+
"es",
|
102
|
+
"es_AR",
|
103
|
+
"es_BO",
|
104
|
+
"es_CL",
|
105
|
+
"es_CO",
|
106
|
+
"es_MX",
|
107
|
+
"es_PE",
|
108
|
+
"es_UY",
|
109
|
+
"es_VE",
|
110
|
+
"et",
|
111
|
+
"fa",
|
112
|
+
"fi",
|
113
|
+
"fr",
|
114
|
+
"fr_BE",
|
115
|
+
"fr_CA",
|
116
|
+
"fr_CH",
|
117
|
+
"fr_LU",
|
118
|
+
"he",
|
119
|
+
"hi",
|
120
|
+
"hr",
|
121
|
+
"hu",
|
122
|
+
"id",
|
123
|
+
"it",
|
124
|
+
"it_CH",
|
125
|
+
"ja",
|
126
|
+
"kk",
|
127
|
+
"ko",
|
128
|
+
"lt",
|
129
|
+
"lv",
|
130
|
+
"ms",
|
131
|
+
"mk",
|
132
|
+
"nb",
|
133
|
+
"nl",
|
134
|
+
"nl_BE",
|
135
|
+
"pl",
|
136
|
+
"pt",
|
137
|
+
"pt_PT",
|
138
|
+
"ro",
|
139
|
+
"ru",
|
140
|
+
"ru_UA",
|
141
|
+
"sk",
|
142
|
+
"sl",
|
143
|
+
"sr",
|
144
|
+
"sr_Latn",
|
145
|
+
"sv",
|
146
|
+
"th",
|
147
|
+
"tr",
|
148
|
+
"uk",
|
149
|
+
"vi",
|
150
|
+
"zh_CN",
|
151
|
+
"zh_HK",
|
152
|
+
"zh_SG",
|
153
|
+
"zh_TW"
|
154
|
+
]
|
155
|
+
}
|
156
|
+
};
|
157
|
+
|
158
|
+
module.exports = assetsMeta;
|
package/bin/dev.js
CHANGED
@@ -2,4 +2,15 @@
|
|
2
2
|
|
3
3
|
const child_process = require("child_process");
|
4
4
|
|
5
|
-
|
5
|
+
let command = process.argv[2];
|
6
|
+
const argument = process.argv[3];
|
7
|
+
|
8
|
+
if (command === "watch") {
|
9
|
+
if (["src", "test", "bundles", "styles", "templates", "samples"].includes(argument)) {
|
10
|
+
command = `watch.${argument}`;
|
11
|
+
}
|
12
|
+
} else if (command === "test") {
|
13
|
+
command = `test ${process.argv.slice(3).join(" ")}`;
|
14
|
+
}
|
15
|
+
|
16
|
+
child_process.execSync(`npx nps "${command}"`, {stdio: 'inherit'});
|
@@ -0,0 +1,39 @@
|
|
1
|
+
/// <reference types="cypress" />
|
2
|
+
// ***********************************************
|
3
|
+
// This example commands.ts shows you how to
|
4
|
+
// create various custom commands and overwrite
|
5
|
+
// existing commands.
|
6
|
+
//
|
7
|
+
// For more comprehensive examples of custom
|
8
|
+
// commands please read more here:
|
9
|
+
// https://on.cypress.io/custom-commands
|
10
|
+
// ***********************************************
|
11
|
+
//
|
12
|
+
//
|
13
|
+
// -- This is a parent command --
|
14
|
+
// Cypress.Commands.add('login', (email, password) => { ... })
|
15
|
+
//
|
16
|
+
//
|
17
|
+
// -- This is a child command --
|
18
|
+
// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
|
19
|
+
//
|
20
|
+
//
|
21
|
+
// -- This is a dual command --
|
22
|
+
// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
|
23
|
+
//
|
24
|
+
//
|
25
|
+
// -- This will overwrite an existing command --
|
26
|
+
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
|
27
|
+
//
|
28
|
+
// declare global {
|
29
|
+
// namespace Cypress {
|
30
|
+
// interface Chainable {
|
31
|
+
// login(email: string, password: string): Chainable<void>
|
32
|
+
// drag(subject: string, options?: Partial<TypeOptions>): Chainable<Element>
|
33
|
+
// dismiss(subject: string, options?: Partial<TypeOptions>): Chainable<Element>
|
34
|
+
// visit(originalFn: CommandOriginalFn, url: string, options: Partial<VisitOptions>): Chainable<Element>
|
35
|
+
// }
|
36
|
+
// }
|
37
|
+
// }
|
38
|
+
|
39
|
+
import "cypress-real-events";
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
|
4
|
+
<head>
|
5
|
+
<meta charset="utf-8">
|
6
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
7
|
+
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
8
|
+
<meta name="sap-allowedThemeOrigins" content="https://example.com">
|
9
|
+
<title>Components App</title>
|
10
|
+
<script data-ui5-config type="application/json">{}</script>
|
11
|
+
</head>
|
12
|
+
|
13
|
+
<body>
|
14
|
+
<div data-cy-root></div>
|
15
|
+
</body>
|
16
|
+
|
17
|
+
</html>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/// <reference types="cypress" />
|
2
|
+
import { RenderOptions, HTMLTemplateResult } from 'lit';
|
3
|
+
import "cypress-real-events";
|
4
|
+
|
5
|
+
export type Renderable = HTMLTemplateResult;
|
6
|
+
export interface MountUI5Options extends MountLitTemplateOptions {
|
7
|
+
ui5Configuration: object;
|
8
|
+
}
|
9
|
+
export type MountOptions = Partial<MountUI5Options>;
|
10
|
+
export declare function mount<T extends keyof HTMLElementTagNameMap = any>(component: string | Renderable, options?: MountOptions): Cypress.Chainable<JQuery<HTMLElementTagNameMap[T]>>;
|
11
|
+
declare global {
|
12
|
+
namespace Cypress {
|
13
|
+
interface Chainable {
|
14
|
+
/**
|
15
|
+
* Mount your component into Cypress sandbox
|
16
|
+
* @param component content to render by lit-html render function
|
17
|
+
* @param options render options for custom rendering
|
18
|
+
*/
|
19
|
+
mount: typeof mount;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { setupHooks } from '@cypress/mount-utils';
|
2
|
+
import { unsafeHTML } from 'lit-html/directives/unsafe-html.js';
|
3
|
+
import { mount } from 'cypress-ct-lit'
|
4
|
+
import "./commands.js";
|
5
|
+
|
6
|
+
let dispose;
|
7
|
+
|
8
|
+
function cleanup() {
|
9
|
+
dispose?.();
|
10
|
+
}
|
11
|
+
|
12
|
+
function ui5Mount(component, options = {}) {
|
13
|
+
const configurationScript = document.head.querySelector("script[data-ui5-config]")
|
14
|
+
cleanup();
|
15
|
+
|
16
|
+
if (options.ui5Configuration) {
|
17
|
+
configurationScript.innerHTML = JSON.stringify(options.ui5Configuration);
|
18
|
+
|
19
|
+
}
|
20
|
+
|
21
|
+
dispose = () => {
|
22
|
+
configurationScript.innerHTML = "{}";
|
23
|
+
}
|
24
|
+
|
25
|
+
if (typeof component === "string") {
|
26
|
+
return mount(unsafeHTML(component), options)
|
27
|
+
}
|
28
|
+
|
29
|
+
return mount(component, options)
|
30
|
+
}
|
31
|
+
|
32
|
+
setupHooks(cleanup);
|
33
|
+
|
34
|
+
Cypress.Commands.add('mount', ui5Mount)
|
@@ -0,0 +1,19 @@
|
|
1
|
+
const { defineConfig } = require('cypress')
|
2
|
+
const path = require("path");
|
3
|
+
|
4
|
+
module.exports = defineConfig({
|
5
|
+
component: {
|
6
|
+
supportFile: path.join(__dirname, "cypress/support/component.js"),
|
7
|
+
indexHtmlFile: path.join(__dirname, "cypress/support/component-index.html"),
|
8
|
+
specPattern: ["**/specs/*.cy.{js,ts}", "**/specs/**/*.cy.{js,ts}"],
|
9
|
+
devServer: {
|
10
|
+
framework: 'cypress-ct-lit',
|
11
|
+
bundler: 'vite',
|
12
|
+
}
|
13
|
+
},
|
14
|
+
video: false,
|
15
|
+
screenshotOnRunFailure: false,
|
16
|
+
scrollBehavior: false,
|
17
|
+
viewportHeight: 1080,
|
18
|
+
viewportWidth: 1440,
|
19
|
+
})
|
@@ -1,3 +1,98 @@
|
|
1
|
+
const fs = require("fs");
|
2
|
+
const path = require("path");
|
3
|
+
const tsMode = fs.existsSync(path.join(process.cwd(), "tsconfig.json"));
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Returns eslint rules specific to typescript files
|
7
|
+
* @returns
|
8
|
+
*/
|
9
|
+
const getTsModeOverrides = () => {
|
10
|
+
const tsConfiguration = {
|
11
|
+
files: ["*.ts"],
|
12
|
+
parser: "@typescript-eslint/parser",
|
13
|
+
plugins: ["@typescript-eslint"],
|
14
|
+
extends: [
|
15
|
+
"plugin:@typescript-eslint/recommended",
|
16
|
+
"plugin:@typescript-eslint/recommended-requiring-type-checking"
|
17
|
+
],
|
18
|
+
parserOptions: {
|
19
|
+
"project": [
|
20
|
+
"./tsconfig.json",
|
21
|
+
"./cypress/tsconfig.json",
|
22
|
+
],
|
23
|
+
EXPERIMENTAL_useSourceOfProjectReferenceRedirect: true,
|
24
|
+
},
|
25
|
+
rules: {
|
26
|
+
"no-shadow": "off",
|
27
|
+
"@typescript-eslint/consistent-type-imports": "error",
|
28
|
+
"import/consistent-type-specifier-style": ["error", "prefer-top-level"],
|
29
|
+
"@typescript-eslint/no-shadow": ["error"],
|
30
|
+
"@typescript-eslint/no-unsafe-member-access": "off",
|
31
|
+
"@typescript-eslint/no-floating-promises": "off",
|
32
|
+
"@typescript-eslint/no-explicit-any": "off",
|
33
|
+
"@typescript-eslint/no-unsafe-assignment": "off",
|
34
|
+
"@typescript-eslint/ban-ts-comment": "off",
|
35
|
+
"@typescript-eslint/no-unsafe-call": "off",
|
36
|
+
"@typescript-eslint/no-non-null-assertion": "off",
|
37
|
+
"@typescript-eslint/no-empty-function": "off",
|
38
|
+
"@typescript-eslint/no-empty-interface": "off",
|
39
|
+
"lines-between-class-members": "off",
|
40
|
+
}
|
41
|
+
};
|
42
|
+
|
43
|
+
const tsxConfiguration = JSON.parse(JSON.stringify(tsConfiguration));
|
44
|
+
tsxConfiguration.files = ["*.tsx"];
|
45
|
+
tsxConfiguration.rules = {
|
46
|
+
...tsxConfiguration.rules,
|
47
|
+
"@typescript-eslint/unbound-method": "off", // to be able to attach on* listeners
|
48
|
+
"@typescript-eslint/no-misused-promises": "off", // to be able to have async event listeners
|
49
|
+
"operator-linebreak": "off",
|
50
|
+
"no-nested-ternary": "off",
|
51
|
+
"implicit-arrow-linebreak": "off",
|
52
|
+
"function-paren-newline": "off",
|
53
|
+
"comma-dangle": "off"
|
54
|
+
};
|
55
|
+
|
56
|
+
const cypressConfiguration = {
|
57
|
+
"files": ["**/cypress/**/*.ts"],
|
58
|
+
|
59
|
+
"plugins": [
|
60
|
+
"cypress"
|
61
|
+
],
|
62
|
+
extends: [
|
63
|
+
"plugin:cypress/recommended"
|
64
|
+
],
|
65
|
+
"env": {
|
66
|
+
"cypress/globals": true
|
67
|
+
},
|
68
|
+
"rules": {
|
69
|
+
"max-nested-callbacks": 0,
|
70
|
+
"@typescript-eslint/no-namespace": "off",
|
71
|
+
"cypress/no-assigning-return-values": "error",
|
72
|
+
"cypress/no-unnecessary-waiting": "error",
|
73
|
+
"cypress/assertion-before-screenshot": "warn",
|
74
|
+
"cypress/no-force": "warn",
|
75
|
+
"cypress/no-async-tests": "error",
|
76
|
+
"cypress/no-async-before": "error",
|
77
|
+
"cypress/no-pause": "error",
|
78
|
+
"import/no-extraneous-dependencies": [
|
79
|
+
"error",
|
80
|
+
{
|
81
|
+
"devDependencies": [
|
82
|
+
"**/cypress/**/*.ts"
|
83
|
+
]
|
84
|
+
}
|
85
|
+
]
|
86
|
+
}
|
87
|
+
}
|
88
|
+
|
89
|
+
return [
|
90
|
+
tsConfiguration,
|
91
|
+
tsxConfiguration,
|
92
|
+
cypressConfiguration,
|
93
|
+
];
|
94
|
+
}
|
95
|
+
|
1
96
|
module.exports = {
|
2
97
|
"env": {
|
3
98
|
"browser": true,
|
@@ -5,6 +100,7 @@ module.exports = {
|
|
5
100
|
},
|
6
101
|
"root": true,
|
7
102
|
"extends": "airbnb-base",
|
103
|
+
"overrides": tsMode ? getTsModeOverrides() : [],
|
8
104
|
"parserOptions": {
|
9
105
|
"ecmaVersion": 2018,
|
10
106
|
"sourceType": "module"
|
@@ -47,6 +143,7 @@ module.exports = {
|
|
47
143
|
"curly": [2, "all"],
|
48
144
|
// "default-case": 1, // removed for UI5 WebComponents
|
49
145
|
"import/extensions": ["error", "always"], // override for UI5 WebComponents
|
146
|
+
"import/order": "off",
|
50
147
|
"no-alert": 2,
|
51
148
|
"no-caller": 2,
|
52
149
|
"no-div-regex": 2,
|
@@ -88,7 +185,7 @@ module.exports = {
|
|
88
185
|
"no-shadow-restricted-names": 2,
|
89
186
|
"no-undef-init": 2,
|
90
187
|
"no-undef": 2,
|
91
|
-
"no-unused-vars": [2, {"vars":"all", "args":"none"}],
|
188
|
+
"no-unused-vars": [2, { "vars": "all", "args": "none" }],
|
92
189
|
|
93
190
|
"brace-style": [2, "1tbs", { "allowSingleLine": true }],
|
94
191
|
"camelcase": [1, { "properties": "never" }], // added for UI5 WebComponents
|
@@ -104,7 +201,7 @@ module.exports = {
|
|
104
201
|
"no-new-object": 2,
|
105
202
|
"no-spaced-func": 2,
|
106
203
|
"quote-props": [2, "as-needed", { "keywords": true, "unnecessary": false }],
|
107
|
-
"semi-spacing": [1, {"before": false, "after": true}],
|
204
|
+
"semi-spacing": [1, { "before": false, "after": true }],
|
108
205
|
"semi": 2,
|
109
206
|
"keyword-spacing": 2,
|
110
207
|
"space-infix-ops": 2,
|