1
1
mirror of https://github.com/n8n-io/n8n.git synced 2024-10-07 18:18:19 +03:00

refactor: Integrate consistent-type-imports in FE packages (no-changelog) (#6060)

* 👕 Move `consistent-type-imports` to top level

* 👕 Apply lintfixes

* 👕 Apply more lintfixes

* 👕 More lintfixes

* 👕 More lintfixes
This commit is contained in:
Iván Ovejero 2023-04-24 12:18:24 +02:00 committed by GitHub
parent eaf7090919
commit 57aab63c10
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
269 changed files with 624 additions and 569 deletions

View File

@ -194,6 +194,11 @@ const config = (module.exports = {
*/
'@typescript-eslint/consistent-type-assertions': 'error',
/**
* https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/consistent-type-imports.md
*/
'@typescript-eslint/consistent-type-imports': 'error',
/**
* https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/member-delimiter-style.md
*/

View File

@ -16,8 +16,6 @@ module.exports = {
],
rules: {
'@typescript-eslint/consistent-type-imports': 'error',
// TODO: Remove this
'import/no-cycle': 'warn',
'import/order': 'off',

View File

@ -11,8 +11,6 @@ module.exports = {
ignorePatterns: ['bin/*.js'],
rules: {
'@typescript-eslint/consistent-type-imports': 'error',
// TODO: Remove this
'import/order': 'off',
'@typescript-eslint/ban-ts-comment': ['error', { 'ts-ignore': true }],

View File

@ -34,7 +34,8 @@
</template>
<script lang="ts">
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
import {
Dropdown as ElDropdown,
DropdownMenu as ElDropdownMenu,

View File

@ -37,7 +37,8 @@
</template>
<script lang="ts">
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
import {
Dropdown as ElDropdown,
DropdownMenu as ElDropdownMenu,

View File

@ -1,6 +1,7 @@
<script lang="ts">
import { computed, defineComponent, PropType, ref, useCssModule } from 'vue';
import { DatatableColumn, DatatableRow, DatatableRowDataType } from '../../types';
import type { PropType } from 'vue';
import { computed, defineComponent, ref, useCssModule } from 'vue';
import type { DatatableColumn, DatatableRow, DatatableRowDataType } from '../../types';
import { getValueByPath } from '../../utils';
import { useI18n } from '../../composables';
import N8nSelect from '../N8nSelect';

View File

@ -1,5 +1,6 @@
import { defineComponent, h, PropType } from 'vue';
import { DatatableRow } from '../../../types';
import type { PropType } from 'vue';
import { defineComponent, h } from 'vue';
import type { DatatableRow } from '../../../types';
import N8nButton from '../../N8nButton';
// eslint-disable-next-line @typescript-eslint/naming-convention

View File

@ -95,7 +95,7 @@ import N8nCheckbox from '../N8nCheckbox';
import { Switch as ElSwitch } from 'element-ui';
import { getValidationError, VALIDATORS } from './validators';
import { Rule, RuleGroup, IValidator, Validatable, FormState } from '../../types';
import type { Rule, RuleGroup, IValidator, Validatable, FormState } from '../../types';
import { t } from '../../locale';

View File

@ -1,4 +1,4 @@
import { IValidator, RuleGroup, Validatable } from '../../types';
import type { IValidator, RuleGroup, Validatable } from '../../types';
export const emailRegex =
/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

View File

@ -37,11 +37,13 @@
</template>
<script lang="ts">
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
import N8nFormInput from '../N8nFormInput';
import type { IFormInput } from '../../types';
import ResizeObserver from '../ResizeObserver';
import { createEventBus, EventBus } from '../../utils';
import type { EventBus } from '../../utils';
import { createEventBus } from '../../utils';
export default defineComponent({
name: 'n8n-form-inputs',

View File

@ -41,7 +41,8 @@
<script lang="ts">
import N8nText from '../N8nText';
import N8nIcon from '../N8nIcon';
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
export interface IAccordionItem {
id: string;

View File

@ -19,13 +19,15 @@
<script lang="ts">
import N8nLoading from '../N8nLoading';
import Markdown, { PluginSimple } from 'markdown-it';
import type { PluginSimple } from 'markdown-it';
import Markdown from 'markdown-it';
import markdownLink from 'markdown-it-link-attributes';
import markdownEmoji from 'markdown-it-emoji';
import markdownTasklists from 'markdown-it-task-lists';
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
import xss, { friendlyAttrValue } from 'xss';
import { escapeMarkdown } from '../../utils/markdown';

View File

@ -54,7 +54,8 @@
<script lang="ts">
import { Menu as ElMenu } from 'element-ui';
import N8nMenuItem from '../N8nMenuItem';
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
import type { IMenuItem, RouteObject } from '../../types';
export default defineComponent({

View File

@ -74,7 +74,8 @@
import { Submenu as ElSubmenu, MenuItem as ElMenuItem } from 'element-ui';
import N8nTooltip from '../N8nTooltip';
import N8nIcon from '../N8nIcon';
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
import type { IMenuItem, RouteObject } from '../../types';
export default defineComponent({

View File

@ -1,5 +1,5 @@
import N8nNodeCreatorNode from './NodeCreatorNode.vue';
import { StoryFn } from '@storybook/vue';
import type { StoryFn } from '@storybook/vue';
export default {
title: 'Modules/Node Creator Node',

View File

@ -1,5 +1,6 @@
<script lang="ts">
import { DefineComponent, defineComponent } from 'vue';
import type { DefineComponent } from 'vue';
import { defineComponent } from 'vue';
import { Pagination as ElPagination } from 'element-ui';
export default defineComponent({

View File

@ -18,7 +18,8 @@
<script lang="ts">
import RadioButton from './RadioButton.vue';
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
export interface RadioOption {
label: string;

View File

@ -1,7 +1,7 @@
/* eslint-disable @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */
import type { StoryFn } from '@storybook/vue';
import N8nRecycleScroller from './RecycleScroller.vue';
import { ComponentInstance } from 'vue';
import type { ComponentInstance } from 'vue';
export default {
title: 'Atoms/RecycleScroller',

View File

@ -1,17 +1,8 @@
<script lang="ts">
/* eslint-disable @typescript-eslint/no-use-before-define */
import {
computed,
defineComponent,
onMounted,
onBeforeMount,
ref,
PropType,
nextTick,
watch,
ComponentPublicInstance,
} from 'vue';
import type { PropType, ComponentPublicInstance } from 'vue';
import { computed, defineComponent, onMounted, onBeforeMount, ref, nextTick, watch } from 'vue';
export default defineComponent({
name: 'n8n-recycle-scroller',

View File

@ -13,7 +13,8 @@
<script lang="ts">
/* eslint-disable @typescript-eslint/unbound-method */
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
function closestNumber(value: number, divisor: number): number {
const q = value / divisor;

View File

@ -47,7 +47,8 @@
</template>
<script lang="ts">
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
import N8nIcon from '../N8nIcon';
export interface N8nTabOptions {

View File

@ -22,7 +22,8 @@
import N8nTag from '../N8nTag';
import N8nLink from '../N8nLink';
import Locale from '../../mixins/locale';
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
export interface ITag {
id: string;

View File

@ -20,7 +20,8 @@
</template>
<script lang="ts">
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
import { Tooltip as ElTooltip } from 'element-ui';
import type { IN8nButton } from '@/types';
import N8nButton from '../N8nButton';

View File

@ -37,7 +37,8 @@
</template>
<script lang="ts">
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
export default defineComponent({
name: 'n8n-tree',

View File

@ -33,10 +33,11 @@
import N8nUserInfo from '../N8nUserInfo';
import N8nSelect from '../N8nSelect';
import N8nOption from '../N8nOption';
import { IUser } from '../../types';
import type { IUser } from '../../types';
import Locale from '../../mixins/locale';
import { t } from '../../locale';
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
export default defineComponent({
name: 'n8n-user-select',

View File

@ -1,7 +1,7 @@
import N8nUsersList from './UsersList.vue';
import { action } from '@storybook/addon-actions';
import type { StoryFn } from '@storybook/vue';
import { IUser } from '@/types';
import type { IUser } from '@/types';
export default {
title: 'Modules/UsersList',

View File

@ -37,7 +37,8 @@ import N8nActionToggle from '../N8nActionToggle';
import N8nBadge from '../N8nBadge';
import N8nUserInfo from '../N8nUserInfo';
import Locale from '../../mixins/locale';
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
export default defineComponent({
name: 'n8n-users-list',

View File

@ -10,7 +10,8 @@
</template>
<script lang="ts">
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
function hslToHex(h: number, s: number, l: number): string {
l /= 100;

View File

@ -18,7 +18,8 @@
</template>
<script lang="ts">
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
export default defineComponent({
name: 'sizes',

View File

@ -16,7 +16,8 @@
</template>
<script lang="ts">
import { defineComponent, PropType } from 'vue';
import type { PropType } from 'vue';
import { defineComponent } from 'vue';
export default defineComponent({
name: 'variable-table',

View File

@ -1,4 +1,4 @@
import { VNode } from 'vue';
import type { VNode } from 'vue';
export type DatatableRowDataType = string | number | boolean | null | undefined;

View File

@ -1,7 +1,7 @@
import { CREDENTIAL_EDIT_MODAL_KEY } from './constants';
import type { CREDENTIAL_EDIT_MODAL_KEY } from './constants';
/* eslint-disable @typescript-eslint/no-explicit-any */
import { IMenuItem } from 'n8n-design-system';
import {
import type { IMenuItem } from 'n8n-design-system';
import type {
GenericValue,
IConnections,
ICredentialsDecrypted,
@ -36,10 +36,10 @@ import {
IUserManagementSettings,
WorkflowSettings,
} from 'n8n-workflow';
import { SignInType } from './constants';
import { FAKE_DOOR_FEATURES, TRIGGER_NODE_FILTER, REGULAR_NODE_FILTER } from './constants';
import { BulkCommand, Undoable } from '@/models/history';
import { PartialBy } from '@/utils/typeHelpers';
import type { SignInType } from './constants';
import type { FAKE_DOOR_FEATURES, TRIGGER_NODE_FILTER, REGULAR_NODE_FILTER } from './constants';
import type { BulkCommand, Undoable } from '@/models/history';
import type { PartialBy } from '@/utils/typeHelpers';
export * from 'n8n-design-system/types';

View File

@ -1,5 +1,5 @@
import { parsePermissionsTable } from '@/permissions';
import { IUser } from '@/Interface';
import type { IUser } from '@/Interface';
describe('parsePermissionsTable()', () => {
const user: IUser = {

View File

@ -1,5 +1,6 @@
import { Response, Server } from 'miragejs';
import { AppSchema } from '../types';
import type { Server } from 'miragejs';
import { Response } from 'miragejs';
import type { AppSchema } from '../types';
export function routesForCredentials(server: Server) {
server.get('/rest/credentials', (schema: AppSchema) => {

View File

@ -1,5 +1,6 @@
import { Response, Server } from 'miragejs';
import { AppSchema } from '../types';
import type { Server } from 'miragejs';
import { Response } from 'miragejs';
import type { AppSchema } from '../types';
export function routesForCredentialTypes(server: Server) {
server.get('/types/credentials.json', (schema: AppSchema) => {

View File

@ -1,4 +1,4 @@
import { Server } from 'miragejs';
import type { Server } from 'miragejs';
import { routesForUsers } from './user';
import { routesForCredentials } from './credential';
import { routesForCredentialTypes } from './credentialType';

View File

@ -1,6 +1,7 @@
import { Response, Server } from 'miragejs';
import { AppSchema } from '../types';
import { IN8nUISettings } from 'n8n-workflow';
import type { Server } from 'miragejs';
import { Response } from 'miragejs';
import type { AppSchema } from '../types';
import type { IN8nUISettings } from 'n8n-workflow';
const defaultSettings: IN8nUISettings = {
allowedModules: {},

View File

@ -1,5 +1,6 @@
import { Response, Server } from 'miragejs';
import { AppSchema } from '../types';
import type { Server } from 'miragejs';
import { Response } from 'miragejs';
import type { AppSchema } from '../types';
export function routesForUsers(server: Server) {
server.get('/rest/users', (schema: AppSchema) => {

View File

@ -1,7 +1,8 @@
import { Request, Response, Server } from 'miragejs';
import { AppSchema } from '../types';
import type { Request, Server } from 'miragejs';
import { Response } from 'miragejs';
import type { AppSchema } from '../types';
import { jsonParse } from 'n8n-workflow';
import { EnvironmentVariable } from '@/Interface';
import type { EnvironmentVariable } from '@/Interface';
export function routesForVariables(server: Server) {
server.get('/rest/variables', (schema: AppSchema) => {

View File

@ -1,4 +1,4 @@
import { ICredentialsResponse } from '@/Interface';
import type { ICredentialsResponse } from '@/Interface';
import { Model } from 'miragejs';
import type { ModelDefinition } from 'miragejs/-types';

View File

@ -1,4 +1,4 @@
import { IUser } from '@/Interface';
import type { IUser } from '@/Interface';
import { Model } from 'miragejs';
import type { ModelDefinition } from 'miragejs/-types';

View File

@ -1,4 +1,4 @@
import { EnvironmentVariable } from '@/Interface';
import type { EnvironmentVariable } from '@/Interface';
import { Model } from 'miragejs';
import type { ModelDefinition } from 'miragejs/-types';

View File

@ -1,10 +1,10 @@
import { Registry } from 'miragejs';
import type { Registry } from 'miragejs';
// eslint-disable-next-line import/no-unresolved
import Schema from 'miragejs/orm/schema';
import type Schema from 'miragejs/orm/schema';
import { models } from './models';
import { factories } from './factories';
import type { models } from './models';
import type { factories } from './factories';
type AppRegistry = Registry<typeof models, typeof factories>;
export type AppSchema = Schema<AppRegistry>;

View File

@ -1,4 +1,5 @@
import { ISettingsState, UserManagementAuthenticationMethod } from '@/Interface';
import type { ISettingsState } from '@/Interface';
import { UserManagementAuthenticationMethod } from '@/Interface';
import { render } from '@testing-library/vue';
import { PiniaVuePlugin } from 'pinia';

View File

@ -1,4 +1,4 @@
import { IRestApiContext } from '@/Interface';
import type { IRestApiContext } from '@/Interface';
import { makeRestApiRequest } from '@/utils';
export function getApiKey(context: IRestApiContext): Promise<{ apiKey: string | null }> {

View File

@ -1,5 +1,5 @@
import { IRestApiContext } from '@/Interface';
import { PublicInstalledPackage } from 'n8n-workflow';
import type { IRestApiContext } from '@/Interface';
import type { PublicInstalledPackage } from 'n8n-workflow';
import { get, post, makeRestApiRequest } from '@/utils';
export async function getInstalledCommunityNodes(

View File

@ -1,6 +1,6 @@
import { ICredentialsResponse, IRestApiContext, IShareCredentialsPayload } from '@/Interface';
import type { ICredentialsResponse, IRestApiContext, IShareCredentialsPayload } from '@/Interface';
import { makeRestApiRequest } from '@/utils';
import { IDataObject } from 'n8n-workflow';
import type { IDataObject } from 'n8n-workflow';
export async function setCredentialSharedWith(
context: IRestApiContext,

View File

@ -1,6 +1,10 @@
import { ICredentialsDecryptedResponse, ICredentialsResponse, IRestApiContext } from '@/Interface';
import type {
ICredentialsDecryptedResponse,
ICredentialsResponse,
IRestApiContext,
} from '@/Interface';
import { makeRestApiRequest } from '@/utils';
import {
import type {
ICredentialsDecrypted,
ICredentialType,
IDataObject,

View File

@ -1,4 +1,4 @@
import { CurlToJSONResponse, IRestApiContext } from '@/Interface';
import type { CurlToJSONResponse, IRestApiContext } from '@/Interface';
import { makeRestApiRequest } from '@/utils';
export function getCurlToJson(

View File

@ -1,6 +1,6 @@
import { EnvironmentVariable, IRestApiContext } from '@/Interface';
import type { EnvironmentVariable, IRestApiContext } from '@/Interface';
import { makeRestApiRequest } from '@/utils';
import { IDataObject } from 'n8n-workflow';
import type { IDataObject } from 'n8n-workflow';
export async function getVariables(context: IRestApiContext): Promise<EnvironmentVariable[]> {
return await makeRestApiRequest(context, 'GET', '/variables');

View File

@ -1,6 +1,6 @@
import { IRestApiContext } from '@/Interface';
import type { IRestApiContext } from '@/Interface';
import { makeRestApiRequest } from '@/utils';
import { IDataObject, MessageEventBusDestinationOptions } from 'n8n-workflow';
import type { IDataObject, MessageEventBusDestinationOptions } from 'n8n-workflow';
export async function saveDestinationToDb(
context: IRestApiContext,

View File

@ -1,6 +1,6 @@
import { ILdapConfig, ILdapSyncData, IRestApiContext } from '@/Interface';
import type { ILdapConfig, ILdapSyncData, IRestApiContext } from '@/Interface';
import { makeRestApiRequest } from '@/utils';
import { IDataObject } from 'n8n-workflow';
import type { IDataObject } from 'n8n-workflow';
export function getLdapConfig(context: IRestApiContext): Promise<ILdapConfig> {
return makeRestApiRequest(context, 'GET', '/ldap/config');

View File

@ -1,4 +1,4 @@
import {
import type {
IRestApiContext,
IN8nPrompts,
IN8nValueSurveyData,
@ -6,7 +6,7 @@ import {
} from '../Interface';
import { makeRestApiRequest, get, post } from '@/utils';
import { N8N_IO_BASE_URL, NPM_COMMUNITY_NODE_SEARCH_API_URL } from '@/constants';
import { IN8nUISettings } from 'n8n-workflow';
import type { IN8nUISettings } from 'n8n-workflow';
export function getSettings(context: IRestApiContext): Promise<IN8nUISettings> {
return makeRestApiRequest(context, 'GET', '/settings');

View File

@ -1,5 +1,5 @@
import { makeRestApiRequest } from '@/utils';
import {
import type {
IRestApiContext,
SamlPreferencesLoginEnabled,
SamlPreferences,

View File

@ -1,4 +1,4 @@
import { IRestApiContext, ITag } from '@/Interface';
import type { IRestApiContext, ITag } from '@/Interface';
import { makeRestApiRequest } from '@/utils';
export async function getTags(context: IRestApiContext, withUsageCount = false): Promise<ITag[]> {

View File

@ -1,4 +1,4 @@
import {
import type {
ITemplatesCategory,
ITemplatesCollection,
ITemplatesQuery,
@ -7,7 +7,7 @@ import {
ITemplatesWorkflowResponse,
IWorkflowTemplate,
} from '@/Interface';
import { IDataObject } from 'n8n-workflow';
import type { IDataObject } from 'n8n-workflow';
import { get } from '@/utils';
function stringifyArray(arr: number[]) {

View File

@ -1,5 +1,5 @@
import { makeRestApiRequest } from '@/utils';
import { IRestApiContext, UsageState } from '@/Interface';
import type { IRestApiContext, UsageState } from '@/Interface';
export const getLicense = (context: IRestApiContext): Promise<UsageState['data']> => {
return makeRestApiRequest(context, 'GET', '/license');

View File

@ -1,11 +1,11 @@
import {
import type {
CurrentUserResponse,
IInviteResponse,
IPersonalizationLatestVersion,
IRestApiContext,
IUserResponse,
} from '@/Interface';
import { IDataObject } from 'n8n-workflow';
import type { IDataObject } from 'n8n-workflow';
import { makeRestApiRequest } from '@/utils/apiUtils';
export function loginCurrentUser(context: IRestApiContext): Promise<CurrentUserResponse | null> {

View File

@ -1,4 +1,4 @@
import { IVersion } from '@/Interface';
import type { IVersion } from '@/Interface';
import { INSTANCE_ID_HEADER } from '@/constants';
import { get } from '@/utils';

View File

@ -1,4 +1,5 @@
import { IOnboardingCallPrompt, IOnboardingCallPromptResponse, IUser } from '@/Interface';
import type { IOnboardingCallPrompt, IUser } from '@/Interface';
import { IOnboardingCallPromptResponse } from '@/Interface';
import { get, post } from '@/utils';
const N8N_API_BASE_URL = 'https://api.n8n.io/api';

View File

@ -1,6 +1,6 @@
import { IRestApiContext, IShareWorkflowsPayload, IWorkflowsShareResponse } from '@/Interface';
import type { IRestApiContext, IShareWorkflowsPayload, IWorkflowsShareResponse } from '@/Interface';
import { makeRestApiRequest } from '@/utils';
import { IDataObject } from 'n8n-workflow';
import type { IDataObject } from 'n8n-workflow';
export async function setWorkflowSharedWith(
context: IRestApiContext,

View File

@ -1,11 +1,6 @@
import { IExecutionsCurrentSummaryExtended, IRestApiContext } from '@/Interface';
import {
ExecutionFilters,
ExecutionOptions,
ExecutionStatus,
IDataObject,
WorkflowExecuteMode,
} from 'n8n-workflow';
import type { IExecutionsCurrentSummaryExtended, IRestApiContext } from '@/Interface';
import type { ExecutionFilters, ExecutionOptions, IDataObject } from 'n8n-workflow';
import { ExecutionStatus, WorkflowExecuteMode } from 'n8n-workflow';
import { makeRestApiRequest } from '@/utils';
export async function getNewWorkflow(context: IRestApiContext, name?: string) {

View File

@ -19,7 +19,8 @@
</template>
<script lang="ts">
import { IBinaryData, jsonParse } from 'n8n-workflow';
import type { IBinaryData } from 'n8n-workflow';
import { jsonParse } from 'n8n-workflow';
import type { PropType } from 'vue';
import VueJsonPretty from 'vue-json-pretty';
import { mapStores } from 'pinia';

View File

@ -33,7 +33,7 @@ import mixins from 'vue-typed-mixins';
import { showMessage } from '@/mixins/showMessage';
import Modal from './Modal.vue';
import { IFormInputs } from '@/Interface';
import type { IFormInputs } from '@/Interface';
import { CHANGE_PASSWORD_MODAL_KEY } from '../constants';
import { mapStores } from 'pinia';
import { useUsersStore } from '@/stores/users';

View File

@ -25,15 +25,16 @@ import { genericHelpers } from '@/mixins/genericHelpers';
import { workflowHelpers } from '@/mixins/workflowHelpers';
import mixins from 'vue-typed-mixins';
import { IExecutionResponse, INodeUi } from '@/Interface';
import {
import type { INodeUi } from '@/Interface';
import { IExecutionResponse } from '@/Interface';
import type {
IBinaryKeyData,
IDataObject,
INodeExecutionData,
IRunExecutionData,
IWorkflowDataProxyAdditionalKeys,
WorkflowDataProxy,
} from 'n8n-workflow';
import { WorkflowDataProxy } from 'n8n-workflow';
import { PLACEHOLDER_FILLED_AT_EXECUTION_TIME } from '@/constants';
import { CodeEditor } from './forms';

View File

@ -22,7 +22,8 @@
import mixins from 'vue-typed-mixins';
import { Compartment, EditorState } from '@codemirror/state';
import { EditorView, ViewUpdate } from '@codemirror/view';
import type { ViewUpdate } from '@codemirror/view';
import { EditorView } from '@codemirror/view';
import { javascript } from '@codemirror/lang-javascript';
import { baseExtensions } from './baseExtensions';

View File

@ -1,5 +1,6 @@
import Vue from 'vue';
import { Diagnostic, linter as createLinter } from '@codemirror/lint';
import type { Diagnostic } from '@codemirror/lint';
import { linter as createLinter } from '@codemirror/lint';
import * as esprima from 'esprima-next';
import {

View File

@ -1,4 +1,4 @@
import * as esprima from 'esprima-next';
import type * as esprima from 'esprima-next';
import type { Completion } from '@codemirror/autocomplete';
import type { Node } from 'estree';
import type { RangeNode } from './types';

View File

@ -46,16 +46,17 @@
</template>
<script lang="ts">
import { INodeUi, IUpdateInformation } from '@/Interface';
import type { INodeUi, IUpdateInformation } from '@/Interface';
import { deepCopy, INodeProperties, INodePropertyOptions } from 'n8n-workflow';
import type { INodeProperties, INodePropertyOptions } from 'n8n-workflow';
import { deepCopy } from 'n8n-workflow';
import { nodeHelpers } from '@/mixins/nodeHelpers';
import { get } from 'lodash-es';
import mixins from 'vue-typed-mixins';
import { Component } from 'vue';
import type { Component } from 'vue';
import { mapStores } from 'pinia';
import { useNDVStore } from '@/stores/ndv';

View File

@ -26,8 +26,8 @@
</template>
<script lang="ts">
import { PropType } from 'vue';
import { ITemplatesCollection } from '@/Interface';
import type { PropType } from 'vue';
import type { ITemplatesCollection } from '@/Interface';
import Card from '@/components/CollectionWorkflowCard.vue';
import CollectionCard from '@/components/CollectionCard.vue';
import VueAgile from 'vue-agile';

View File

@ -63,7 +63,7 @@
<script lang="ts">
import { useUIStore } from '@/stores/ui';
import { PublicInstalledPackage } from 'n8n-workflow';
import type { PublicInstalledPackage } from 'n8n-workflow';
import { mapStores } from 'pinia';
import mixins from 'vue-typed-mixins';
import { NPM_PACKAGE_DOCS_BASE_URL, COMMUNITY_PACKAGE_MANAGE_ACTIONS } from '../constants';

View File

@ -35,7 +35,7 @@
<script lang="ts">
import mixins from 'vue-typed-mixins';
import { IN8nPromptResponse } from '@/Interface';
import type { IN8nPromptResponse } from '@/Interface';
import { VALID_EMAIL_REGEX } from '@/constants';
import { workflowHelpers } from '@/mixins/workflowHelpers';
import Modal from './Modal.vue';

View File

@ -32,12 +32,13 @@
<script lang="ts">
import mixins from 'vue-typed-mixins';
import { ICredentialsResponse, IUser } from '@/Interface';
import { ICredentialType } from 'n8n-workflow';
import type { ICredentialsResponse, IUser } from '@/Interface';
import type { ICredentialType } from 'n8n-workflow';
import { EnterpriseEditionFeature } from '@/constants';
import { showMessage } from '@/mixins/showMessage';
import CredentialIcon from '@/components/CredentialIcon.vue';
import { getCredentialPermissions, IPermissions } from '@/permissions';
import type { IPermissions } from '@/permissions';
import { getCredentialPermissions } from '@/permissions';
import dateformat from 'dateformat';
import { mapStores } from 'pinia';
import { useUIStore } from '@/stores/ui';

View File

@ -1,6 +1,6 @@
<script setup lang="ts">
import ParameterInputFull from '@/components/ParameterInputFull.vue';
import { IUpdateInformation, NodeAuthenticationOption } from '@/Interface';
import type { IUpdateInformation, NodeAuthenticationOption } from '@/Interface';
import { useNDVStore } from '@/stores/ndv';
import { useNodeTypesStore } from '@/stores/nodeTypes';
import {
@ -9,7 +9,7 @@ import {
getNodeAuthOptions,
isAuthRelatedParameter,
} from '@/utils';
import { INodeProperties, INodeTypeDescription, NodeParameterValue } from 'n8n-workflow';
import type { INodeProperties, INodeTypeDescription, NodeParameterValue } from 'n8n-workflow';
import { computed, onMounted, ref } from 'vue';
import Vue from 'vue';

View File

@ -128,7 +128,7 @@
</template>
<script lang="ts">
import { ICredentialType, INodeTypeDescription } from 'n8n-workflow';
import type { ICredentialType, INodeTypeDescription } from 'n8n-workflow';
import { getAppNameFromCredType, isCommunityPackageName } from '@/utils';
import Banner from '../Banner.vue';
@ -137,7 +137,7 @@ import CredentialInputs from './CredentialInputs.vue';
import OauthButton from './OauthButton.vue';
import { addCredentialTranslation } from '@/plugins/i18n';
import { BUILTIN_CREDENTIALS_DOCS_URL, DOCS_DOMAIN, EnterpriseEditionFeature } from '@/constants';
import { IPermissions } from '@/permissions';
import type { IPermissions } from '@/permissions';
import { mapStores } from 'pinia';
import { useUIStore } from '@/stores/ui';
import { useWorkflowsStore } from '@/stores/workflows';
@ -145,7 +145,7 @@ import { useRootStore } from '@/stores/n8nRootStore';
import { useNDVStore } from '@/stores/ndv';
import { useCredentialsStore } from '@/stores/credentials';
import { useNodeTypesStore } from '@/stores/nodeTypes';
import { ICredentialsResponse } from '@/Interface';
import type { ICredentialsResponse } from '@/Interface';
import AuthTypeSelector from '@/components/CredentialEdit/AuthTypeSelector.vue';
import GoogleAuthButton from './GoogleAuthButton.vue';
import Vue from 'vue';

View File

@ -113,7 +113,7 @@ import Vue from 'vue';
import type { ICredentialsResponse, IUser, NewCredentialsModal } from '@/Interface';
import {
import type {
CredentialInformation,
ICredentialDataDecryptedObject,
ICredentialNodeAccess,
@ -125,8 +125,8 @@ import {
INodeProperties,
INodeTypeDescription,
ITelemetryTrackProperties,
NodeHelpers,
} from 'n8n-workflow';
import { NodeHelpers } from 'n8n-workflow';
import CredentialIcon from '../CredentialIcon.vue';
import mixins from 'vue-typed-mixins';
@ -140,10 +140,12 @@ import SaveButton from '../SaveButton.vue';
import Modal from '../Modal.vue';
import InlineNameEdit from '../InlineNameEdit.vue';
import { CREDENTIAL_EDIT_MODAL_KEY, EnterpriseEditionFeature } from '@/constants';
import { IDataObject } from 'n8n-workflow';
import type { IDataObject } from 'n8n-workflow';
import FeatureComingSoon from '../FeatureComingSoon.vue';
import { getCredentialPermissions, IPermissions } from '@/permissions';
import { createEventBus, IMenuItem } from 'n8n-design-system';
import type { IPermissions } from '@/permissions';
import { getCredentialPermissions } from '@/permissions';
import type { IMenuItem } from 'n8n-design-system';
import { createEventBus } from 'n8n-design-system';
import { mapStores } from 'pinia';
import { useUIStore } from '@/stores/ui';
import { useSettingsStore } from '@/stores/settings';

View File

@ -71,7 +71,7 @@
import { defineComponent } from 'vue';
import TimeAgo from '../TimeAgo.vue';
import { INodeTypeDescription } from 'n8n-workflow';
import type { INodeTypeDescription } from 'n8n-workflow';
export default defineComponent({
name: 'CredentialInfo',

View File

@ -25,8 +25,8 @@
<script lang="ts">
import { defineComponent } from 'vue';
import { IParameterLabel } from 'n8n-workflow';
import { IUpdateInformation } from '@/Interface';
import type { IParameterLabel } from 'n8n-workflow';
import type { IUpdateInformation } from '@/Interface';
import ParameterInputExpanded from '../ParameterInputExpanded.vue';
export default defineComponent({

View File

@ -80,7 +80,8 @@
</template>
<script lang="ts">
import { IUser, IUserListAction, UIState } from '@/Interface';
import type { IUser, IUserListAction } from '@/Interface';
import { UIState } from '@/Interface';
import mixins from 'vue-typed-mixins';
import { showMessage } from '@/mixins/showMessage';
import { mapStores } from 'pinia';

View File

@ -10,7 +10,7 @@
import { useCredentialsStore } from '@/stores/credentials';
import { useRootStore } from '@/stores/n8nRootStore';
import { useNodeTypesStore } from '@/stores/nodeTypes';
import { ICredentialType, INodeTypeDescription } from 'n8n-workflow';
import type { ICredentialType, INodeTypeDescription } from 'n8n-workflow';
import { mapStores } from 'pinia';
import { defineComponent } from 'vue';

View File

@ -55,13 +55,13 @@
</template>
<script lang="ts">
import { ICredentialType } from 'n8n-workflow';
import type { ICredentialType } from 'n8n-workflow';
import Vue, { defineComponent } from 'vue';
import ScopesNotice from '@/components/ScopesNotice.vue';
import NodeCredentials from '@/components/NodeCredentials.vue';
import { mapStores } from 'pinia';
import { useCredentialsStore } from '@/stores/credentials';
import { N8nSelect } from 'n8n-design-system';
import type { N8nSelect } from 'n8n-design-system';
type N8nSelectRef = InstanceType<typeof N8nSelect>;

View File

@ -74,7 +74,7 @@ import mixins from 'vue-typed-mixins';
import { showMessage } from '@/mixins/showMessage';
import Modal from './Modal.vue';
import { IUser } from '../Interface';
import type { IUser } from '../Interface';
import { mapStores } from 'pinia';
import { useUsersStore } from '@/stores/users';
import { createEventBus } from '@/event-bus';

View File

@ -16,7 +16,7 @@
</template>
<script lang="ts">
import { XYPosition } from '@/Interface';
import type { XYPosition } from '@/Interface';
import { useNDVStore } from '@/stores/ndv';
import { mapStores } from 'pinia';
import { defineComponent } from 'vue';

View File

@ -59,8 +59,9 @@ import Modal from './Modal.vue';
import { mapStores } from 'pinia';
import { useSettingsStore } from '@/stores/settings';
import { useWorkflowsStore } from '@/stores/workflows';
import { IWorkflowDataUpdate } from '@/Interface';
import { getWorkflowPermissions, IPermissions } from '@/permissions';
import type { IWorkflowDataUpdate } from '@/Interface';
import type { IPermissions } from '@/permissions';
import { getWorkflowPermissions } from '@/permissions';
import { useUsersStore } from '@/stores/users';
import { createEventBus } from '@/event-bus';
import { useCredentialsStore } from '@/stores';

View File

@ -7,7 +7,7 @@
<script lang="ts">
import { defineComponent } from 'vue';
import { EnterpriseEditionFeature } from '@/constants';
import type { EnterpriseEditionFeature } from '@/constants';
import { mapStores } from 'pinia';
import { useSettingsStore } from '@/stores/settings';

View File

@ -126,7 +126,7 @@ import mixins from 'vue-typed-mixins';
import { MAX_DISPLAY_DATA_SIZE } from '@/constants';
import { INodeUi } from '@/Interface';
import { INodeProperties, INodePropertyCollection, INodePropertyOptions } from 'n8n-workflow';
import type { INodeProperties, INodePropertyCollection, INodePropertyOptions } from 'n8n-workflow';
import { sanitizeHtml } from '@/utils';
import { mapStores } from 'pinia';
import { useNDVStore } from '@/stores/ndv';

View File

@ -274,7 +274,7 @@ import { VIEWS, WAIT_TIME_UNLIMITED } from '@/constants';
import { genericHelpers } from '@/mixins/genericHelpers';
import { executionHelpers } from '@/mixins/executionsHelpers';
import { showMessage } from '@/mixins/showMessage';
import {
import type {
IExecutionsCurrentSummaryExtended,
IExecutionDeleteFilter,
IExecutionsListResponse,

View File

@ -81,9 +81,10 @@
</template>
<script lang="ts">
import { IExecutionsSummary } from '@/Interface';
import type { IExecutionsSummary } from '@/Interface';
import mixins from 'vue-typed-mixins';
import { executionHelpers, IExecutionUIData } from '@/mixins/executionsHelpers';
import type { IExecutionUIData } from '@/mixins/executionsHelpers';
import { executionHelpers } from '@/mixins/executionsHelpers';
import { VIEWS } from '@/constants';
import { showMessage } from '@/mixins/showMessage';
import ExecutionTime from '@/components/ExecutionTime.vue';

View File

@ -129,7 +129,8 @@
import mixins from 'vue-typed-mixins';
import { showMessage } from '@/mixins/showMessage';
import WorkflowPreview from '@/components/WorkflowPreview.vue';
import { executionHelpers, IExecutionUIData } from '@/mixins/executionsHelpers';
import type { IExecutionUIData } from '@/mixins/executionsHelpers';
import { executionHelpers } from '@/mixins/executionsHelpers';
import { VIEWS } from '@/constants';
import { mapStores } from 'pinia';
import { useUIStore } from '@/stores/ui';

View File

@ -42,7 +42,8 @@ import { useUIStore } from '@/stores/ui';
import { useWorkflowsStore } from '@/stores/workflows';
import { mapStores } from 'pinia';
import { PLACEHOLDER_EMPTY_WORKFLOW_ID, WORKFLOW_SETTINGS_MODAL_KEY } from '@/constants';
import { deepCopy, IWorkflowSettings } from 'n8n-workflow';
import type { IWorkflowSettings } from 'n8n-workflow';
import { deepCopy } from 'n8n-workflow';
import mixins from 'vue-typed-mixins';
import { workflowHelpers } from '@/mixins/workflowHelpers';

View File

@ -32,26 +32,26 @@ import {
VIEWS,
WEBHOOK_NODE_TYPE,
} from '@/constants';
import {
import type {
ExecutionFilterType,
IExecutionsListResponse,
INodeUi,
ITag,
IWorkflowDb,
} from '@/Interface';
import {
import type {
IExecutionsSummary,
IConnection,
IConnections,
IDataObject,
INodeTypeDescription,
INodeTypeNameVersion,
NodeHelpers,
} from 'n8n-workflow';
import { NodeHelpers } from 'n8n-workflow';
import mixins from 'vue-typed-mixins';
import { showMessage } from '@/mixins/showMessage';
import { v4 as uuid } from 'uuid';
import { Route } from 'vue-router';
import type { Route } from 'vue-router';
import { executionHelpers } from '@/mixins/executionsHelpers';
import { range as _range } from 'lodash-es';
import { debounceHelper } from '@/mixins/debounce';

View File

@ -69,13 +69,13 @@ import ExecutionsInfoAccordion from '@/components/ExecutionsView/ExecutionsInfoA
import ExecutionFilter from '@/components/ExecutionFilter.vue';
import { VIEWS } from '@/constants';
import type { IExecutionsSummary } from 'n8n-workflow';
import { Route } from 'vue-router';
import type { Route } from 'vue-router';
import { defineComponent } from 'vue';
import { PropType } from 'vue';
import type { PropType } from 'vue';
import { mapStores } from 'pinia';
import { useUIStore } from '@/stores/ui';
import { useWorkflowsStore } from '@/stores/workflows';
import { ExecutionFilterType } from '@/Interface';
import type { ExecutionFilterType } from '@/Interface';
type ExecutionCardRef = InstanceType<typeof ExecutionCard>;

View File

@ -78,7 +78,7 @@ import ExpressionEditorModalInput from '@/components/ExpressionEditorModal/Expre
import ExpressionEditorModalOutput from '@/components/ExpressionEditorModal/ExpressionEditorModalOutput.vue';
import VariableSelector from '@/components/VariableSelector.vue';
import { IVariableItemSelected } from '@/Interface';
import type { IVariableItemSelected } from '@/Interface';
import { externalHooks } from '@/mixins/externalHooks';
import { genericHelpers } from '@/mixins/genericHelpers';

View File

@ -29,7 +29,7 @@
</template>
<script lang="ts">
import { IFakeDoor } from '@/Interface';
import type { IFakeDoor } from '@/Interface';
import { useRootStore } from '@/stores/n8nRootStore';
import { useSettingsStore } from '@/stores/settings';
import { useUIStore } from '@/stores/ui';

View File

@ -116,13 +116,13 @@ import { defineComponent } from 'vue';
import type { Component, PropType } from 'vue';
import type { IUpdateInformation } from '@/Interface';
import { deepCopy, isINodePropertyCollectionList } from 'n8n-workflow';
import type {
INodeParameters,
INodeProperties,
INodePropertyCollection,
NodeParameterValue,
} from 'n8n-workflow';
import { deepCopy, isINodePropertyCollectionList } from 'n8n-workflow';
import { get } from 'lodash-es';

View File

@ -42,8 +42,8 @@
<script lang="ts">
import { defineComponent } from 'vue';
import { ITemplatesNode } from '@/Interface';
import { INodeTypeDescription } from 'n8n-workflow';
import type { ITemplatesNode } from '@/Interface';
import type { INodeTypeDescription } from 'n8n-workflow';
import { mapStores } from 'pinia';
import { useRootStore } from '@/stores/n8nRootStore';

View File

@ -18,7 +18,9 @@ import {
indentOnInput,
LanguageSupport,
} from '@codemirror/language';
import { EditorState, Extension } from '@codemirror/state';
import type { Extension } from '@codemirror/state';
import { EditorState } from '@codemirror/state';
import type { ViewUpdate } from '@codemirror/view';
import {
dropCursor,
EditorView,
@ -26,7 +28,6 @@ import {
highlightActiveLineGutter,
keymap,
lineNumbers,
ViewUpdate,
} from '@codemirror/view';
import { n8nCompletionSources } from '@/plugins/codemirror/completions/addCompletions';

View File

@ -48,7 +48,7 @@ import {
} from '../constants';
import { showMessage } from '@/mixins/showMessage';
import mixins from 'vue-typed-mixins';
import { INodeUi } from '@/Interface';
import type { INodeUi } from '@/Interface';
import { mapStores } from 'pinia';
import { useUIStore } from '@/stores/ui';
import { useNDVStore } from '@/stores/ndv';

View File

@ -131,8 +131,8 @@
</template>
<script lang="ts">
import { INodeUi } from '@/Interface';
import { IConnectedNode, INodeTypeDescription, Workflow } from 'n8n-workflow';
import type { INodeUi } from '@/Interface';
import type { IConnectedNode, INodeTypeDescription, Workflow } from 'n8n-workflow';
import RunData from './RunData.vue';
import { workflowHelpers } from '@/mixins/workflowHelpers';
import mixins from 'vue-typed-mixins';

View File

@ -69,7 +69,7 @@ import mixins from 'vue-typed-mixins';
import { showMessage } from '@/mixins/showMessage';
import { copyPaste } from '@/mixins/copyPaste';
import Modal from './Modal.vue';
import { IFormInputs, IInviteResponse, IUser } from '@/Interface';
import type { IFormInputs, IInviteResponse, IUser } from '@/Interface';
import { VALID_EMAIL_REGEX, INVITE_USER_MODAL_KEY } from '@/constants';
import { ROLE } from '@/utils';
import { mapStores } from 'pinia';

Some files were not shown because too many files have changed in this diff Show More