- Telemetry: replace client-side PostHog (which read process.env, banned in verified nodes) with first-party `source: "N8N"` attribution on API requests, mirroring OpenClaw. Removes the undisclosed-collection concern entirely. - Verification-scanner fixes: add credential icon, use NodeConnectionTypes.Main instead of the 'main' literal, wrap error paths in NodeApiError, stop shipping .d.ts / tsbuildinfo, and align the local eslint config with the scanner. - Add offline unit tests (jest): entity-id guard, JSON-parse errors, poll-timeout loop, source attribution, and Return All pagination. - Get Many: add a Return All option that pages through all memories. - Docs: README telemetry note and an AGENTS.md Key Directories row. Verified: build + tsc + eslint + 5 unit tests + live E2E against api.mem0.ai, and the packed tarball passes @n8n/scan-community-package with zero violations.
40 lines
1.5 KiB
JavaScript
40 lines
1.5 KiB
JavaScript
module.exports = {
|
|
root: true,
|
|
env: { browser: true, es6: true, node: true },
|
|
parser: '@typescript-eslint/parser',
|
|
parserOptions: { sourceType: 'module', extraFileExtensions: ['.json'] },
|
|
ignorePatterns: ['.eslintrc.js', '**/*.js', '**/node_modules/**', '**/dist/**'],
|
|
overrides: [
|
|
{
|
|
files: ['package.json'],
|
|
plugins: ['eslint-plugin-n8n-nodes-base'],
|
|
extends: ['plugin:n8n-nodes-base/community'],
|
|
rules: { 'n8n-nodes-base/community-package-json-name-still-default': 'off' },
|
|
},
|
|
{
|
|
files: ['./credentials/**/*.ts'],
|
|
plugins: ['eslint-plugin-n8n-nodes-base'],
|
|
extends: ['plugin:n8n-nodes-base/credentials'],
|
|
rules: {
|
|
// This rule only applies to nodes in n8n's main repository (where
|
|
// documentationUrl is an internal docs slug). Community nodes use a
|
|
// full external URL, so it is disabled here.
|
|
'n8n-nodes-base/cred-class-field-documentation-url-miscased': 'off',
|
|
},
|
|
},
|
|
{
|
|
files: ['./nodes/**/*.ts'],
|
|
plugins: ['eslint-plugin-n8n-nodes-base'],
|
|
extends: ['plugin:n8n-nodes-base/nodes'],
|
|
rules: {
|
|
// Superseded by the verification scanner's `@n8n/community-nodes`
|
|
// node-connection-type-literal rule, which requires
|
|
// NodeConnectionTypes.Main instead of the 'main' string literal.
|
|
// n8n's own scanner disables these two, so we match it.
|
|
'n8n-nodes-base/node-class-description-inputs-wrong-regular-node': 'off',
|
|
'n8n-nodes-base/node-class-description-outputs-wrong': 'off',
|
|
},
|
|
},
|
|
],
|
|
};
|