mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-24 20:24:05 -08:00
ci: Fix linting issues (no-changelog) (#6788)
* ci: Fix linting (no-changelog) * lintfix for nodes-base as well
This commit is contained in:
parent
4e491b754f
commit
6fb8a9ee39
|
@ -52,7 +52,7 @@
|
||||||
"nock": "^13.3.2",
|
"nock": "^13.3.2",
|
||||||
"nodemon": "^3.0.1",
|
"nodemon": "^3.0.1",
|
||||||
"p-limit": "^3.1.0",
|
"p-limit": "^3.1.0",
|
||||||
"prettier": "*",
|
"prettier": "^3.0.0",
|
||||||
"rimraf": "^5.0.1",
|
"rimraf": "^5.0.1",
|
||||||
"run-script-os": "^1.0.7",
|
"run-script-os": "^1.0.7",
|
||||||
"start-server-and-test": "^2.0.0",
|
"start-server-and-test": "^2.0.0",
|
||||||
|
@ -73,7 +73,6 @@
|
||||||
"@types/node": "^18.16.16",
|
"@types/node": "^18.16.16",
|
||||||
"chokidar": "3.5.2",
|
"chokidar": "3.5.2",
|
||||||
"jsonwebtoken": "9.0.0",
|
"jsonwebtoken": "9.0.0",
|
||||||
"prettier": "^3.0.0",
|
|
||||||
"semver": "^7.5.4",
|
"semver": "^7.5.4",
|
||||||
"tough-cookie": "^4.1.3",
|
"tough-cookie": "^4.1.3",
|
||||||
"tslib": "^2.6.1",
|
"tslib": "^2.6.1",
|
||||||
|
|
|
@ -18,7 +18,14 @@ module.exports = {
|
||||||
// TODO: Remove this
|
// TODO: Remove this
|
||||||
'import/no-cycle': 'warn',
|
'import/no-cycle': 'warn',
|
||||||
'import/order': 'off',
|
'import/order': 'off',
|
||||||
'import/extensions': 'off',
|
'import/extensions': 'warn',
|
||||||
'@typescript-eslint/ban-ts-comment': ['warn', { 'ts-ignore': true }],
|
'@typescript-eslint/ban-ts-comment': ['warn', { 'ts-ignore': true }],
|
||||||
|
'@typescript-eslint/no-explicit-any': 'warn',
|
||||||
|
'@typescript-eslint/no-base-to-string': 'warn',
|
||||||
|
'@typescript-eslint/prefer-nullish-coalescing': 'warn',
|
||||||
|
'@typescript-eslint/no-redundant-type-constituents': 'warn',
|
||||||
|
'@typescript-eslint/ban-types': 'warn',
|
||||||
|
'@typescript-eslint/no-unsafe-enum-comparison': 'warn',
|
||||||
|
'@typescript-eslint/no-unsafe-declaration-merging': 'warn',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -58,13 +58,16 @@ import type { WorkflowEntity } from '@db/entities/WorkflowEntity';
|
||||||
import type { WebhookEntity } from '@db/entities/WebhookEntity';
|
import type { WebhookEntity } from '@db/entities/WebhookEntity';
|
||||||
import { ActiveExecutions } from '@/ActiveExecutions';
|
import { ActiveExecutions } from '@/ActiveExecutions';
|
||||||
import { createErrorExecution } from '@/GenericHelpers';
|
import { createErrorExecution } from '@/GenericHelpers';
|
||||||
import { WORKFLOW_REACTIVATE_INITIAL_TIMEOUT, WORKFLOW_REACTIVATE_MAX_TIMEOUT } from '@/constants';
|
import {
|
||||||
|
STARTING_NODES,
|
||||||
|
WORKFLOW_REACTIVATE_INITIAL_TIMEOUT,
|
||||||
|
WORKFLOW_REACTIVATE_MAX_TIMEOUT,
|
||||||
|
} from '@/constants';
|
||||||
import { NodeTypes } from '@/NodeTypes';
|
import { NodeTypes } from '@/NodeTypes';
|
||||||
import { WorkflowRunner } from '@/WorkflowRunner';
|
import { WorkflowRunner } from '@/WorkflowRunner';
|
||||||
import { ExternalHooks } from '@/ExternalHooks';
|
import { ExternalHooks } from '@/ExternalHooks';
|
||||||
import { whereClause } from './UserManagement/UserManagementHelper';
|
import { whereClause } from './UserManagement/UserManagementHelper';
|
||||||
import { WorkflowsService } from './workflows/workflows.services';
|
import { WorkflowsService } from './workflows/workflows.services';
|
||||||
import { STARTING_NODES } from './constants';
|
|
||||||
import { webhookNotFoundErrorMessage } from './utils';
|
import { webhookNotFoundErrorMessage } from './utils';
|
||||||
import { In } from 'typeorm';
|
import { In } from 'typeorm';
|
||||||
import { WebhookRepository } from '@db/repositories';
|
import { WebhookRepository } from '@db/repositories';
|
||||||
|
|
|
@ -172,7 +172,7 @@ export class CredentialsHelper extends ICredentialsHelper {
|
||||||
(property) => property.type === 'hidden' && property?.typeOptions?.expirable === true,
|
(property) => property.type === 'hidden' && property?.typeOptions?.expirable === true,
|
||||||
);
|
);
|
||||||
|
|
||||||
if (expirableProperty === undefined || expirableProperty.name === undefined) {
|
if (expirableProperty?.name === undefined) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import config from '@/config';
|
import config from '@/config';
|
||||||
import type { ICredentialDataDecryptedObject, ICredentialTypes } from 'n8n-workflow';
|
import type { ICredentialDataDecryptedObject } from 'n8n-workflow';
|
||||||
import { deepCopy, LoggerProxy as Logger, jsonParse } from 'n8n-workflow';
|
import { deepCopy, LoggerProxy as Logger, jsonParse, ICredentialTypes } from 'n8n-workflow';
|
||||||
import type { ICredentialsOverwrite } from '@/Interfaces';
|
import type { ICredentialsOverwrite } from '@/Interfaces';
|
||||||
|
|
||||||
class CredentialsOverwritesClass {
|
class CredentialsOverwritesClass {
|
||||||
|
|
|
@ -35,7 +35,10 @@ export class TestWebhooks {
|
||||||
};
|
};
|
||||||
} = {};
|
} = {};
|
||||||
|
|
||||||
constructor(private activeWebhooks: ActiveWebhooks, private push: Push) {
|
constructor(
|
||||||
|
private activeWebhooks: ActiveWebhooks,
|
||||||
|
private push: Push,
|
||||||
|
) {
|
||||||
activeWebhooks.testWebhooks = true;
|
activeWebhooks.testWebhooks = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,10 @@ import { ExecutionRepository } from '@db/repositories';
|
||||||
|
|
||||||
@Service()
|
@Service()
|
||||||
export class WaitingWebhooks {
|
export class WaitingWebhooks {
|
||||||
constructor(private nodeTypes: NodeTypes, private executionRepository: ExecutionRepository) {}
|
constructor(
|
||||||
|
private nodeTypes: NodeTypes,
|
||||||
|
private executionRepository: ExecutionRepository,
|
||||||
|
) {}
|
||||||
|
|
||||||
async executeWebhook(
|
async executeWebhook(
|
||||||
httpMethod: WebhookHttpMethod,
|
httpMethod: WebhookHttpMethod,
|
||||||
|
|
|
@ -70,11 +70,7 @@ export class Execute extends BaseCommand {
|
||||||
|
|
||||||
// Do a basic check if the data in the file looks right
|
// Do a basic check if the data in the file looks right
|
||||||
// TODO: Later check with the help of TypeScript data if it is valid or not
|
// TODO: Later check with the help of TypeScript data if it is valid or not
|
||||||
if (
|
if (workflowData?.nodes === undefined || workflowData.connections === undefined) {
|
||||||
workflowData === null ||
|
|
||||||
workflowData.nodes === undefined ||
|
|
||||||
workflowData.connections === undefined
|
|
||||||
) {
|
|
||||||
this.logger.info(`The file "${flags.file}" does not contain valid workflow data.`);
|
this.logger.info(`The file "${flags.file}" does not contain valid workflow data.`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,10 @@ export declare namespace TranslationRequest {
|
||||||
@Authorized()
|
@Authorized()
|
||||||
@RestController('/')
|
@RestController('/')
|
||||||
export class TranslationController {
|
export class TranslationController {
|
||||||
constructor(private config: Config, private credentialTypes: ICredentialTypes) {}
|
constructor(
|
||||||
|
private config: Config,
|
||||||
|
private credentialTypes: ICredentialTypes,
|
||||||
|
) {}
|
||||||
|
|
||||||
@Get('/credential-translation')
|
@Get('/credential-translation')
|
||||||
async getCredentialTranslation(req: TranslationRequest.Credential) {
|
async getCredentialTranslation(req: TranslationRequest.Credential) {
|
||||||
|
|
|
@ -3,7 +3,7 @@ import { DateTime } from 'luxon';
|
||||||
import type { EventMessageTypeNames, JsonObject } from 'n8n-workflow';
|
import type { EventMessageTypeNames, JsonObject } from 'n8n-workflow';
|
||||||
import { v4 as uuid } from 'uuid';
|
import { v4 as uuid } from 'uuid';
|
||||||
import type { AbstractEventPayload } from './AbstractEventPayload';
|
import type { AbstractEventPayload } from './AbstractEventPayload';
|
||||||
import type { AbstractEventMessageOptions } from './AbstractEventMessageOptions';
|
import { AbstractEventMessageOptions } from './AbstractEventMessageOptions';
|
||||||
import type { EventNamesTypes } from '.';
|
import type { EventNamesTypes } from '.';
|
||||||
|
|
||||||
function modifyUnderscoredKeys(
|
function modifyUnderscoredKeys(
|
||||||
|
|
|
@ -1,12 +1,17 @@
|
||||||
import { v4 as uuid } from 'uuid';
|
import { v4 as uuid } from 'uuid';
|
||||||
import type { INodeCredentials, MessageEventBusDestinationOptions } from 'n8n-workflow';
|
import type { INodeCredentials } from 'n8n-workflow';
|
||||||
import { LoggerProxy, MessageEventBusDestinationTypeNames } from 'n8n-workflow';
|
import {
|
||||||
|
LoggerProxy,
|
||||||
|
MessageEventBusDestinationTypeNames,
|
||||||
|
MessageEventBusDestinationOptions,
|
||||||
|
} from 'n8n-workflow';
|
||||||
import * as Db from '@/Db';
|
import * as Db from '@/Db';
|
||||||
import type { AbstractEventMessage } from '../EventMessageClasses/AbstractEventMessage';
|
import type { AbstractEventMessage } from '../EventMessageClasses/AbstractEventMessage';
|
||||||
import type { EventMessageTypes } from '../EventMessageClasses';
|
import type { EventMessageTypes } from '../EventMessageClasses';
|
||||||
import type { DeleteResult, InsertResult } from 'typeorm';
|
import type { DeleteResult, InsertResult } from 'typeorm';
|
||||||
import type { EventMessageConfirmSource } from '../EventMessageClasses/EventMessageConfirm';
|
import type { EventMessageConfirmSource } from '../EventMessageClasses/EventMessageConfirm';
|
||||||
import type { MessageEventBus, MessageWithCallback } from '../MessageEventBus/MessageEventBus';
|
import { MessageEventBus } from '../MessageEventBus/MessageEventBus';
|
||||||
|
import type { MessageWithCallback } from '../MessageEventBus/MessageEventBus';
|
||||||
|
|
||||||
export abstract class MessageEventBusDestination implements MessageEventBusDestinationOptions {
|
export abstract class MessageEventBusDestination implements MessageEventBusDestinationOptions {
|
||||||
// Since you can't have static abstract functions - this just serves as a reminder that you need to implement these. Please.
|
// Since you can't have static abstract functions - this just serves as a reminder that you need to implement these. Please.
|
||||||
|
|
|
@ -3,15 +3,17 @@
|
||||||
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
||||||
import { MessageEventBusDestination } from './MessageEventBusDestination.ee';
|
import { MessageEventBusDestination } from './MessageEventBusDestination.ee';
|
||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import { LoggerProxy, MessageEventBusDestinationTypeNames } from 'n8n-workflow';
|
import {
|
||||||
import type {
|
LoggerProxy,
|
||||||
MessageEventBusDestinationOptions,
|
MessageEventBusDestinationTypeNames,
|
||||||
MessageEventBusDestinationSentryOptions,
|
MessageEventBusDestinationSentryOptions,
|
||||||
} from 'n8n-workflow';
|
} from 'n8n-workflow';
|
||||||
|
import type { MessageEventBusDestinationOptions } from 'n8n-workflow';
|
||||||
import { isLogStreamingEnabled } from '../MessageEventBus/MessageEventBusHelper';
|
import { isLogStreamingEnabled } from '../MessageEventBus/MessageEventBusHelper';
|
||||||
import { eventMessageGenericDestinationTestEvent } from '../EventMessageClasses/EventMessageGeneric';
|
import { eventMessageGenericDestinationTestEvent } from '../EventMessageClasses/EventMessageGeneric';
|
||||||
import { N8N_VERSION } from '@/constants';
|
import { N8N_VERSION } from '@/constants';
|
||||||
import type { MessageEventBus, MessageWithCallback } from '../MessageEventBus/MessageEventBus';
|
import { MessageEventBus } from '../MessageEventBus/MessageEventBus';
|
||||||
|
import type { MessageWithCallback } from '../MessageEventBus/MessageEventBus';
|
||||||
|
|
||||||
export const isMessageEventBusDestinationSentryOptions = (
|
export const isMessageEventBusDestinationSentryOptions = (
|
||||||
candidate: unknown,
|
candidate: unknown,
|
||||||
|
|
|
@ -2,15 +2,17 @@
|
||||||
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
||||||
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
||||||
import syslog from 'syslog-client';
|
import syslog from 'syslog-client';
|
||||||
import type {
|
import type { MessageEventBusDestinationOptions } from 'n8n-workflow';
|
||||||
MessageEventBusDestinationOptions,
|
import {
|
||||||
|
LoggerProxy,
|
||||||
|
MessageEventBusDestinationTypeNames,
|
||||||
MessageEventBusDestinationSyslogOptions,
|
MessageEventBusDestinationSyslogOptions,
|
||||||
} from 'n8n-workflow';
|
} from 'n8n-workflow';
|
||||||
import { LoggerProxy, MessageEventBusDestinationTypeNames } from 'n8n-workflow';
|
|
||||||
import { MessageEventBusDestination } from './MessageEventBusDestination.ee';
|
import { MessageEventBusDestination } from './MessageEventBusDestination.ee';
|
||||||
import { isLogStreamingEnabled } from '../MessageEventBus/MessageEventBusHelper';
|
import { isLogStreamingEnabled } from '../MessageEventBus/MessageEventBusHelper';
|
||||||
import { eventMessageGenericDestinationTestEvent } from '../EventMessageClasses/EventMessageGeneric';
|
import { eventMessageGenericDestinationTestEvent } from '../EventMessageClasses/EventMessageGeneric';
|
||||||
import type { MessageEventBus, MessageWithCallback } from '../MessageEventBus/MessageEventBus';
|
import { MessageEventBus } from '../MessageEventBus/MessageEventBus';
|
||||||
|
import type { MessageWithCallback } from '../MessageEventBus/MessageEventBus';
|
||||||
|
|
||||||
export const isMessageEventBusDestinationSyslogOptions = (
|
export const isMessageEventBusDestinationSyslogOptions = (
|
||||||
candidate: unknown,
|
candidate: unknown,
|
||||||
|
|
|
@ -40,7 +40,10 @@ export class Telemetry {
|
||||||
|
|
||||||
private executionCountsBuffer: IExecutionsBuffer = {};
|
private executionCountsBuffer: IExecutionsBuffer = {};
|
||||||
|
|
||||||
constructor(private postHog: PostHogClient, private license: License) {}
|
constructor(
|
||||||
|
private postHog: PostHogClient,
|
||||||
|
private license: License,
|
||||||
|
) {}
|
||||||
|
|
||||||
setInstanceId(instanceId: string) {
|
setInstanceId(instanceId: string) {
|
||||||
this.instanceId = instanceId;
|
this.instanceId = instanceId;
|
||||||
|
@ -70,9 +73,12 @@ export class Telemetry {
|
||||||
}
|
}
|
||||||
|
|
||||||
private startPulse() {
|
private startPulse() {
|
||||||
this.pulseIntervalReference = setInterval(async () => {
|
this.pulseIntervalReference = setInterval(
|
||||||
|
async () => {
|
||||||
void this.pulse();
|
void this.pulse();
|
||||||
}, 6 * 60 * 60 * 1000); // every 6 hours
|
},
|
||||||
|
6 * 60 * 60 * 1000,
|
||||||
|
); // every 6 hours
|
||||||
}
|
}
|
||||||
|
|
||||||
private async pulse(): Promise<unknown> {
|
private async pulse(): Promise<unknown> {
|
||||||
|
|
|
@ -169,8 +169,7 @@ workflowsController.get(
|
||||||
|
|
||||||
// Do a very basic check if it is really a n8n-workflow-json
|
// Do a very basic check if it is really a n8n-workflow-json
|
||||||
if (
|
if (
|
||||||
workflowData === undefined ||
|
workflowData?.nodes === undefined ||
|
||||||
workflowData.nodes === undefined ||
|
|
||||||
!Array.isArray(workflowData.nodes) ||
|
!Array.isArray(workflowData.nodes) ||
|
||||||
workflowData.connections === undefined ||
|
workflowData.connections === undefined ||
|
||||||
typeof workflowData.connections !== 'object' ||
|
typeof workflowData.connections !== 'object' ||
|
||||||
|
|
|
@ -90,9 +90,8 @@ export class EEWorkflowsService extends WorkflowsService {
|
||||||
}
|
}
|
||||||
|
|
||||||
static addOwnerId(workflow: WorkflowForList, workflowOwnerRole: Role): void {
|
static addOwnerId(workflow: WorkflowForList, workflowOwnerRole: Role): void {
|
||||||
const ownerId = workflow.shared?.find(
|
const ownerId = workflow.shared?.find(({ roleId }) => String(roleId) === workflowOwnerRole.id)
|
||||||
({ roleId }) => String(roleId) === workflowOwnerRole.id,
|
?.userId;
|
||||||
)?.userId;
|
|
||||||
workflow.ownedBy = ownerId ? { id: ownerId } : null;
|
workflow.ownedBy = ownerId ? { id: ownerId } : null;
|
||||||
delete workflow.shared;
|
delete workflow.shared;
|
||||||
}
|
}
|
||||||
|
|
|
@ -577,7 +577,7 @@ export const getBootstrapDBOptions = (type: TestDBType) =>
|
||||||
name: type,
|
name: type,
|
||||||
database: type,
|
database: type,
|
||||||
...baseOptions(type),
|
...baseOptions(type),
|
||||||
} as const);
|
}) as const;
|
||||||
|
|
||||||
const getDBOptions = (type: TestDBType, name: string) => ({
|
const getDBOptions = (type: TestDBType, name: string) => ({
|
||||||
type,
|
type,
|
||||||
|
|
|
@ -185,7 +185,7 @@ export class BinaryDataManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
async duplicateBinaryData(
|
async duplicateBinaryData(
|
||||||
inputData: Array<INodeExecutionData[] | null> | unknown,
|
inputData: Array<INodeExecutionData[] | null>,
|
||||||
executionId: string,
|
executionId: string,
|
||||||
): Promise<INodeExecutionData[][]> {
|
): Promise<INodeExecutionData[][]> {
|
||||||
if (inputData && this.managers[this.binaryDataMode]) {
|
if (inputData && this.managers[this.binaryDataMode]) {
|
||||||
|
|
|
@ -77,7 +77,7 @@ export async function getEncryptionKey(): Promise<string> {
|
||||||
|
|
||||||
const userSettings = await getUserSettings();
|
const userSettings = await getUserSettings();
|
||||||
|
|
||||||
if (userSettings === undefined || userSettings.encryptionKey === undefined) {
|
if (userSettings?.encryptionKey === undefined) {
|
||||||
throw new Error(RESPONSE_ERROR_MESSAGES.NO_ENCRYPTION_KEY);
|
throw new Error(RESPONSE_ERROR_MESSAGES.NO_ENCRYPTION_KEY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,13 +12,13 @@ module.exports = {
|
||||||
'n8n-local-rules/dangerously-use-html-string-missing': 'off',
|
'n8n-local-rules/dangerously-use-html-string-missing': 'off',
|
||||||
|
|
||||||
// TODO: Remove these
|
// TODO: Remove these
|
||||||
'import/no-default-export': 'off',
|
'import/no-default-export': 'warn',
|
||||||
'import/order': 'off',
|
'import/order': 'off',
|
||||||
'@typescript-eslint/no-unsafe-argument': 'warn',
|
'@typescript-eslint/no-unsafe-argument': 'warn',
|
||||||
'@typescript-eslint/no-unsafe-return': 'warn',
|
'@typescript-eslint/no-unsafe-return': 'warn',
|
||||||
'@typescript-eslint/no-unsafe-member-access': 'warn',
|
'@typescript-eslint/no-unsafe-member-access': 'warn',
|
||||||
'@typescript-eslint/prefer-optional-chain': 'off',
|
'@typescript-eslint/prefer-optional-chain': 'warn',
|
||||||
'@typescript-eslint/prefer-nullish-coalescing': 'off',
|
'@typescript-eslint/prefer-nullish-coalescing': 'warn',
|
||||||
},
|
},
|
||||||
|
|
||||||
overrides: [
|
overrides: [
|
||||||
|
|
|
@ -10,45 +10,45 @@ module.exports = {
|
||||||
|
|
||||||
rules: {
|
rules: {
|
||||||
// TODO: Remove these
|
// TODO: Remove these
|
||||||
'id-denylist': 'off',
|
'id-denylist': 'warn',
|
||||||
'import/extensions': 'off',
|
'import/extensions': 'warn',
|
||||||
'import/no-default-export': 'off',
|
'import/no-default-export': 'warn',
|
||||||
'import/no-extraneous-dependencies': 'off',
|
'import/no-extraneous-dependencies': 'warn',
|
||||||
'import/order': 'off',
|
'import/order': 'off',
|
||||||
'import/no-cycle': 'warn',
|
'import/no-cycle': 'warn',
|
||||||
'import/no-duplicates': 'off',
|
'import/no-duplicates': 'warn',
|
||||||
indent: 'off',
|
indent: 'warn',
|
||||||
'@typescript-eslint/ban-types': 'off',
|
'@typescript-eslint/ban-types': 'warn',
|
||||||
'@typescript-eslint/dot-notation': 'off',
|
'@typescript-eslint/dot-notation': 'warn',
|
||||||
'@typescript-eslint/lines-between-class-members': 'off',
|
'@typescript-eslint/lines-between-class-members': 'warn',
|
||||||
'@typescript-eslint/member-delimiter-style': 'off',
|
'@typescript-eslint/member-delimiter-style': 'warn',
|
||||||
'@typescript-eslint/naming-convention': 'off',
|
'@typescript-eslint/naming-convention': 'warn',
|
||||||
'@typescript-eslint/no-empty-interface': 'off',
|
'@typescript-eslint/no-empty-interface': 'warn',
|
||||||
'@typescript-eslint/no-for-in-array': 'off',
|
'@typescript-eslint/no-for-in-array': 'warn',
|
||||||
'@typescript-eslint/no-loop-func': 'off',
|
'@typescript-eslint/no-loop-func': 'warn',
|
||||||
'@typescript-eslint/no-non-null-assertion': 'off',
|
'@typescript-eslint/no-non-null-assertion': 'warn',
|
||||||
'@typescript-eslint/no-shadow': 'off',
|
'@typescript-eslint/no-shadow': 'warn',
|
||||||
'@typescript-eslint/no-this-alias': 'off',
|
'@typescript-eslint/no-this-alias': 'warn',
|
||||||
'@typescript-eslint/no-unnecessary-boolean-literal-compare': 'off',
|
'@typescript-eslint/no-unnecessary-boolean-literal-compare': 'warn',
|
||||||
'@typescript-eslint/no-unnecessary-type-assertion': 'off',
|
'@typescript-eslint/no-unnecessary-type-assertion': 'warn',
|
||||||
'@typescript-eslint/no-unsafe-argument': 'off',
|
'@typescript-eslint/no-unsafe-argument': 'warn',
|
||||||
'@typescript-eslint/no-unsafe-assignment': 'off',
|
'@typescript-eslint/no-unsafe-assignment': 'warn',
|
||||||
'@typescript-eslint/no-unsafe-call': 'off',
|
'@typescript-eslint/no-unsafe-call': 'warn',
|
||||||
'@typescript-eslint/no-unsafe-member-access': 'off',
|
'@typescript-eslint/no-unsafe-member-access': 'warn',
|
||||||
'@typescript-eslint/no-unsafe-return': 'off',
|
'@typescript-eslint/no-unsafe-return': 'warn',
|
||||||
'@typescript-eslint/no-unused-expressions': 'off',
|
'@typescript-eslint/no-unused-expressions': 'warn',
|
||||||
'@typescript-eslint/no-unused-vars': 'off',
|
'@typescript-eslint/no-unused-vars': 'warn',
|
||||||
'@typescript-eslint/no-use-before-define': 'off',
|
'@typescript-eslint/no-use-before-define': 'warn',
|
||||||
'@typescript-eslint/no-var-requires': 'off',
|
'@typescript-eslint/no-var-requires': 'warn',
|
||||||
'@typescript-eslint/prefer-nullish-coalescing': 'off',
|
'@typescript-eslint/prefer-nullish-coalescing': 'warn',
|
||||||
'@typescript-eslint/prefer-optional-chain': 'off',
|
'@typescript-eslint/prefer-optional-chain': 'warn',
|
||||||
'@typescript-eslint/restrict-plus-operands': 'off',
|
'@typescript-eslint/restrict-plus-operands': 'warn',
|
||||||
'@typescript-eslint/restrict-template-expressions': 'off',
|
'@typescript-eslint/restrict-template-expressions': 'warn',
|
||||||
'@typescript-eslint/unbound-method': 'off',
|
'@typescript-eslint/unbound-method': 'warn',
|
||||||
'@typescript-eslint/ban-ts-comment': ['warn', { 'ts-ignore': true }],
|
'@typescript-eslint/ban-ts-comment': ['warn', { 'ts-ignore': true }],
|
||||||
'@typescript-eslint/no-redundant-type-constituents': 'off',
|
'@typescript-eslint/no-redundant-type-constituents': 'warn',
|
||||||
'@typescript-eslint/no-base-to-string': 'off',
|
'@typescript-eslint/no-base-to-string': 'warn',
|
||||||
'@typescript-eslint/no-explicit-any': 'off',
|
'@typescript-eslint/no-explicit-any': 'warn',
|
||||||
'@typescript-eslint/no-unsafe-enum-comparison': 'off',
|
'@typescript-eslint/no-unsafe-enum-comparison': 'warn',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -65,7 +65,7 @@
|
||||||
"n8n-workflow": "workspace:*",
|
"n8n-workflow": "workspace:*",
|
||||||
"normalize-wheel": "^1.0.1",
|
"normalize-wheel": "^1.0.1",
|
||||||
"pinia": "^2.1.6",
|
"pinia": "^2.1.6",
|
||||||
"prettier": "*",
|
"prettier": "^3.0.0",
|
||||||
"stream-browserify": "^3.0.0",
|
"stream-browserify": "^3.0.0",
|
||||||
"timeago.js": "^4.0.2",
|
"timeago.js": "^4.0.2",
|
||||||
"uuid": "^8.3.2",
|
"uuid": "^8.3.2",
|
||||||
|
|
|
@ -12,25 +12,31 @@ module.exports = {
|
||||||
|
|
||||||
rules: {
|
rules: {
|
||||||
// TODO: remove all the following rules
|
// TODO: remove all the following rules
|
||||||
eqeqeq: 'off',
|
eqeqeq: 'warn',
|
||||||
'id-denylist': 'off',
|
'id-denylist': 'warn',
|
||||||
'import/extensions': 'off',
|
'import/extensions': 'warn',
|
||||||
'import/order': 'off',
|
'import/order': 'warn',
|
||||||
'prefer-spread': 'off',
|
'prefer-spread': 'warn',
|
||||||
'import/no-extraneous-dependencies': 'off',
|
'import/no-extraneous-dependencies': 'warn',
|
||||||
|
|
||||||
'@typescript-eslint/naming-convention': ['error', { selector: 'memberLike', format: null }],
|
'@typescript-eslint/naming-convention': ['error', { selector: 'memberLike', format: null }],
|
||||||
'@typescript-eslint/no-explicit-any': 'off', //812 warnings, better to fix in separate PR
|
'@typescript-eslint/no-explicit-any': 'warn', //812 warnings, better to fix in separate PR
|
||||||
'@typescript-eslint/no-non-null-assertion': 'off', //665 errors, better to fix in separate PR
|
'@typescript-eslint/no-non-null-assertion': 'warn', //665 errors, better to fix in separate PR
|
||||||
'@typescript-eslint/no-unsafe-assignment': 'off', //7084 problems, better to fix in separate PR
|
'@typescript-eslint/no-unsafe-assignment': 'warn', //7084 problems, better to fix in separate PR
|
||||||
'@typescript-eslint/no-unsafe-call': 'off', //541 errors, better to fix in separate PR
|
'@typescript-eslint/no-unsafe-call': 'warn', //541 errors, better to fix in separate PR
|
||||||
'@typescript-eslint/no-unsafe-member-access': 'off', //4591 errors, better to fix in separate PR
|
'@typescript-eslint/no-unsafe-member-access': 'warn', //4591 errors, better to fix in separate PR
|
||||||
'@typescript-eslint/no-unsafe-return': 'off', //438 errors, better to fix in separate PR
|
'@typescript-eslint/no-unsafe-return': 'warn', //438 errors, better to fix in separate PR
|
||||||
'@typescript-eslint/no-unused-expressions': ['error', { allowTernary: true }],
|
'@typescript-eslint/no-unused-expressions': ['error', { allowTernary: true }],
|
||||||
'@typescript-eslint/restrict-template-expressions': 'off', //1152 errors, better to fix in separate PR
|
'@typescript-eslint/restrict-template-expressions': 'warn', //1152 errors, better to fix in separate PR
|
||||||
'@typescript-eslint/unbound-method': 'off',
|
'@typescript-eslint/unbound-method': 'warn',
|
||||||
'@typescript-eslint/ban-ts-comment': ['warn', { 'ts-ignore': true }],
|
'@typescript-eslint/ban-ts-comment': ['warn', { 'ts-ignore': true }],
|
||||||
'@typescript-eslint/prefer-nullish-coalescing': 'off',
|
'@typescript-eslint/prefer-nullish-coalescing': 'warn',
|
||||||
|
'@typescript-eslint/no-base-to-string': 'warn',
|
||||||
|
'@typescript-eslint/no-redundant-type-constituents': 'warn',
|
||||||
|
'@typescript-eslint/no-unused-vars': 'warn',
|
||||||
|
'@typescript-eslint/no-unsafe-argument': 'warn',
|
||||||
|
'@typescript-eslint/prefer-optional-chain': 'warn',
|
||||||
|
'@typescript-eslint/restrict-plus-operands': 'warn',
|
||||||
},
|
},
|
||||||
|
|
||||||
overrides: [
|
overrides: [
|
||||||
|
|
|
@ -198,9 +198,12 @@ export class AmqpTrigger implements INodeType {
|
||||||
this.emit([this.helpers.returnJsonArray([data as any])]);
|
this.emit([this.helpers.returnJsonArray([data as any])]);
|
||||||
|
|
||||||
if (!context.receiver?.has_credit()) {
|
if (!context.receiver?.has_credit()) {
|
||||||
setTimeout(() => {
|
setTimeout(
|
||||||
|
() => {
|
||||||
context.receiver?.add_credit(pullMessagesNumber);
|
context.receiver?.add_credit(pullMessagesNumber);
|
||||||
}, (options.sleepTime as number) || 10);
|
},
|
||||||
|
(options.sleepTime as number) || 10,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -572,7 +572,9 @@ export class AwsS3V2 implements INodeType {
|
||||||
const servicePath = bucketName.includes('.') ? 's3' : `${bucketName}.s3`;
|
const servicePath = bucketName.includes('.') ? 's3' : `${bucketName}.s3`;
|
||||||
const basePath = bucketName.includes('.') ? `/${bucketName}` : '';
|
const basePath = bucketName.includes('.') ? `/${bucketName}` : '';
|
||||||
|
|
||||||
const destination = `${basePath}/${destinationParts.slice(2, destinationParts.length).join('/')}`;
|
const destination = `${basePath}/${destinationParts
|
||||||
|
.slice(2, destinationParts.length)
|
||||||
|
.join('/')}`;
|
||||||
|
|
||||||
responseData = await awsApiRequestREST.call(this, servicePath, 'GET', basePath, '', {
|
responseData = await awsApiRequestREST.call(this, servicePath, 'GET', basePath, '', {
|
||||||
location: '',
|
location: '',
|
||||||
|
|
|
@ -619,12 +619,15 @@ export class EmailReadImapV1 implements INodeType {
|
||||||
let reconnectionInterval: NodeJS.Timeout | undefined;
|
let reconnectionInterval: NodeJS.Timeout | undefined;
|
||||||
|
|
||||||
if (options.forceReconnect !== undefined) {
|
if (options.forceReconnect !== undefined) {
|
||||||
reconnectionInterval = setInterval(async () => {
|
reconnectionInterval = setInterval(
|
||||||
|
async () => {
|
||||||
this.logger.verbose('Forcing reconnection of IMAP node.');
|
this.logger.verbose('Forcing reconnection of IMAP node.');
|
||||||
connection.end();
|
connection.end();
|
||||||
connection = await establishConnection();
|
connection = await establishConnection();
|
||||||
await connection.openBox(mailbox);
|
await connection.openBox(mailbox);
|
||||||
}, (options.forceReconnect as number) * 1000 * 60);
|
},
|
||||||
|
(options.forceReconnect as number) * 1000 * 60,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// When workflow and so node gets set to inactive close the connectoin
|
// When workflow and so node gets set to inactive close the connectoin
|
||||||
|
|
|
@ -628,7 +628,8 @@ export class EmailReadImapV2 implements INodeType {
|
||||||
let reconnectionInterval: NodeJS.Timeout | undefined;
|
let reconnectionInterval: NodeJS.Timeout | undefined;
|
||||||
|
|
||||||
if (options.forceReconnect !== undefined) {
|
if (options.forceReconnect !== undefined) {
|
||||||
reconnectionInterval = setInterval(async () => {
|
reconnectionInterval = setInterval(
|
||||||
|
async () => {
|
||||||
this.logger.verbose('Forcing reconnect to IMAP server');
|
this.logger.verbose('Forcing reconnect to IMAP server');
|
||||||
try {
|
try {
|
||||||
isCurrentlyReconnecting = true;
|
isCurrentlyReconnecting = true;
|
||||||
|
@ -641,7 +642,9 @@ export class EmailReadImapV2 implements INodeType {
|
||||||
} finally {
|
} finally {
|
||||||
isCurrentlyReconnecting = false;
|
isCurrentlyReconnecting = false;
|
||||||
}
|
}
|
||||||
}, (options.forceReconnect as number) * 1000 * 60);
|
},
|
||||||
|
(options.forceReconnect as number) * 1000 * 60,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// When workflow and so node gets set to inactive close the connectoin
|
// When workflow and so node gets set to inactive close the connectoin
|
||||||
|
|
|
@ -76,12 +76,11 @@ export async function getToken(
|
||||||
|
|
||||||
return response.response.token;
|
return response.response.token;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
let message
|
let message;
|
||||||
if (error.statusCode === 502) {
|
if (error.statusCode === 502) {
|
||||||
message = 'The server is not responding. Is the DataAPI enabled?'
|
message = 'The server is not responding. Is the DataAPI enabled?';
|
||||||
}
|
} else if (error.error) {
|
||||||
else if (error.error ) {
|
message = error.error.messages[0].code + ' - ' + error.error.messages[0].message;
|
||||||
message = error.error.messages[0].code + ' - ' + error.error.messages[0].message
|
|
||||||
} else {
|
} else {
|
||||||
message = error.message;
|
message = error.message;
|
||||||
}
|
}
|
||||||
|
@ -267,7 +266,7 @@ export async function logout(
|
||||||
};
|
};
|
||||||
|
|
||||||
const response = await this.helpers.request(requestOptions);
|
const response = await this.helpers.request(requestOptions);
|
||||||
return response
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function parseSort(this: IExecuteFunctions, i: number): object | null {
|
export function parseSort(this: IExecuteFunctions, i: number): object | null {
|
||||||
|
|
|
@ -1167,7 +1167,7 @@ return 0;`,
|
||||||
({
|
({
|
||||||
json: { ...item.json, __INDEX: index },
|
json: { ...item.json, __INDEX: index },
|
||||||
pairedItem: { item: index },
|
pairedItem: { item: index },
|
||||||
} as INodeExecutionData),
|
}) as INodeExecutionData,
|
||||||
);
|
);
|
||||||
//sort items using the compare keys
|
//sort items using the compare keys
|
||||||
newItems.sort((a, b) => {
|
newItems.sort((a, b) => {
|
||||||
|
|
|
@ -1207,7 +1207,7 @@ return 0;`,
|
||||||
({
|
({
|
||||||
json: { ...item.json, __INDEX: index },
|
json: { ...item.json, __INDEX: index },
|
||||||
pairedItem: { item: index },
|
pairedItem: { item: index },
|
||||||
} as INodeExecutionData),
|
}) as INodeExecutionData,
|
||||||
);
|
);
|
||||||
//sort items using the compare keys
|
//sort items using the compare keys
|
||||||
newItems.sort((a, b) => {
|
newItems.sort((a, b) => {
|
||||||
|
|
|
@ -162,7 +162,7 @@ export async function execute(
|
||||||
({
|
({
|
||||||
json: { ...item.json, __INDEX: index },
|
json: { ...item.json, __INDEX: index },
|
||||||
pairedItem: { item: index },
|
pairedItem: { item: index },
|
||||||
} as INodeExecutionData),
|
}) as INodeExecutionData,
|
||||||
);
|
);
|
||||||
//sort items using the compare keys
|
//sort items using the compare keys
|
||||||
newItems.sort((a, b) => {
|
newItems.sort((a, b) => {
|
||||||
|
|
|
@ -92,7 +92,7 @@ export const packageOperations: INodeProperties[] = [
|
||||||
return items.flatMap(({ json }) =>
|
return items.flatMap(({ json }) =>
|
||||||
(json.objects as Array<{ package: PackageJson }>).map(
|
(json.objects as Array<{ package: PackageJson }>).map(
|
||||||
({ package: { name, version, description } }) =>
|
({ package: { name, version, description } }) =>
|
||||||
({ json: { name, version, description } } as INodeExecutionData),
|
({ json: { name, version, description } }) as INodeExecutionData,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
|
@ -131,7 +131,6 @@ export class Rundeck implements INodeType {
|
||||||
},
|
},
|
||||||
default: '',
|
default: '',
|
||||||
placeholder: 'Add Filters',
|
placeholder: 'Add Filters',
|
||||||
required: false,
|
|
||||||
description: 'Filter Rundeck nodes by name',
|
description: 'Filter Rundeck nodes by name',
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -56,16 +56,12 @@ export type TEndpointVariableName = 'access_token' | 'dtable_uuid' | 'server';
|
||||||
|
|
||||||
// Template Literal Types requires-ts-4.1.5 -- deferred
|
// Template Literal Types requires-ts-4.1.5 -- deferred
|
||||||
export type TMethod = 'GET' | 'POST';
|
export type TMethod = 'GET' | 'POST';
|
||||||
type TDeferredEndpoint = string;
|
|
||||||
type TDeferredEndpointExpr = string;
|
|
||||||
type TEndpoint =
|
type TEndpoint =
|
||||||
| '/api/v2.1/dtable/app-access-token/'
|
| '/api/v2.1/dtable/app-access-token/'
|
||||||
| '/dtable-server/api/v1/dtables/{{dtable_uuid}}/rows/'
|
| '/dtable-server/api/v1/dtables/{{dtable_uuid}}/rows/';
|
||||||
| TDeferredEndpoint;
|
export type TEndpointExpr = TEndpoint;
|
||||||
export type TEndpointExpr = TEndpoint | TDeferredEndpointExpr;
|
|
||||||
export type TEndpointResolvedExpr =
|
export type TEndpointResolvedExpr =
|
||||||
| TEndpoint
|
TEndpoint; /* deferred: but already in use for header values, e.g. authentication */
|
||||||
| string; /* deferred: but already in use for header values, e.g. authentication */
|
|
||||||
|
|
||||||
export type TDateTimeFormat = 'YYYY-MM-DDTHH:mm:ss.SSSZ' /* moment.js */;
|
export type TDateTimeFormat = 'YYYY-MM-DDTHH:mm:ss.SSSZ' /* moment.js */;
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,6 @@ export declare type queryIndexSignature =
|
||||||
| '_id'
|
| '_id'
|
||||||
| '_between'
|
| '_between'
|
||||||
| '_parent'
|
| '_parent'
|
||||||
| '_parent'
|
|
||||||
| '_child'
|
| '_child'
|
||||||
| '_type'
|
| '_type'
|
||||||
| '_string'
|
| '_string'
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
export class WebhookAuthorizationError extends Error {
|
export class WebhookAuthorizationError extends Error {
|
||||||
constructor(readonly responseCode: number, message?: string) {
|
constructor(
|
||||||
|
readonly responseCode: number,
|
||||||
|
message?: string,
|
||||||
|
) {
|
||||||
if (message === undefined) {
|
if (message === undefined) {
|
||||||
message = 'Authorization problem!';
|
message = 'Authorization problem!';
|
||||||
if (responseCode === 401) {
|
if (responseCode === 401) {
|
||||||
|
|
|
@ -87,9 +87,7 @@ export function getAutomaticSecret(credentials: ICredentialDataDecryptedObject)
|
||||||
return createHash('md5').update(data).digest('hex');
|
return createHash('md5').update(data).digest('hex');
|
||||||
}
|
}
|
||||||
|
|
||||||
export function setMetadata(
|
export function setMetadata(data: IShoppingLine[] | IFeeLine[] | ILineItem[] | ICouponLine[]) {
|
||||||
data: IShoppingLine[] | IShoppingLine[] | IFeeLine[] | ILineItem[] | ICouponLine[],
|
|
||||||
) {
|
|
||||||
for (let i = 0; i < data.length; i++) {
|
for (let i = 0; i < data.length; i++) {
|
||||||
//@ts-ignore\
|
//@ts-ignore\
|
||||||
if (data[i].metadataUi?.metadataValues) {
|
if (data[i].metadataUi?.metadataValues) {
|
||||||
|
@ -105,7 +103,7 @@ export function setMetadata(
|
||||||
}
|
}
|
||||||
|
|
||||||
export function toSnakeCase(
|
export function toSnakeCase(
|
||||||
data: IShoppingLine[] | IShoppingLine[] | IFeeLine[] | ILineItem[] | ICouponLine[] | IDataObject,
|
data: IShoppingLine[] | IFeeLine[] | ILineItem[] | ICouponLine[] | IDataObject,
|
||||||
) {
|
) {
|
||||||
if (!Array.isArray(data)) {
|
if (!Array.isArray(data)) {
|
||||||
data = [data];
|
data = [data];
|
||||||
|
|
|
@ -9,6 +9,12 @@ module.exports = {
|
||||||
...sharedOptions(__dirname),
|
...sharedOptions(__dirname),
|
||||||
|
|
||||||
rules: {
|
rules: {
|
||||||
'import/order': 'off', // TODO: remove this
|
// TODO: remove these
|
||||||
|
'import/order': 'off',
|
||||||
|
'@typescript-eslint/no-base-to-string': 'warn',
|
||||||
|
'@typescript-eslint/no-explicit-any': 'warn',
|
||||||
|
'@typescript-eslint/no-redundant-type-constituents': 'warn',
|
||||||
|
'@typescript-eslint/prefer-nullish-coalescing': 'warn',
|
||||||
|
'@typescript-eslint/prefer-optional-chain': 'warn',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -1199,9 +1199,10 @@ export interface INodePropertyValueExtractorRegex extends INodePropertyValueExtr
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface INodePropertyValueExtractorFunction {
|
export interface INodePropertyValueExtractorFunction {
|
||||||
(this: IExecuteSingleFunctions, value: string | NodeParameterValue):
|
(
|
||||||
| Promise<string | NodeParameterValue>
|
this: IExecuteSingleFunctions,
|
||||||
| (string | NodeParameterValue);
|
value: string | NodeParameterValue,
|
||||||
|
): Promise<string | NodeParameterValue> | (string | NodeParameterValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
export type INodePropertyValueExtractor = INodePropertyValueExtractorRegex;
|
export type INodePropertyValueExtractor = INodePropertyValueExtractorRegex;
|
||||||
|
|
|
@ -11,7 +11,6 @@ overrides:
|
||||||
'@types/node': ^18.16.16
|
'@types/node': ^18.16.16
|
||||||
chokidar: 3.5.2
|
chokidar: 3.5.2
|
||||||
jsonwebtoken: 9.0.0
|
jsonwebtoken: 9.0.0
|
||||||
prettier: ^3.0.0
|
|
||||||
semver: ^7.5.4
|
semver: ^7.5.4
|
||||||
tough-cookie: ^4.1.3
|
tough-cookie: ^4.1.3
|
||||||
tslib: ^2.6.1
|
tslib: ^2.6.1
|
||||||
|
@ -4945,7 +4944,7 @@ packages:
|
||||||
less-loader: 11.1.3(less@4.1.3)(webpack@5.75.0)
|
less-loader: 11.1.3(less@4.1.3)(webpack@5.75.0)
|
||||||
postcss: 8.4.27
|
postcss: 8.4.27
|
||||||
postcss-loader: 7.3.3(postcss@8.4.27)(webpack@5.75.0)
|
postcss-loader: 7.3.3(postcss@8.4.27)(webpack@5.75.0)
|
||||||
prettier: 3.0.0
|
prettier: 2.8.8
|
||||||
react: 17.0.2
|
react: 17.0.2
|
||||||
react-dom: 18.2.0(react@17.0.2)
|
react-dom: 18.2.0(react@17.0.2)
|
||||||
resolve-url-loader: 5.0.0
|
resolve-url-loader: 5.0.0
|
||||||
|
@ -5259,7 +5258,7 @@ packages:
|
||||||
jscodeshift: 0.14.0(@babel/preset-env@7.22.9)
|
jscodeshift: 0.14.0(@babel/preset-env@7.22.9)
|
||||||
leven: 3.1.0
|
leven: 3.1.0
|
||||||
ora: 5.4.1
|
ora: 5.4.1
|
||||||
prettier: 3.0.0
|
prettier: 2.8.8
|
||||||
prompts: 2.4.2
|
prompts: 2.4.2
|
||||||
puppeteer-core: 2.1.1
|
puppeteer-core: 2.1.1
|
||||||
read-pkg-up: 7.0.1
|
read-pkg-up: 7.0.1
|
||||||
|
@ -5310,7 +5309,7 @@ packages:
|
||||||
globby: 11.1.0
|
globby: 11.1.0
|
||||||
jscodeshift: 0.14.0(@babel/preset-env@7.22.9)
|
jscodeshift: 0.14.0(@babel/preset-env@7.22.9)
|
||||||
lodash: 4.17.21
|
lodash: 4.17.21
|
||||||
prettier: 3.0.0
|
prettier: 2.8.8
|
||||||
recast: 0.23.3
|
recast: 0.23.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
@ -10886,7 +10885,7 @@ packages:
|
||||||
indefinite: 2.4.1
|
indefinite: 2.4.1
|
||||||
pascal-case: 3.1.2
|
pascal-case: 3.1.2
|
||||||
pluralize: 8.0.0
|
pluralize: 8.0.0
|
||||||
prettier: 3.0.0
|
prettier: 2.8.8
|
||||||
sentence-case: 3.0.4
|
sentence-case: 3.0.4
|
||||||
title-case: 3.0.3
|
title-case: 3.0.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
@ -17114,6 +17113,12 @@ packages:
|
||||||
fast-diff: 1.2.0
|
fast-diff: 1.2.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/prettier@2.8.8:
|
||||||
|
resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
|
||||||
|
engines: {node: '>=10.13.0'}
|
||||||
|
hasBin: true
|
||||||
|
dev: true
|
||||||
|
|
||||||
/prettier@3.0.0:
|
/prettier@3.0.0:
|
||||||
resolution: {integrity: sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==}
|
resolution: {integrity: sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
|
|
Loading…
Reference in a new issue