mirror of
https://github.com/n8n-io/n8n.git
synced 2025-03-05 20:50:17 -08:00
ci: Enforce no unused imports (no-changelog) (#6073)
This commit is contained in:
parent
f3b4701863
commit
88724bb056
|
@ -36,6 +36,9 @@ const config = (module.exports = {
|
|||
*/
|
||||
'eslint-plugin-n8n-local-rules',
|
||||
|
||||
/** https://github.com/sweepline/eslint-plugin-unused-imports */
|
||||
'unused-imports',
|
||||
|
||||
/** https://github.com/sindresorhus/eslint-plugin-unicorn */
|
||||
'eslint-plugin-unicorn',
|
||||
],
|
||||
|
@ -426,6 +429,15 @@ const config = (module.exports = {
|
|||
*/
|
||||
'import/prefer-default-export': 'off',
|
||||
|
||||
// ----------------------------------
|
||||
// no-unused-imports
|
||||
// ----------------------------------
|
||||
|
||||
/**
|
||||
* https://github.com/sweepline/eslint-plugin-unused-imports/blob/master/docs/rules/no-unused-imports.md
|
||||
*/
|
||||
'unused-imports/no-unused-imports': process.env.NODE_ENV === 'development' ? 'warn' : 'error',
|
||||
|
||||
/** https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-await.md */
|
||||
'unicorn/no-unnecessary-await': 'error',
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
"eslint-plugin-n8n-local-rules": "~1.0",
|
||||
"eslint-plugin-prettier": "~4.2",
|
||||
"eslint-plugin-unicorn": "~46.0",
|
||||
"eslint-plugin-unused-imports": "~2.0",
|
||||
"eslint-plugin-vue": "~7.17"
|
||||
},
|
||||
"scripts": {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
/* eslint-disable @typescript-eslint/no-unused-vars */
|
||||
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
||||
import { In } from 'typeorm';
|
||||
import type express from 'express';
|
||||
import { compare, genSaltSync, hash } from 'bcryptjs';
|
||||
import { Container } from 'typedi';
|
||||
|
||||
|
@ -12,7 +11,6 @@ import type { User } from '@db/entities/User';
|
|||
import { MAX_PASSWORD_LENGTH, MIN_PASSWORD_LENGTH } from '@db/entities/User';
|
||||
import type { Role } from '@db/entities/Role';
|
||||
import { RoleRepository } from '@db/repositories';
|
||||
import type { AuthenticatedRequest } from '@/requests';
|
||||
import config from '@/config';
|
||||
import { getWebhookBaseUrl } from '@/WebhookHelpers';
|
||||
import { License } from '@/License';
|
||||
|
|
|
@ -21,7 +21,6 @@ import type {
|
|||
IRun,
|
||||
WorkflowExecuteMode,
|
||||
WorkflowHooks,
|
||||
WorkflowSettings,
|
||||
} from 'n8n-workflow';
|
||||
import {
|
||||
ErrorReporterProxy as ErrorReporter,
|
||||
|
|
|
@ -28,7 +28,6 @@ import type {
|
|||
INodeActionTypeDescription,
|
||||
IDisplayOptions,
|
||||
IExecutionsSummary,
|
||||
IAbstractEventMessage,
|
||||
FeatureFlags,
|
||||
ExecutionStatus,
|
||||
ITelemetryTrackProperties,
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import { Factory } from 'miragejs';
|
||||
import { faker } from '@faker-js/faker';
|
||||
import type { ICredentialType } from 'n8n-workflow';
|
||||
|
||||
const credentialTypes = [
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
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';
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
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) {
|
||||
|
|
|
@ -26,7 +26,6 @@ import { workflowHelpers } from '@/mixins/workflowHelpers';
|
|||
|
||||
import mixins from 'vue-typed-mixins';
|
||||
import type { INodeUi } from '@/Interface';
|
||||
import { IExecutionResponse } from '@/Interface';
|
||||
import type {
|
||||
IBinaryKeyData,
|
||||
IDataObject,
|
||||
|
|
|
@ -111,7 +111,7 @@
|
|||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
|
||||
import type { ICredentialsResponse, IUser, NewCredentialsModal } from '@/Interface';
|
||||
import type { ICredentialsResponse, IUser } from '@/Interface';
|
||||
|
||||
import type {
|
||||
CredentialInformation,
|
||||
|
|
|
@ -81,7 +81,6 @@
|
|||
|
||||
<script lang="ts">
|
||||
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';
|
||||
|
@ -91,7 +90,6 @@ import { useUIStore } from '@/stores/ui';
|
|||
import { useCredentialsStore } from '@/stores/credentials';
|
||||
import { useUsageStore } from '@/stores/usage';
|
||||
import { EnterpriseEditionFeature, VIEWS } from '@/constants';
|
||||
import { BaseTextKey } from '@/plugins/i18n';
|
||||
|
||||
export default mixins(showMessage).extend({
|
||||
name: 'CredentialSharing',
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
<script lang="ts" setup>
|
||||
import GoogleAuthButton from './GoogleAuthButton.vue';
|
||||
import Vue from 'vue';
|
||||
|
||||
defineProps<{
|
||||
isGoogleOAuthType: boolean;
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
|
||||
<script lang="ts">
|
||||
import type { ICredentialType } from 'n8n-workflow';
|
||||
import Vue, { defineComponent } from 'vue';
|
||||
import { defineComponent } from 'vue';
|
||||
import ScopesNotice from '@/components/ScopesNotice.vue';
|
||||
import NodeCredentials from '@/components/NodeCredentials.vue';
|
||||
import { mapStores } from 'pinia';
|
||||
|
|
|
@ -124,7 +124,6 @@ import { copyPaste } from '@/mixins/copyPaste';
|
|||
import { showMessage } from '@/mixins/showMessage';
|
||||
import mixins from 'vue-typed-mixins';
|
||||
import { MAX_DISPLAY_DATA_SIZE } from '@/constants';
|
||||
import { INodeUi } from '@/Interface';
|
||||
|
||||
import type { INodeProperties, INodePropertyCollection, INodePropertyOptions } from 'n8n-workflow';
|
||||
import { sanitizeHtml } from '@/utils';
|
||||
|
|
|
@ -123,7 +123,6 @@
|
|||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import mixins from 'vue-typed-mixins';
|
||||
import {
|
||||
DUPLICATE_MODAL_KEY,
|
||||
|
|
|
@ -38,7 +38,6 @@
|
|||
|
||||
<script lang="ts">
|
||||
import type { PropType } from 'vue';
|
||||
import Vue from 'vue';
|
||||
import { get } from 'lodash-es';
|
||||
|
||||
import type { INodeTypeDescription } from 'n8n-workflow';
|
||||
|
@ -49,7 +48,6 @@ import mixins from 'vue-typed-mixins';
|
|||
import { debounceHelper } from '@/mixins/debounce';
|
||||
import { mapStores } from 'pinia';
|
||||
import { useNDVStore } from '@/stores/ndv';
|
||||
import { NodePanelType } from '@/Interface';
|
||||
|
||||
const SIDE_MARGIN = 24;
|
||||
const SIDE_PANELS_MARGIN = 80;
|
||||
|
|
|
@ -183,7 +183,7 @@ import { workflowHelpers } from '@/mixins/workflowHelpers';
|
|||
import { pinData } from '@/mixins/pinData';
|
||||
|
||||
import type { INodeTypeDescription, ITaskData } from 'n8n-workflow';
|
||||
import { IDataObject, NodeHelpers } from 'n8n-workflow';
|
||||
import { NodeHelpers } from 'n8n-workflow';
|
||||
|
||||
import NodeIcon from '@/components/NodeIcon.vue';
|
||||
import TitledList from '@/components/TitledList.vue';
|
||||
|
@ -193,7 +193,6 @@ import mixins from 'vue-typed-mixins';
|
|||
import { get } from 'lodash-es';
|
||||
import { getStyleTokenValue, getTriggerNodeServiceName } from '@/utils';
|
||||
import type { IExecutionsSummary, INodeUi, XYPosition } from '@/Interface';
|
||||
import { INodeUpdatePropertiesInformation } from '@/Interface';
|
||||
import { debounceHelper } from '@/mixins/debounce';
|
||||
import { mapStores } from 'pinia';
|
||||
import { useUIStore } from '@/stores/ui';
|
||||
|
|
|
@ -78,9 +78,8 @@
|
|||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { reactive, toRefs, getCurrentInstance, computed, onUnmounted, ref } from 'vue';
|
||||
import { reactive, toRefs, getCurrentInstance, computed, onUnmounted } from 'vue';
|
||||
import type { INodeTypeDescription, INodeActionTypeDescription } from 'n8n-workflow';
|
||||
import { INodeTypeNameVersion } from 'n8n-workflow';
|
||||
import type {
|
||||
INodeCreateElement,
|
||||
NodeCreateElement,
|
||||
|
@ -97,7 +96,6 @@ import {
|
|||
STICKY_NODE_TYPE,
|
||||
REGULAR_NODE_FILTER,
|
||||
TRIGGER_NODE_FILTER,
|
||||
N8N_NODE_TYPE,
|
||||
} from '@/constants';
|
||||
import CategorizedItems from './CategorizedItems.vue';
|
||||
import { useNodeCreatorStore } from '@/stores/nodeCreator';
|
||||
|
|
|
@ -172,7 +172,6 @@ import type {
|
|||
IUpdateInformation,
|
||||
IUsedCredential,
|
||||
} from '@/Interface';
|
||||
import { ICredentialsResponse, IUser } from '@/Interface';
|
||||
|
||||
import {
|
||||
COMMUNITY_NODES_INSTALLATION_DOCS_URL,
|
||||
|
|
|
@ -100,8 +100,7 @@
|
|||
<script lang="ts">
|
||||
import type { IExecutionResponse, INodeUi } from '@/Interface';
|
||||
import type { INodeTypeDescription, IRunData, IRunExecutionData, ITaskData } from 'n8n-workflow';
|
||||
import type Vue from 'vue';
|
||||
import RunData, { EnterEditModeArgs } from './RunData.vue';
|
||||
import RunData from './RunData.vue';
|
||||
import RunInfo from './RunInfo.vue';
|
||||
import { pinData } from '@/mixins/pinData';
|
||||
import mixins from 'vue-typed-mixins';
|
||||
|
|
|
@ -339,7 +339,7 @@ import type {
|
|||
INodePropertyCollection,
|
||||
NodeParameterValueType,
|
||||
} from 'n8n-workflow';
|
||||
import { NodeHelpers, NodeParameterValue } from 'n8n-workflow';
|
||||
import { NodeHelpers } from 'n8n-workflow';
|
||||
|
||||
import CodeEdit from '@/components/CodeEdit.vue';
|
||||
import CredentialsSelect from '@/components/CredentialsSelect.vue';
|
||||
|
|
|
@ -70,7 +70,6 @@
|
|||
|
||||
<script lang="ts">
|
||||
import type { PropType } from 'vue';
|
||||
import type Vue from 'vue';
|
||||
|
||||
import type { IN8nButton, INodeUi, IRunDataDisplayMode, IUpdateInformation } from '@/Interface';
|
||||
|
||||
|
|
|
@ -43,7 +43,6 @@
|
|||
|
||||
<script lang="ts">
|
||||
import type { PropType } from 'vue';
|
||||
import type Vue from 'vue';
|
||||
|
||||
import ParameterInput from '@/components/ParameterInput.vue';
|
||||
import InputHint from './ParameterInputHint.vue';
|
||||
|
@ -55,7 +54,7 @@ import type {
|
|||
NodeParameterValue,
|
||||
NodeParameterValueType,
|
||||
} from 'n8n-workflow';
|
||||
import { IRunData, isResourceLocatorValue } from 'n8n-workflow';
|
||||
import { isResourceLocatorValue } from 'n8n-workflow';
|
||||
import type { INodeUi, IUpdateInformation, TargetItem } from '@/Interface';
|
||||
import { workflowHelpers } from '@/mixins/workflowHelpers';
|
||||
import { isValueExpression } from '@/utils';
|
||||
|
|
|
@ -146,16 +146,13 @@ import type {
|
|||
INodePropertyMode,
|
||||
NodeParameterValue,
|
||||
} from 'n8n-workflow';
|
||||
import { INodeListSearchResult } from 'n8n-workflow';
|
||||
import ExpressionParameterInput from '@/components/ExpressionParameterInput.vue';
|
||||
import DraggableTarget from '@/components/DraggableTarget.vue';
|
||||
import ExpressionEdit from '@/components/ExpressionEdit.vue';
|
||||
import ParameterIssues from '@/components/ParameterIssues.vue';
|
||||
import ResourceLocatorDropdown from './ResourceLocatorDropdown.vue';
|
||||
import type { PropType } from 'vue';
|
||||
import type Vue from 'vue';
|
||||
import type { IResourceLocatorReqParams, IResourceLocatorResultExpanded } from '@/Interface';
|
||||
import { INodeUi } from '@/Interface';
|
||||
import { debounceHelper } from '@/mixins/debounce';
|
||||
import stringify from 'fast-json-stable-stringify';
|
||||
import { workflowHelpers } from '@/mixins/workflowHelpers';
|
||||
|
|
|
@ -165,7 +165,6 @@
|
|||
import type { INodeUi, ITableData, NDVState } from '@/Interface';
|
||||
import { getPairedItemId } from '@/utils';
|
||||
import type { PropType } from 'vue';
|
||||
import type Vue from 'vue';
|
||||
import mixins from 'vue-typed-mixins';
|
||||
import type { GenericValue, IDataObject, INodeExecutionData } from 'n8n-workflow';
|
||||
import Draggable from './Draggable.vue';
|
||||
|
|
|
@ -52,7 +52,6 @@ import { EnterpriseEditionFeature } from '@/constants';
|
|||
import { showMessage } from '@/mixins/showMessage';
|
||||
import { useLogStreamingStore } from '../../stores/logStreamingStore';
|
||||
import type { PropType } from 'vue';
|
||||
import Vue from 'vue';
|
||||
import { mapStores } from 'pinia';
|
||||
import type { MessageEventBusDestinationOptions } from 'n8n-workflow';
|
||||
import { deepCopy, defaultMessageEventBusDestinationOptions } from 'n8n-workflow';
|
||||
|
|
|
@ -63,7 +63,7 @@ import { externalHooks } from '@/mixins/externalHooks';
|
|||
import { nodeBase } from '@/mixins/nodeBase';
|
||||
import { nodeHelpers } from '@/mixins/nodeHelpers';
|
||||
import { workflowHelpers } from '@/mixins/workflowHelpers';
|
||||
import { getStyleTokenValue, isNumber, isString } from '@/utils';
|
||||
import { isNumber, isString } from '@/utils';
|
||||
import type {
|
||||
INodeUi,
|
||||
INodeUpdatePropertiesInformation,
|
||||
|
@ -72,7 +72,6 @@ import type {
|
|||
} from '@/Interface';
|
||||
|
||||
import type { INodeTypeDescription } from 'n8n-workflow';
|
||||
import { IDataObject } from 'n8n-workflow';
|
||||
import { QUICKSTART_NOTE_NAME } from '@/constants';
|
||||
import { mapStores } from 'pinia';
|
||||
import { useUIStore } from '@/stores/ui';
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import Vue from 'vue';
|
||||
import mixins from 'vue-typed-mixins';
|
||||
|
||||
import type { ITag } from '@/Interface';
|
||||
|
|
|
@ -107,7 +107,6 @@ import CopyInput from './CopyInput.vue';
|
|||
import NodeIcon from './NodeIcon.vue';
|
||||
import { copyPaste } from '@/mixins/copyPaste';
|
||||
import { showMessage } from '@/mixins/showMessage';
|
||||
import type Vue from 'vue';
|
||||
import { mapStores } from 'pinia';
|
||||
import { useUIStore } from '@/stores/ui';
|
||||
import { useWorkflowsStore } from '@/stores/workflows';
|
||||
|
|
|
@ -41,7 +41,6 @@ import { WorkflowDataProxy } from 'n8n-workflow';
|
|||
|
||||
import VariableSelectorItem from '@/components/VariableSelectorItem.vue';
|
||||
import type { INodeUi, IVariableItemSelected, IVariableSelectorOption } from '@/Interface';
|
||||
import { IExecutionResponse } from '@/Interface';
|
||||
|
||||
import { workflowHelpers } from '@/mixins/workflowHelpers';
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
import type { ComponentPublicInstance, PropType } from 'vue';
|
||||
import { computed, nextTick, onMounted, ref, watch } from 'vue';
|
||||
import type { EnvironmentVariable, Rule, RuleGroup } from '@/Interface';
|
||||
import { IValidator, Validatable } from '@/Interface';
|
||||
import { useI18n, useToast, useCopyToClipboard } from '@/composables';
|
||||
import { EnterpriseEditionFeature } from '@/constants';
|
||||
import { useSettingsStore, useUsersStore } from '@/stores';
|
||||
|
|
|
@ -75,7 +75,6 @@ import type { IPermissions } from '@/permissions';
|
|||
import { getWorkflowPermissions } from '@/permissions';
|
||||
import dateformat from 'dateformat';
|
||||
import WorkflowActivator from '@/components/WorkflowActivator.vue';
|
||||
import type Vue from 'vue';
|
||||
import { mapStores } from 'pinia';
|
||||
import { useUIStore } from '@/stores/ui';
|
||||
import { useSettingsStore } from '@/stores/settings';
|
||||
|
|
|
@ -337,7 +337,6 @@ import type {
|
|||
IWorkflowSettings,
|
||||
IWorkflowShortResponse,
|
||||
} from '@/Interface';
|
||||
import { WorkflowCallerPolicyDefaultOption } from '@/Interface';
|
||||
import Modal from './Modal.vue';
|
||||
import {
|
||||
EnterpriseEditionFeature,
|
||||
|
|
|
@ -131,7 +131,6 @@ import {
|
|||
WORKFLOW_SHARE_MODAL_KEY,
|
||||
} from '../constants';
|
||||
import type { IUser, IWorkflowDb } from '@/Interface';
|
||||
import { UIState } from '@/Interface';
|
||||
import type { IPermissions } from '@/permissions';
|
||||
import { getWorkflowPermissions } from '@/permissions';
|
||||
import mixins from 'vue-typed-mixins';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { vi, describe, it, expect } from 'vitest';
|
||||
import Vue, { defineComponent } from 'vue';
|
||||
import Vue from 'vue';
|
||||
import { PiniaVuePlugin } from 'pinia';
|
||||
import { createTestingPinia } from '@pinia/testing';
|
||||
import { render } from '@testing-library/vue';
|
||||
|
|
|
@ -2,7 +2,7 @@ import { PiniaVuePlugin } from 'pinia';
|
|||
import { createLocalVue, mount } from '@vue/test-utils';
|
||||
import PersonalizationModal from '@/components/PersonalizationModal.vue';
|
||||
import { createTestingPinia } from '@pinia/testing';
|
||||
import { PERSONALIZATION_MODAL_KEY, ROLE_SALES_AND_MARKETING } from '@/constants';
|
||||
import { PERSONALIZATION_MODAL_KEY } from '@/constants';
|
||||
import { retry } from '@/__tests__/utils';
|
||||
|
||||
describe('PersonalizationModal.vue', () => {
|
||||
|
|
|
@ -190,7 +190,6 @@ import PageViewLayoutList from '@/components/layouts/PageViewLayoutList.vue';
|
|||
import { EnterpriseEditionFeature } from '@/constants';
|
||||
import TemplateCard from '@/components/TemplateCard.vue';
|
||||
import type { PropType } from 'vue';
|
||||
import type Vue from 'vue';
|
||||
import { debounceHelper } from '@/mixins/debounce';
|
||||
import ResourceOwnershipSelect from '@/components/forms/ResourceOwnershipSelect.ee.vue';
|
||||
import ResourceFiltersDropdown from '@/components/forms/ResourceFiltersDropdown.vue';
|
||||
|
|
|
@ -10,7 +10,7 @@ import {
|
|||
SIDEBAR_WIDTH,
|
||||
SIDEBAR_WIDTH_EXPANDED,
|
||||
} from '@/utils/nodeViewUtils';
|
||||
import { ref, watchEffect, onMounted, computed, onUnmounted } from 'vue';
|
||||
import { ref, onMounted, computed } from 'vue';
|
||||
import { useCanvasStore } from '@/stores/canvas';
|
||||
|
||||
interface ExtendedHTMLSpanElement extends HTMLSpanElement {
|
||||
|
|
|
@ -5,7 +5,7 @@ import { BulkCommand } from '@/models/history';
|
|||
import { useHistoryStore } from '@/stores/history';
|
||||
import { useUIStore } from '@/stores/ui';
|
||||
|
||||
import { ref, onMounted, onUnmounted, Ref, nextTick, getCurrentInstance } from 'vue';
|
||||
import { ref, onMounted, onUnmounted, nextTick, getCurrentInstance } from 'vue';
|
||||
import { Command } from '@/models/history';
|
||||
import { useDebounceHelper } from './useDebounce';
|
||||
import useDeviceSupportHelpers from './useDeviceSupport';
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
import { EnableNodeToggleCommand } from './../models/history';
|
||||
import { useHistoryStore } from '@/stores/history';
|
||||
import {
|
||||
PLACEHOLDER_FILLED_AT_EXECUTION_TIME,
|
||||
CUSTOM_API_CALL_KEY,
|
||||
EnterpriseEditionFeature,
|
||||
} from '@/constants';
|
||||
import { PLACEHOLDER_FILLED_AT_EXECUTION_TIME, CUSTOM_API_CALL_KEY } from '@/constants';
|
||||
|
||||
import type {
|
||||
IBinaryKeyData,
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
import {
|
||||
ERROR_TRIGGER_NODE_TYPE,
|
||||
PLACEHOLDER_FILLED_AT_EXECUTION_TIME,
|
||||
PLACEHOLDER_EMPTY_WORKFLOW_ID,
|
||||
START_NODE_TYPE,
|
||||
WEBHOOK_NODE_TYPE,
|
||||
VIEWS,
|
||||
EnterpriseEditionFeature,
|
||||
|
@ -27,7 +25,7 @@ import type {
|
|||
INodeConnection,
|
||||
IWebhookDescription,
|
||||
} from 'n8n-workflow';
|
||||
import { INodeTypeData, IPinData, NodeHelpers, deepCopy } from 'n8n-workflow';
|
||||
import { NodeHelpers } from 'n8n-workflow';
|
||||
|
||||
import type {
|
||||
INodeTypesMaxCount,
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
*/
|
||||
|
||||
import type { IUser, ICredentialsResponse, IWorkflowDb } from '@/Interface';
|
||||
import { IRootState, EnvironmentVariable } from '@/Interface';
|
||||
import { EnterpriseEditionFeature, PLACEHOLDER_EMPTY_WORKFLOW_ID } from '@/constants';
|
||||
import { useSettingsStore } from './stores/settings';
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import type { PointXY } from '@jsplumb/util';
|
||||
import { log, extend, quadrant } from '@jsplumb/util';
|
||||
import { quadrant } from '@jsplumb/util';
|
||||
|
||||
import type {
|
||||
Connection,
|
||||
|
|
|
@ -2,7 +2,6 @@ import Vue from 'vue';
|
|||
import axios from 'axios';
|
||||
import VueI18n from 'vue-i18n';
|
||||
import type { INodeTranslationHeaders } from '@/Interface';
|
||||
import { IRootState } from '@/Interface';
|
||||
import {
|
||||
deriveMiddleKey,
|
||||
isNestedInCollectionLike,
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
import { defineStore } from 'pinia';
|
||||
import { useSettingsStore } from '@/stores/settings';
|
||||
import { computed, ref } from 'vue';
|
||||
import type { EnvironmentVariable } from '@/Interface';
|
||||
import * as environmentsApi from '@/api/environments.ee';
|
||||
import { useRootStore } from '@/stores/n8nRootStore';
|
||||
import { createVariable } from '@/api/environments.ee';
|
||||
|
||||
export const useEnvironmentsStore = defineStore('environments', () => {
|
||||
const rootStore = useRootStore();
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
import { AddConnectionCommand, COMMANDS, RemoveConnectionCommand } from './../models/history';
|
||||
import type { Command, Undoable } from '@/models/history';
|
||||
import { BulkCommand, MoveNodeCommand } from '@/models/history';
|
||||
import { BulkCommand } from '@/models/history';
|
||||
import { STORES } from '@/constants';
|
||||
import type { HistoryState } from '@/Interface';
|
||||
import { defineStore } from 'pinia';
|
||||
|
|
|
@ -13,7 +13,6 @@ import { deepCopy } from 'n8n-workflow';
|
|||
import {
|
||||
STORES,
|
||||
MANUAL_TRIGGER_NODE_TYPE,
|
||||
CORE_NODES_CATEGORY,
|
||||
TRIGGER_NODE_FILTER,
|
||||
STICKY_NODE_TYPE,
|
||||
NODE_CREATOR_OPEN_SOURCES,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { computed, reactive, ref } from 'vue';
|
||||
import { computed, reactive } from 'vue';
|
||||
import { defineStore } from 'pinia';
|
||||
import { EnterpriseEditionFeature } from '@/constants';
|
||||
import { useRootStore } from '@/stores/n8nRootStore';
|
||||
|
|
|
@ -20,12 +20,7 @@ import {
|
|||
validatePasswordToken,
|
||||
validateSignupToken,
|
||||
} from '@/api/users';
|
||||
import {
|
||||
PERSONALIZATION_MODAL_KEY,
|
||||
USER_ACTIVATION_SURVEY_MODAL,
|
||||
STORES,
|
||||
LOCAL_STORAGE_ACTIVE_MODAL,
|
||||
} from '@/constants';
|
||||
import { PERSONALIZATION_MODAL_KEY, USER_ACTIVATION_SURVEY_MODAL, STORES } from '@/constants';
|
||||
import type {
|
||||
ICredentialsResponse,
|
||||
IInviteResponse,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { MAIN_AUTH_FIELD_NAME, NODE_RESOURCE_FIELD_NAME } from './../constants';
|
||||
import { MAIN_AUTH_FIELD_NAME } from './../constants';
|
||||
import { useWorkflowsStore } from '@/stores/workflows';
|
||||
import { useNodeTypesStore } from './../stores/nodeTypes';
|
||||
import type { INodeCredentialDescription } from './../../../workflow/src/Interfaces';
|
||||
|
@ -38,7 +38,6 @@ import type {
|
|||
import { isResourceLocatorValue, isJsonKeyObject } from '@/utils';
|
||||
import { useCredentialsStore } from '@/stores/credentials';
|
||||
import { i18n as locale } from '@/plugins/i18n';
|
||||
import { useSettingsStore } from '@/stores/settings';
|
||||
|
||||
/*
|
||||
Constants and utility functions mainly used to get information about
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
import { getStyleTokenValue } from '@/utils/htmlUtils';
|
||||
import { isNumber } from '@/utils';
|
||||
import { NODE_OUTPUT_DEFAULT_KEY, STICKY_NODE_TYPE, QUICKSTART_NOTE_NAME } from '@/constants';
|
||||
import { NODE_OUTPUT_DEFAULT_KEY, STICKY_NODE_TYPE } from '@/constants';
|
||||
import type { EndpointStyle, IBounds, INodeUi, XYPosition } from '@/Interface';
|
||||
import type { ArrayAnchorSpec, ConnectorSpec, OverlaySpec, PaintStyle } from '@jsplumb/common';
|
||||
import type { Endpoint, Connection } from '@jsplumb/core';
|
||||
import { ConnectionEstablishedParams } from '@jsplumb/core';
|
||||
import { N8nConnector } from '@/plugins/connectors/N8nCustomConnector';
|
||||
import { closestNumberDivisibleBy } from '@/utils';
|
||||
import type {
|
||||
|
|
|
@ -4,8 +4,6 @@ import { jsonParse } from 'n8n-workflow';
|
|||
import type { Schema, Optional, Primitives } from '@/Interface';
|
||||
import { isObj } from '@/utils/typeGuards';
|
||||
import { generatePath } from '@/utils/mappingUtils';
|
||||
import { DateTime } from 'luxon';
|
||||
import { useWorkflowsStore } from '@/stores/workflows';
|
||||
|
||||
/*
|
||||
Constants and utility functions than can be used to manipulate different data types and objects
|
||||
|
|
|
@ -46,7 +46,6 @@
|
|||
<script lang="ts">
|
||||
import { showMessage } from '@/mixins/showMessage';
|
||||
import type { ICredentialsResponse, ICredentialTypeMap } from '@/Interface';
|
||||
import { IUser } from '@/Interface';
|
||||
import mixins from 'vue-typed-mixins';
|
||||
|
||||
import SettingsView from './SettingsView.vue';
|
||||
|
|
|
@ -198,7 +198,6 @@ import {
|
|||
WEBHOOK_NODE_TYPE,
|
||||
TRIGGER_NODE_FILTER,
|
||||
EnterpriseEditionFeature,
|
||||
ASSUMPTION_EXPERIMENT,
|
||||
REGULAR_NODE_FILTER,
|
||||
MANUAL_TRIGGER_NODE_TYPE,
|
||||
NODE_CREATOR_OPEN_SOURCES,
|
||||
|
|
|
@ -67,7 +67,6 @@ import { useCommunityNodesStore } from '@/stores/communityNodes';
|
|||
import { useUIStore } from '@/stores/ui';
|
||||
import { mapStores } from 'pinia';
|
||||
import { useSettingsStore } from '@/stores/settings';
|
||||
import { BaseTextKey } from '@/plugins/i18n';
|
||||
|
||||
const PACKAGE_COUNT_THRESHOLD = 31;
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
|
||||
<script lang="ts">
|
||||
import { showMessage } from '@/mixins/showMessage';
|
||||
import { CHANGE_PASSWORD_MODAL_KEY, SignInType } from '@/constants';
|
||||
import { CHANGE_PASSWORD_MODAL_KEY } from '@/constants';
|
||||
import type { IFormInputs, IUser } from '@/Interface';
|
||||
import { useUIStore } from '@/stores/ui';
|
||||
import { useUsersStore } from '@/stores/users';
|
||||
|
|
|
@ -70,7 +70,6 @@ import { mapStores } from 'pinia';
|
|||
import { useUIStore } from '@/stores/ui';
|
||||
import { useSettingsStore } from '@/stores/settings';
|
||||
import { useUsersStore } from '@/stores/users';
|
||||
import { BaseTextKey } from '@/plugins/i18n';
|
||||
import { useUsageStore } from '@/stores/usage';
|
||||
import { useSSOStore } from '@/stores/sso';
|
||||
|
||||
|
|
|
@ -98,7 +98,7 @@ import PageViewLayout from '@/components/layouts/PageViewLayout.vue';
|
|||
import PageViewLayoutList from '@/components/layouts/PageViewLayoutList.vue';
|
||||
import WorkflowCard from '@/components/WorkflowCard.vue';
|
||||
import TemplateCard from '@/components/TemplateCard.vue';
|
||||
import { EnterpriseEditionFeature, ASSUMPTION_EXPERIMENT, VIEWS } from '@/constants';
|
||||
import { EnterpriseEditionFeature, VIEWS } from '@/constants';
|
||||
import { debounceHelper } from '@/mixins/debounce';
|
||||
import type Vue from 'vue';
|
||||
import type { ITag, IUser, IWorkflowDb } from '@/Interface';
|
||||
|
@ -109,7 +109,6 @@ import { useSettingsStore } from '@/stores/settings';
|
|||
import { useUsersStore } from '@/stores/users';
|
||||
import { useWorkflowsStore } from '@/stores/workflows';
|
||||
import { useCredentialsStore } from '@/stores/credentials';
|
||||
import { usePostHog } from '@/stores/posthog';
|
||||
|
||||
type IResourcesListLayoutInstance = Vue & { sendFiltersTelemetry: (source: string) => void };
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
import { afterAll, beforeAll } from 'vitest';
|
||||
import { setActivePinia, createPinia } from 'pinia';
|
||||
import { setupServer } from '@/__tests__/server';
|
||||
import { render } from '@testing-library/vue';
|
||||
import VariablesView from '@/views/VariablesView.vue';
|
||||
import { useSettingsStore, useUsersStore } from '@/stores';
|
||||
import { renderComponent } from '@/__tests__/utils';
|
||||
|
|
|
@ -18,7 +18,6 @@ import {
|
|||
} from './constants';
|
||||
import type { IDataset } from './types';
|
||||
|
||||
import _ from 'lodash';
|
||||
export class QuickChart implements INodeType {
|
||||
description: INodeTypeDescription = {
|
||||
displayName: 'QuickChart',
|
||||
|
|
|
@ -154,6 +154,9 @@ importers:
|
|||
eslint-plugin-unicorn:
|
||||
specifier: ~46.0
|
||||
version: 46.0.0(eslint@8.39.0)
|
||||
eslint-plugin-unused-imports:
|
||||
specifier: ~2.0
|
||||
version: 2.0.0(@typescript-eslint/eslint-plugin@5.59.0)(eslint@8.39.0)
|
||||
eslint-plugin-vue:
|
||||
specifier: ~7.17
|
||||
version: 7.17.0(eslint@8.39.0)
|
||||
|
@ -945,7 +948,7 @@ importers:
|
|||
version: 2.8.3
|
||||
prismjs:
|
||||
specifier: ^1.17.1
|
||||
version: 1.29.0
|
||||
version: 1.17.1
|
||||
stream-browserify:
|
||||
specifier: ^3.0.0
|
||||
version: 3.0.0
|
||||
|
@ -1087,7 +1090,7 @@ importers:
|
|||
version: 4.0.4(@types/node@16.18.12)(sass@1.55.0)(terser@5.16.1)
|
||||
vite-plugin-monaco-editor:
|
||||
specifier: ^1.0.10
|
||||
version: 1.1.0(monaco-editor@0.33.0)
|
||||
version: 1.0.10(monaco-editor@0.33.0)
|
||||
vitest:
|
||||
specifier: ^0.28.5
|
||||
version: 0.28.5(sass@1.55.0)(terser@5.16.1)
|
||||
|
@ -9370,6 +9373,15 @@ packages:
|
|||
safe-buffer: 5.2.1
|
||||
dev: false
|
||||
|
||||
/clipboard@2.0.11:
|
||||
resolution: {integrity: sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==}
|
||||
dependencies:
|
||||
good-listener: 1.2.2
|
||||
select: 1.1.2
|
||||
tiny-emitter: 2.1.0
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/cliui@3.2.0:
|
||||
resolution: {integrity: sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==}
|
||||
dependencies:
|
||||
|
@ -10528,6 +10540,11 @@ packages:
|
|||
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
|
||||
engines: {node: '>=0.4.0'}
|
||||
|
||||
/delegate@3.2.0:
|
||||
resolution: {integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/delegates@1.0.0:
|
||||
resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
|
||||
|
||||
|
@ -11405,6 +11422,21 @@ packages:
|
|||
strip-indent: 3.0.0
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.59.0)(eslint@8.39.0):
|
||||
resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
'@typescript-eslint/eslint-plugin': ^5.0.0
|
||||
eslint: ^8.0.0
|
||||
peerDependenciesMeta:
|
||||
'@typescript-eslint/eslint-plugin':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/eslint-plugin': 5.59.0(patch_hash=tk3n6hvmqwfzrfqe3awfxnqtuy)(@typescript-eslint/parser@5.59.0)(eslint@8.39.0)(typescript@5.0.3)
|
||||
eslint: 8.39.0
|
||||
eslint-rule-composer: 0.3.0
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-vue@7.17.0(eslint@8.39.0):
|
||||
resolution: {integrity: sha512-Rq5R2QetDCgC+kBFQw1+aJ5B93tQ4xqZvoCUxuIzwTonngNArsdP8ChM8PowIzsJvRtWl4ltGh/bZcN3xhFWSw==}
|
||||
engines: {node: '>=8.10'}
|
||||
|
@ -11420,6 +11452,11 @@ packages:
|
|||
- supports-color
|
||||
dev: true
|
||||
|
||||
/eslint-rule-composer@0.3.0:
|
||||
resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==}
|
||||
engines: {node: '>=4.0.0'}
|
||||
dev: true
|
||||
|
||||
/eslint-scope@5.1.1:
|
||||
resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
|
||||
engines: {node: '>=8.0.0'}
|
||||
|
@ -12787,6 +12824,13 @@ packages:
|
|||
- supports-color
|
||||
dev: false
|
||||
|
||||
/good-listener@1.2.2:
|
||||
resolution: {integrity: sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==}
|
||||
dependencies:
|
||||
delegate: 3.2.0
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/google-timezones-json@1.1.0:
|
||||
resolution: {integrity: sha512-6BmBx9gJVALV2jsfMks8PwmkWT5ip3+bmMyTgXu4PY+G8nKjHi61yrL7rSXpMYRsIzUXhVKpj+MnjhnwG9nung==}
|
||||
dev: false
|
||||
|
@ -17768,9 +17812,10 @@ packages:
|
|||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/prismjs@1.29.0:
|
||||
resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
|
||||
engines: {node: '>=6'}
|
||||
/prismjs@1.17.1:
|
||||
resolution: {integrity: sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==}
|
||||
optionalDependencies:
|
||||
clipboard: 2.0.11
|
||||
dev: false
|
||||
|
||||
/process-nextick-args@2.0.1:
|
||||
|
@ -19030,6 +19075,11 @@ packages:
|
|||
parseley: 0.7.0
|
||||
dev: false
|
||||
|
||||
/select@1.1.2:
|
||||
resolution: {integrity: sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/semver-greatest-satisfied-range@1.1.0:
|
||||
resolution: {integrity: sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==}
|
||||
engines: {node: '>= 0.10'}
|
||||
|
@ -20320,6 +20370,11 @@ packages:
|
|||
resolution: {integrity: sha512-a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w==}
|
||||
dev: false
|
||||
|
||||
/tiny-emitter@2.1.0:
|
||||
resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/tiny-glob@0.2.9:
|
||||
resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
|
||||
dependencies:
|
||||
|
@ -21403,10 +21458,10 @@ packages:
|
|||
- terser
|
||||
dev: true
|
||||
|
||||
/vite-plugin-monaco-editor@1.1.0(monaco-editor@0.33.0):
|
||||
resolution: {integrity: sha512-IvtUqZotrRoVqwT0PBBDIZPNraya3BxN/bfcNfnxZ5rkJiGcNtO5eAOWWSgT7zullIAEqQwxMU83yL9J5k7gww==}
|
||||
/vite-plugin-monaco-editor@1.0.10(monaco-editor@0.33.0):
|
||||
resolution: {integrity: sha512-7yTAFIE0SefjCmfnjrvXOl53wkxeSASc/ZIcB5tZeEK3vAmHhveV8y3f90Vp8b+PYdbUipjqf91mbFbSENkpcw==}
|
||||
peerDependencies:
|
||||
monaco-editor: '>=0.33.0'
|
||||
monaco-editor: 0.29.x
|
||||
dependencies:
|
||||
monaco-editor: 0.33.0
|
||||
dev: true
|
||||
|
|
Loading…
Reference in a new issue