From ca04804886a94c92238e06c4730c1f4a5b53318b Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 3 Aug 2023 14:01:04 +0200 Subject: [PATCH 1/2] update eslint rule for '.js' imports to also include exports that reference a file --- .../eslint-local-rules.cjs | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/eslint-local-rules.cjs b/src/Umbraco.Web.UI.Client/eslint-local-rules.cjs index 47a4fec0cb..fe792cca15 100644 --- a/src/Umbraco.Web.UI.Client/eslint-local-rules.cjs +++ b/src/Umbraco.Web.UI.Client/eslint-local-rules.cjs @@ -200,7 +200,7 @@ module.exports = { }, }, - /** @type {import('eslint').RuleModule}*/ + /** @type {import('eslint').Rule.RuleModule}*/ 'prefer-static-styles-last': { meta: { type: 'suggestion', @@ -247,7 +247,7 @@ module.exports = { }, }, - /** @type {import('eslint').RuleModule}*/ + /** @type {import('eslint').Rule.RuleModule}*/ 'ensure-relative-import-use-js-extension': { meta: { type: 'problem', @@ -308,6 +308,33 @@ module.exports = { }); } }, + ExportAllDeclaration: (node) => { + const { source } = node; + const { value } = source; + + const fixedSource = correctImport(value); + if (fixedSource) { + context.report({ + node: source, + message: 'Relative exports should use the ".js" file extension.', + fix: (fixer) => fixer.replaceText(source, `'${fixedSource}'`), + }); + } + }, + ExportNamedDeclaration: (node) => { + const { source } = node; + if (!source) return; + const { value } = source; + + const fixedSource = correctImport(value); + if (fixedSource) { + context.report({ + node: source, + message: 'Relative exports should use the ".js" file extension.', + fix: (fixer) => fixer.replaceText(source, `'${fixedSource}'`), + }); + } + } }; }, }, From 7350491533e593c8d28d4cae3d9013e999978499 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Thu, 3 Aug 2023 14:01:08 +0200 Subject: [PATCH 2/2] run eslint --fix --- .../controller-api/controller-host-element.mixin.ts | 2 +- .../src/libs/extension-api/condition/index.ts | 4 ++-- .../src/libs/extension-api/controller/index.ts | 12 ++++++------ .../src/packages/core/workspace/types/index.ts | 2 +- .../src/packages/settings/relation-types/index.ts | 2 +- src/Umbraco.Web.UI.Client/src/packages/tags/index.ts | 2 +- .../insert-menu/templating-insert-menu.element.ts | 2 +- .../src/packages/templating/partial-views/index.ts | 2 +- 8 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller-host-element.mixin.ts b/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller-host-element.mixin.ts index d91aeb1b3b..d9ff2fe975 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller-host-element.mixin.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/controller-api/controller-host-element.mixin.ts @@ -1,9 +1,9 @@ -import type { UmbLocalizeController } from '@umbraco-cms/backoffice/localization-api'; import type { HTMLElementConstructor } from '../extension-api/types.js'; import type { UmbControllerAlias } from './controller-alias.type.js'; import { UmbControllerHostBaseMixin } from './controller-host-base.mixin.js'; import type { UmbControllerHost } from './controller-host.interface.js'; import type { UmbController } from './controller.interface.js'; +import type { UmbLocalizeController } from '@umbraco-cms/backoffice/localization-api'; export declare class UmbControllerHostElement extends HTMLElement implements UmbControllerHost { /** diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/condition/index.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/condition/index.ts index 1ccbbf4485..eab49ffeec 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/condition/index.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/condition/index.ts @@ -1,2 +1,2 @@ -export * from './extension-condition.interface'; -export * from './condition-controller-arguments.type'; +export * from './extension-condition.interface.js'; +export * from './condition-controller-arguments.type.js'; diff --git a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/index.ts b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/index.ts index 7c25eca347..e49985f76e 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/index.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/extension-api/controller/index.ts @@ -1,6 +1,6 @@ -export * from './base-extension-controller'; -export * from './base-extensions-controller'; -export * from './extension-element-controller'; -export * from './extensions-element-controller'; -export * from './extension-manifest-controller'; -export * from './extensions-manifest-controller'; +export * from './base-extension-controller.js'; +export * from './base-extensions-controller.js'; +export * from './extension-element-controller.js'; +export * from './extensions-element-controller.js'; +export * from './extension-manifest-controller.js'; +export * from './extensions-manifest-controller.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/types/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/types/index.ts index 8ae28a46ca..f4b7b580b6 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/types/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/types/index.ts @@ -1 +1 @@ -export * from './workspace-property-data.type'; +export * from './workspace-property-data.type.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/settings/relation-types/index.ts b/src/Umbraco.Web.UI.Client/src/packages/settings/relation-types/index.ts index 6dcbad91fa..3d76f338dd 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/settings/relation-types/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/settings/relation-types/index.ts @@ -1 +1 @@ -export * from './repository'; +export * from './repository/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/tags/index.ts b/src/Umbraco.Web.UI.Client/src/packages/tags/index.ts index 3cdf0295e3..b8e6da2895 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/tags/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/tags/index.ts @@ -1,2 +1,2 @@ -export * from './repository/'; +export * from './repository/index.js'; export * from './components/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/components/insert-menu/templating-insert-menu.element.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/components/insert-menu/templating-insert-menu.element.ts index babb659488..19fe1076a7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/components/insert-menu/templating-insert-menu.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/components/insert-menu/templating-insert-menu.element.ts @@ -1,7 +1,7 @@ -import { UmbDictionaryRepository } from '@umbraco-cms/backoffice/dictionary'; import { UMB_MODAL_TEMPLATING_INSERT_CHOOSE_TYPE_SIDEBAR_ALIAS } from '../../modals/manifests.js'; import { getInsertDictionarySnippet, getInsertPartialSnippet } from '../../utils.js'; import { ChooseInsertTypeModalResult, CodeSnippetType } from '../../modals/insert-choose-type-sidebar.element.js'; +import { UmbDictionaryRepository } from '@umbraco-cms/backoffice/dictionary'; import { customElement, property, css, html } from '@umbraco-cms/backoffice/external/lit'; import { UUITextStyles } from '@umbraco-cms/backoffice/external/uui'; import { diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/index.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/index.ts index 6dcbad91fa..3d76f338dd 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/index.ts @@ -1 +1 @@ -export * from './repository'; +export * from './repository/index.js';