Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 142 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,148 @@ module.exports = {
}
]
}
},
{
files: ['packages/core/src/**/*.ts', 'packages/actions-shared/src/**/*.ts'],
excludedFiles: [
'**/*.test.ts',
'**/__tests__/**/*.ts',
'**/test/**/*.ts',
// Allowed exceptions for actions-core
'packages/core/src/time.ts',
'packages/core/src/request-client.ts',
'packages/core/src/destination-kit/action.ts',
// Allowed exceptions for actions-shared
'packages/actions-shared/src/engage/utils/isDestinationActionService.ts',
'packages/actions-shared/src/engage/utils/MessageSendPerformer.ts'
],
rules: {
'no-restricted-globals': [
'error',
{
name: 'process',
message:
'Direct usage of "process" is not allowed in environment-agnostic packages. Use "typeof globalThis.process !== \'undefined\'" for feature detection or move Node.js-specific code to destination-actions package.'
},
{
name: 'Buffer',
message:
'Direct usage of "Buffer" is not allowed in environment-agnostic packages. Use "typeof globalThis.Buffer !== \'undefined\'" for feature detection or use a cross-platform alternative like btoa/atob.'
},
{
name: '__dirname',
message:
'Direct usage of "__dirname" is not allowed in environment-agnostic packages. This is a Node.js-specific global. Move this code to destination-actions package.'
},
{
name: '__filename',
message:
'Direct usage of "__filename" is not allowed in environment-agnostic packages. This is a Node.js-specific global. Move this code to destination-actions package.'
},
{
name: 'global',
message:
'Direct usage of "global" is not allowed in environment-agnostic packages. Use "globalThis" instead for cross-platform compatibility.'
},
{
name: 'window',
message:
'Direct usage of "window" is not allowed in environment-agnostic packages. Use "typeof window !== \'undefined\'" for feature detection or move browser-specific code to browser-destinations package.'
},
{
name: 'document',
message:
'Direct usage of "document" is not allowed in environment-agnostic packages. Use "typeof document !== \'undefined\'" for feature detection or move browser-specific code to browser-destinations package.'
},
{
name: 'localStorage',
message:
'Direct usage of "localStorage" is not allowed in environment-agnostic packages. Use "typeof localStorage !== \'undefined\'" for feature detection or move browser-specific code to browser-destinations package.'
},
{
name: 'sessionStorage',
message:
'Direct usage of "sessionStorage" is not allowed in environment-agnostic packages. Use "typeof sessionStorage !== \'undefined\'" for feature detection or move browser-specific code to browser-destinations package.'
},
{
name: 'navigator',
message:
'Direct usage of "navigator" is not allowed in environment-agnostic packages. Use "typeof navigator !== \'undefined\'" for feature detection or move browser-specific code to browser-destinations package.'
},
{
name: 'location',
message:
'Direct usage of "location" is not allowed in environment-agnostic packages. Use "typeof location !== \'undefined\'" for feature detection or move browser-specific code to browser-destinations package.'
},
{
name: 'history',
message:
'Direct usage of "history" is not allowed in environment-agnostic packages. Use "typeof history !== \'undefined\'" for feature detection or move browser-specific code to browser-destinations package.'
Comment thread
itsarijitray marked this conversation as resolved.
},
{
name: 'fetch',
message:
'Direct usage of "fetch" is not allowed in environment-agnostic packages. Use "typeof fetch !== \'undefined\'" for feature detection or move browser-specific code to browser-destinations package.'
}
],
'no-restricted-imports': [
'error',
{
paths: [
{
name: 'fs',
message:
'Importing "fs" is not allowed in environment-agnostic packages. This is a Node.js built-in module.'
},
{
name: 'path',
message:
'Importing "path" is not allowed in environment-agnostic packages. This is a Node.js built-in module.'
},
{
name: 'http',
message:
'Importing "http" is not allowed in environment-agnostic packages. This is a Node.js built-in module.'
},
{
name: 'https',
message:
'Importing "https" is not allowed in environment-agnostic packages. This is a Node.js built-in module.'
},
{
name: 'crypto',
message:
'Importing "crypto" is not allowed in environment-agnostic packages. This is a Node.js built-in module. Use @peculiar/webcrypto or similar cross-platform alternatives.'
},
{
name: 'os',
message:
'Importing "os" is not allowed in environment-agnostic packages. This is a Node.js built-in module.'
},
{
name: 'stream',
message:
'Importing "stream" is not allowed in environment-agnostic packages. This is a Node.js built-in module.'
},
{
name: 'util',
message:
'Importing "util" is not allowed in environment-agnostic packages. This is a Node.js built-in module.'
},
{
name: 'events',
message:
'Importing "events" is not allowed in environment-agnostic packages. This is a Node.js built-in module. Use a cross-platform EventEmitter alternative.'
},
{
name: 'child_process',
message:
'Importing "child_process" is not allowed in environment-agnostic packages. This is a Node.js built-in module.'
}
]
}
]
}
}
]
}
Loading
Loading