${this.variantHasIcon(variant) ? this.getVariantIcon() : nothing}
- ${message === '' ? nothing : this.renderMessage(message, _messageAreaMaxWidth)}
+ ${message === '' ? nothing : this.renderMessage(message, _messageAreaMaxWidth)}
${!isMultiline && leadingAction?.text ? this.renderActionButton(leadingAction) : nothing}
diff --git a/packages/components/pie-toast/test/accessibility/pie-toast.spec.ts b/packages/components/pie-toast/test/accessibility/pie-toast.spec.ts
index 7d561baad6..c3e91acbc5 100644
--- a/packages/components/pie-toast/test/accessibility/pie-toast.spec.ts
+++ b/packages/components/pie-toast/test/accessibility/pie-toast.spec.ts
@@ -1,6 +1,5 @@
-
import { test, expect } from '@justeattakeaway/pie-webc-testing/src/playwright/webc-fixtures.ts';
-import { PieToast, ToastProps } from '../../src/index.ts';
+import { PieToast, type ToastProps } from '../../src/index.ts';
test.describe('PieToast - Accessibility tests', () => {
test('a11y - should test the PieToast component WCAG compliance', async ({ makeAxeBuilder, mount }) => {
diff --git a/packages/components/pie-toast/test/component/pie-toast.spec.ts b/packages/components/pie-toast/test/component/pie-toast.spec.ts
index 4f6c07d768..931333023e 100644
--- a/packages/components/pie-toast/test/component/pie-toast.spec.ts
+++ b/packages/components/pie-toast/test/component/pie-toast.spec.ts
@@ -1,4 +1,3 @@
-
import { test, expect } from '@sand4rt/experimental-ct-web';
import { PieToast } from '../../src/index.ts';
import { type ToastProps, variants } from '../../src/defs.ts';
diff --git a/packages/components/pie-toast/test/visual/pie-toast.spec.ts b/packages/components/pie-toast/test/visual/pie-toast.spec.ts
index 168fdb8844..4ea4cf07d3 100644
--- a/packages/components/pie-toast/test/visual/pie-toast.spec.ts
+++ b/packages/components/pie-toast/test/visual/pie-toast.spec.ts
@@ -15,7 +15,7 @@ import {
} from '@justeattakeaway/pie-webc-testing/src/helpers/components/web-component-test-wrapper/WebComponentTestWrapper.ts';
import { variants } from '../../src/defs.ts';
-import { PieToast, ToastProps } from '../../src/index.ts';
+import { PieToast, type ToastProps } from '../../src/index.ts';
test.describe('PieToast - Visual tests`', () => {
test('should display the PieToast component successfully', async ({ page, mount }) => {
diff --git a/packages/components/pie-webc-core/src/mixins/rtl/rtlMixin.ts b/packages/components/pie-webc-core/src/mixins/rtl/rtlMixin.ts
index 010d45d607..0c6c5a4231 100644
--- a/packages/components/pie-webc-core/src/mixins/rtl/rtlMixin.ts
+++ b/packages/components/pie-webc-core/src/mixins/rtl/rtlMixin.ts
@@ -1,6 +1,5 @@
-/* eslint-disable max-classes-per-file */
-import { LitElement, isServer } from 'lit';
-import type { GenericConstructor } from '../types/GenericConstructor';
+import { type LitElement, isServer } from 'lit';
+import { type GenericConstructor } from '../types/GenericConstructor';
/**
* An interface representing the structure of RTL related class.
diff --git a/packages/components/pie-webc-testing/src/helpers/get-all-prop-combos.ts b/packages/components/pie-webc-testing/src/helpers/get-all-prop-combos.ts
index 7cee508180..e62905f3e5 100644
--- a/packages/components/pie-webc-testing/src/helpers/get-all-prop-combos.ts
+++ b/packages/components/pie-webc-testing/src/helpers/get-all-prop-combos.ts
@@ -1,4 +1,4 @@
-import { PropObject, WebComponentPropValues } from './defs';
+import { type PropObject, type WebComponentPropValues } from './defs';
/**
* Generate all possible combinations of properties for a given object.
diff --git a/packages/components/pie-webc-testing/src/helpers/rendering.ts b/packages/components/pie-webc-testing/src/helpers/rendering.ts
index 032f9ebd95..c55a83c833 100644
--- a/packages/components/pie-webc-testing/src/helpers/rendering.ts
+++ b/packages/components/pie-webc-testing/src/helpers/rendering.ts
@@ -1,4 +1,4 @@
-import { WebComponentPropValues, WebComponentTestInput, WebComponentRenderFn } from './defs';
+import { type WebComponentPropValues, type WebComponentTestInput, type WebComponentRenderFn } from './defs';
export function createTestWebComponent (propVals: WebComponentPropValues, componentRenderFn: WebComponentRenderFn): WebComponentTestInput {
const testComponent: WebComponentTestInput = {
diff --git a/packages/tools/eslint-config-pie/strict/rules/imports.js b/packages/tools/eslint-config-pie/strict/rules/imports.js
index ff068ec425..3799d47037 100755
--- a/packages/tools/eslint-config-pie/strict/rules/imports.js
+++ b/packages/tools/eslint-config-pie/strict/rules/imports.js
@@ -1,5 +1,6 @@
module.exports = {
rules: {
'import/prefer-default-export': 'off',
+ '@typescript-eslint/consistent-type-imports': ['error', { prefer: 'type-imports', fixStyle: 'inline-type-imports' }],
},
};
diff --git a/packages/tools/generator-pie-component/src/app/types.ts b/packages/tools/generator-pie-component/src/app/types.ts
index 0cfd4f570a..a1aed3434f 100644
--- a/packages/tools/generator-pie-component/src/app/types.ts
+++ b/packages/tools/generator-pie-component/src/app/types.ts
@@ -1,4 +1,4 @@
-import { Answers } from 'yeoman-generator';
+import { type Answers } from 'yeoman-generator';
export type TransformedName = {
componentName: string;
diff --git a/packages/tools/generator-pie-component/src/app/utils.ts b/packages/tools/generator-pie-component/src/app/utils.ts
index 35a5187d6d..7e3a15c214 100644
--- a/packages/tools/generator-pie-component/src/app/utils.ts
+++ b/packages/tools/generator-pie-component/src/app/utils.ts
@@ -1,5 +1,5 @@
import { startCase, snakeCase, camelCase } from 'lodash';
-import { TransformedName } from './types';
+import { type TransformedName } from './types';
function trim (str: string) {
return str.replace(/\s/g, '');
diff --git a/packages/tools/pie-css/buildCss.ts b/packages/tools/pie-css/buildCss.ts
index 1991cfd237..f3718a5535 100644
--- a/packages/tools/pie-css/buildCss.ts
+++ b/packages/tools/pie-css/buildCss.ts
@@ -1,6 +1,6 @@
import fs from 'fs/promises';
import path from 'path';
-import postcss, { Result } from 'postcss';
+import postcss, { type Result } from 'postcss';
import atImport from 'postcss-import';
const cssInputFilePath = 'css/input.css';
diff --git a/packages/tools/pie-icons-react/types.ts b/packages/tools/pie-icons-react/types.ts
index 7489c4aba9..c229c48126 100644
--- a/packages/tools/pie-icons-react/types.ts
+++ b/packages/tools/pie-icons-react/types.ts
@@ -1,4 +1,4 @@
-import { SVGProps } from 'react';
+import { type SVGProps } from 'react';
export interface LargeIconProps extends SVGProps {
className?: string;
diff --git a/packages/tools/pie-icons-vue/.gitignore b/packages/tools/pie-icons-vue/.gitignore
index d02fe863c7..b133a451cf 100644
--- a/packages/tools/pie-icons-vue/.gitignore
+++ b/packages/tools/pie-icons-vue/.gitignore
@@ -1,2 +1,2 @@
-generated/*
-icons/*
+generated
+icons
diff --git a/packages/tools/pie-icons-vue/package.json b/packages/tools/pie-icons-vue/package.json
index 7a9eb42b39..60166cdbe0 100644
--- a/packages/tools/pie-icons-vue/package.json
+++ b/packages/tools/pie-icons-vue/package.json
@@ -60,7 +60,7 @@
"@rollup/plugin-commonjs": "25.0.8",
"@vue/babel-preset-jsx": "1.4.0",
"@vue/test-utils": "1.1.3",
- "eslint": "8.37.0",
+ "eslint": "8.57.0",
"eslint-plugin-vue": "^9.9.0",
"fs-extra": "9.1.0",
"lodash.kebabcase": "4.1.1",
diff --git a/packages/tools/pie-wrapper-react/README.md b/packages/tools/pie-wrapper-react/README.md
index 88d8730f79..efd79940e7 100644
--- a/packages/tools/pie-wrapper-react/README.md
+++ b/packages/tools/pie-wrapper-react/README.md
@@ -105,7 +105,7 @@ With this package, the below code (example of `pie-button`) is automatically gen
import * as React from 'react';
import { createComponent } from '@lit/react';
import { PieButton as PieButtonLit } from './index';
-import { ButtonProps } from './defs';
+import { type ButtonProps } from './defs';
const PieButtonReact = createComponent({
displayName: 'PieButton',
diff --git a/packages/tools/pie-wrapper-react/__tests__/__snapshots__/wrapper.test.js.snap b/packages/tools/pie-wrapper-react/__tests__/__snapshots__/wrapper.test.js.snap
index 439a68bae5..3d5fe2da32 100644
--- a/packages/tools/pie-wrapper-react/__tests__/__snapshots__/wrapper.test.js.snap
+++ b/packages/tools/pie-wrapper-react/__tests__/__snapshots__/wrapper.test.js.snap
@@ -2,9 +2,9 @@
exports[`React Wrapper > should be added from mock custom elements JSON 1`] = `
"import * as React from 'react';
-import { createComponent, EventName } from '@lit/react';
+import { createComponent, type EventName } from '@lit/react';
import { MockComponent as MockComponentLit } from './index';
-import { MockComponentProps } from './defs';
+import { type MockComponentProps } from './defs';
export * from './defs';
@@ -33,7 +33,7 @@ exports[`React Wrapper > should be named the same as the component itself 1`] =
"import * as React from 'react';
import { createComponent } from '@lit/react';
import { ButtonComponent as ButtonComponentLit } from './index';
-import { ButtonComponentProps } from './defs';
+import { type ButtonComponentProps } from './defs';
export * from './defs';
@@ -54,7 +54,7 @@ exports[`React Wrapper > should leave the events object empty if the component c
"import * as React from 'react';
import { createComponent } from '@lit/react';
import { MockComponent as MockComponentLit } from './index';
-import { MockComponentProps } from './defs';
+import { type MockComponentProps } from './defs';
export * from './defs';
diff --git a/packages/tools/pie-wrapper-react/scripts/add-react-wrapper.js b/packages/tools/pie-wrapper-react/scripts/add-react-wrapper.js
index d0313b25d4..c13d61cf71 100755
--- a/packages/tools/pie-wrapper-react/scripts/add-react-wrapper.js
+++ b/packages/tools/pie-wrapper-react/scripts/add-react-wrapper.js
@@ -188,9 +188,9 @@ export function addReactWrapper (customElementsObject) {
// Create the main source code
componentSrc = `import * as React from 'react';
-import { createComponent${component.class.events?.length > 0 ? ', EventName' : ''} } from '@lit/react';
+import { createComponent${component.class.events?.length > 0 ? ', type EventName' : ''} } from '@lit/react';
import { ${component.class.name} as ${component.class.name}Lit } from './index';
-import { ${componentPropsExportName} } from './defs';
+import { type ${componentPropsExportName} } from './defs';
export * from './defs';
diff --git a/yarn.lock b/yarn.lock
index b0cc553718..cd29a26fed 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4898,7 +4898,7 @@ __metadata:
languageName: node
linkType: hard
-"@eslint/eslintrc@npm:^2.0.2, @eslint/eslintrc@npm:^2.1.4":
+"@eslint/eslintrc@npm:^2.1.4":
version: 2.1.4
resolution: "@eslint/eslintrc@npm:2.1.4"
dependencies:
@@ -4915,13 +4915,6 @@ __metadata:
languageName: node
linkType: hard
-"@eslint/js@npm:8.37.0":
- version: 8.37.0
- resolution: "@eslint/js@npm:8.37.0"
- checksum: 7a07fb085c94ce1538949012c292fd3a6cd734f149bc03af6157dfbd8a7477678899ef57b4a27e15b36470a997389ad79a0533d5880c71e67720ae1a7de7c62d
- languageName: node
- linkType: hard
-
"@eslint/js@npm:8.57.0":
version: 8.57.0
resolution: "@eslint/js@npm:8.57.0"
@@ -5042,7 +5035,7 @@ __metadata:
languageName: node
linkType: hard
-"@humanwhocodes/config-array@npm:^0.11.14, @humanwhocodes/config-array@npm:^0.11.8":
+"@humanwhocodes/config-array@npm:^0.11.14":
version: 0.11.14
resolution: "@humanwhocodes/config-array@npm:0.11.14"
dependencies:
@@ -5458,7 +5451,7 @@ __metadata:
"@vue/babel-helper-vue-jsx-merge-props": 1.4.0
"@vue/babel-preset-jsx": 1.4.0
"@vue/test-utils": 1.1.3
- eslint: 8.37.0
+ eslint: 8.57.0
eslint-plugin-vue: ^9.9.0
fs-extra: 9.1.0
lodash.kebabcase: 4.1.1
@@ -11508,7 +11501,7 @@ __metadata:
languageName: node
linkType: hard
-"ajv@npm:^6.1.0, ajv@npm:^6.10.0, ajv@npm:^6.10.2, ajv@npm:^6.12.4, ajv@npm:^6.12.5":
+"ajv@npm:^6.1.0, ajv@npm:^6.10.2, ajv@npm:^6.12.4, ajv@npm:^6.12.5":
version: 6.12.6
resolution: "ajv@npm:6.12.6"
dependencies:
@@ -17551,63 +17544,13 @@ __metadata:
languageName: node
linkType: hard
-"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3":
+"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3":
version: 3.4.3
resolution: "eslint-visitor-keys@npm:3.4.3"
checksum: 36e9ef87fca698b6fd7ca5ca35d7b2b6eeaaf106572e2f7fd31c12d3bfdaccdb587bba6d3621067e5aece31c8c3a348b93922ab8f7b2cbc6aaab5e1d89040c60
languageName: node
linkType: hard
-"eslint@npm:8.37.0":
- version: 8.37.0
- resolution: "eslint@npm:8.37.0"
- dependencies:
- "@eslint-community/eslint-utils": ^4.2.0
- "@eslint-community/regexpp": ^4.4.0
- "@eslint/eslintrc": ^2.0.2
- "@eslint/js": 8.37.0
- "@humanwhocodes/config-array": ^0.11.8
- "@humanwhocodes/module-importer": ^1.0.1
- "@nodelib/fs.walk": ^1.2.8
- ajv: ^6.10.0
- chalk: ^4.0.0
- cross-spawn: ^7.0.2
- debug: ^4.3.2
- doctrine: ^3.0.0
- escape-string-regexp: ^4.0.0
- eslint-scope: ^7.1.1
- eslint-visitor-keys: ^3.4.0
- espree: ^9.5.1
- esquery: ^1.4.2
- esutils: ^2.0.2
- fast-deep-equal: ^3.1.3
- file-entry-cache: ^6.0.1
- find-up: ^5.0.0
- glob-parent: ^6.0.2
- globals: ^13.19.0
- grapheme-splitter: ^1.0.4
- ignore: ^5.2.0
- import-fresh: ^3.0.0
- imurmurhash: ^0.1.4
- is-glob: ^4.0.0
- is-path-inside: ^3.0.3
- js-sdsl: ^4.1.4
- js-yaml: ^4.1.0
- json-stable-stringify-without-jsonify: ^1.0.1
- levn: ^0.4.1
- lodash.merge: ^4.6.2
- minimatch: ^3.1.2
- natural-compare: ^1.4.0
- optionator: ^0.9.1
- strip-ansi: ^6.0.1
- strip-json-comments: ^3.1.0
- text-table: ^0.2.0
- bin:
- eslint: bin/eslint.js
- checksum: 80f3d5cdce2d671f4794e392d234a78d039c347673defb0596268bd481e8f30a53d93c01ff4f66a546c87d97ab4122c0e9cafe1371f87cb03cee6b7d5aa97595
- languageName: node
- linkType: hard
-
"eslint@npm:8.57.0":
version: 8.57.0
resolution: "eslint@npm:8.57.0"
@@ -17656,7 +17599,7 @@ __metadata:
languageName: node
linkType: hard
-"espree@npm:^9.3.1, espree@npm:^9.5.1, espree@npm:^9.6.0, espree@npm:^9.6.1":
+"espree@npm:^9.3.1, espree@npm:^9.6.0, espree@npm:^9.6.1":
version: 9.6.1
resolution: "espree@npm:9.6.1"
dependencies:
@@ -21464,13 +21407,6 @@ __metadata:
languageName: node
linkType: hard
-"js-sdsl@npm:^4.1.4":
- version: 4.4.2
- resolution: "js-sdsl@npm:4.4.2"
- checksum: ba705adc1788bf3c6f6c8e5077824f2bb4f0acab5a984420ce5cc492c7fff3daddc26335ad2c9a67d4f5e3241ec790f9e5b72a625adcf20cf321d2fd85e62b8b
- languageName: node
- linkType: hard
-
"js-stringify@npm:^1.0.2":
version: 1.0.2
resolution: "js-stringify@npm:1.0.2"
@@ -25246,7 +25182,7 @@ __metadata:
languageName: node
linkType: hard
-"optionator@npm:^0.9.1, optionator@npm:^0.9.3":
+"optionator@npm:^0.9.3":
version: 0.9.4
resolution: "optionator@npm:0.9.4"
dependencies:
@@ -26034,7 +25970,7 @@ __metadata:
cz-customizable: 7.2.1
danger: 11.3.0
dree: 3.4.5
- eslint: 8.37.0
+ eslint: 8.57.0
eslint-plugin-import: 2.27.5
eslint-plugin-json-format: 2.0.1
eslint-plugin-vitest: 0.3.22
@@ -31057,7 +30993,7 @@ __metadata:
languageName: node
linkType: hard
-"strip-json-comments@npm:3.1.1, strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1, strip-json-comments@npm:~3.1.1":
+"strip-json-comments@npm:3.1.1, strip-json-comments@npm:^3.1.1, strip-json-comments@npm:~3.1.1":
version: 3.1.1
resolution: "strip-json-comments@npm:3.1.1"
checksum: 492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443
@@ -33958,7 +33894,7 @@ __metadata:
"@justeattakeaway/pie-webc": 0.5.38
"@lit/react": 1.0.2
babel-loader: 8
- eslint: 8.37.0
+ eslint: 8.57.0
eslint-config-next: 13.2.4
next: 10.2.3
next-transpile-modules: 4.1.0