[COMPASS-7315] [Remove Platform Specific] [Stretch Goal] Add ESLint rule to make sure we don’t use Node.js-specific dependencies Created: 09/Oct/23  Updated: 30/Jan/24  Resolved: 05/Jan/24

Status: Closed
Project: Compass
Component/s: None
Affects Version/s: None
Fix Version/s: 1.42.0

Type: Task Priority: Major - P3
Reporter: Anna Henningsen Assignee: Sergey Petushkov
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Link: COMPASS-7020
Documentation Changes: Not Needed
Sprint: Iteration Minmi

 Comments   
Comment by Githook User [ 30/Jan/24 ]

Author:

{'name': 'Sergey Petushkov', 'email': 'petushkov.sergey@gmail.com', 'username': 'gribnoysup'}

Message: chore(logging): refactor plugins to use logger only from provider COMPASS-7407 COMPASS-7315 (#5293)

  • chore(logging): use noop logger in provider; add eslint rule to check for usage; refactor compass-aggregations
  • chore(app-stores): remove direct usage of compass-logging
  • chore(eslint): use eslint config for plugins everywhere where it passes without changes
  • chore(crud): remove direct usage of compass-logging
  • chore(explain-plan): remove direct usage of compass-logging
  • chore(home): make an exception for app-stores usage in compass-home
  • chore(import-export): remove direct usage of compass-logging
  • chore(indexes): remove direct usage of compass-logging
  • chore(crud): fix log id
  • chore(query-bar): remove direct usage of compass-logging
  • chore(my-queries): remove direct usage of compass-logging
  • chore(schema): remove direct usage of compass-logging
  • chore(schema-validation): remove direct usage of compass-logging; move services to thunk args from state
  • chore(shell): remove direct usage of compass-logging
  • chore(sidebar): remove direct usage of compass-logging
  • chore(eslint): add todos and fix data-service package name
  • chore(crud): fix log id again
  • chore: fix check log ids again
  • fix(eslint): don't try to be too smart when creating a rule

package might not be bootstrapped yet, so it will not resolve

  • chore: fix comment
  • chore: ease default provider value behavior
  • chore: more comments
  • chore: fix comment
  • compass(app-registry): remove redux-common package COMPASS-7560 (#5296)
  • chore(app-registry): always access app registry emitter through thunk arg; remove redux common package
  • fix(aggregations): open explain is local not global
  • fix(aggregations): view edited is global not local
Comment by Githook User [ 09/Jan/24 ]

Author:

{'name': 'Sergey Petushkov', 'email': 'petushkov.sergey@gmail.com', 'username': 'gribnoysup'}

Message: chore(logging): refactor plugins to use logger only from provider COMPASS-7407 COMPASS-7315 (#5293)

  • chore(logging): use noop logger in provider; add eslint rule to check for usage; refactor compass-aggregations
  • chore(app-stores): remove direct usage of compass-logging
  • chore(eslint): use eslint config for plugins everywhere where it passes without changes
  • chore(crud): remove direct usage of compass-logging
  • chore(explain-plan): remove direct usage of compass-logging
  • chore(home): make an exception for app-stores usage in compass-home
  • chore(import-export): remove direct usage of compass-logging
  • chore(indexes): remove direct usage of compass-logging
  • chore(crud): fix log id
  • chore(query-bar): remove direct usage of compass-logging
  • chore(my-queries): remove direct usage of compass-logging
  • chore(schema): remove direct usage of compass-logging
  • chore(schema-validation): remove direct usage of compass-logging; move services to thunk args from state
  • chore(shell): remove direct usage of compass-logging
  • chore(sidebar): remove direct usage of compass-logging
  • chore(eslint): add todos and fix data-service package name
  • chore(crud): fix log id again
  • chore: fix check log ids again
  • fix(eslint): don't try to be too smart when creating a rule

package might not be bootstrapped yet, so it will not resolve

  • chore: fix comment
  • chore: ease default provider value behavior
  • chore: more comments
  • chore: fix comment
  • compass(app-registry): remove redux-common package COMPASS-7560 (#5296)
  • chore(app-registry): always access app registry emitter through thunk arg; remove redux common package
  • fix(aggregations): open explain is local not global
  • fix(aggregations): view edited is global not local
Comment by Githook User [ 08/Jan/24 ]

Author:

{'name': 'Sergey Petushkov', 'email': 'petushkov.sergey@gmail.com', 'username': 'gribnoysup'}

Message: chore(logging): refactor plugins to use logger only from provider COMPASS-7407 COMPASS-7315 (#5293)

  • chore(logging): use noop logger in provider; add eslint rule to check for usage; refactor compass-aggregations
  • chore(app-stores): remove direct usage of compass-logging
  • chore(eslint): use eslint config for plugins everywhere where it passes without changes
  • chore(crud): remove direct usage of compass-logging
  • chore(explain-plan): remove direct usage of compass-logging
  • chore(home): make an exception for app-stores usage in compass-home
  • chore(import-export): remove direct usage of compass-logging
  • chore(indexes): remove direct usage of compass-logging
  • chore(crud): fix log id
  • chore(query-bar): remove direct usage of compass-logging
  • chore(my-queries): remove direct usage of compass-logging
  • chore(schema): remove direct usage of compass-logging
  • chore(schema-validation): remove direct usage of compass-logging; move services to thunk args from state
  • chore(shell): remove direct usage of compass-logging
  • chore(sidebar): remove direct usage of compass-logging
  • chore(eslint): add todos and fix data-service package name
  • chore(crud): fix log id again
  • chore: fix check log ids again
  • fix(eslint): don't try to be too smart when creating a rule

package might not be bootstrapped yet, so it will not resolve

  • chore: fix comment
  • chore: ease default provider value behavior
  • chore: more comments
  • chore: fix comment
  • compass(app-registry): remove redux-common package COMPASS-7560 (#5296)
  • chore(app-registry): always access app registry emitter through thunk arg; remove redux common package
  • fix(aggregations): open explain is local not global
  • fix(aggregations): view edited is global not local
Comment by Githook User [ 04/Jan/24 ]

Author:

{'name': 'Sergey Petushkov', 'email': 'petushkov.sergey@gmail.com', 'username': 'gribnoysup'}

Message: chore(logging): refactor plugins to use logger only from provider COMPASS-7407 COMPASS-7315 (#5293)

  • chore(logging): use noop logger in provider; add eslint rule to check for usage; refactor compass-aggregations
  • chore(app-stores): remove direct usage of compass-logging
  • chore(eslint): use eslint config for plugins everywhere where it passes without changes
  • chore(crud): remove direct usage of compass-logging
  • chore(explain-plan): remove direct usage of compass-logging
  • chore(home): make an exception for app-stores usage in compass-home
  • chore(import-export): remove direct usage of compass-logging
  • chore(indexes): remove direct usage of compass-logging
  • chore(crud): fix log id
  • chore(query-bar): remove direct usage of compass-logging
  • chore(my-queries): remove direct usage of compass-logging
  • chore(schema): remove direct usage of compass-logging
  • chore(schema-validation): remove direct usage of compass-logging; move services to thunk args from state
  • chore(shell): remove direct usage of compass-logging
  • chore(sidebar): remove direct usage of compass-logging
  • chore(eslint): add todos and fix data-service package name
  • chore(crud): fix log id again
  • chore: fix check log ids again
  • fix(eslint): don't try to be too smart when creating a rule

package might not be bootstrapped yet, so it will not resolve

  • chore: fix comment
  • chore: ease default provider value behavior
  • chore: more comments
  • chore: fix comment
  • compass(app-registry): remove redux-common package COMPASS-7560 (#5296)
  • chore(app-registry): always access app registry emitter through thunk arg; remove redux common package
  • fix(aggregations): open explain is local not global
  • fix(aggregations): view edited is global not local
Comment by Githook User [ 04/Jan/24 ]

Author:

{'name': 'Sergey Petushkov', 'email': 'petushkov.sergey@gmail.com', 'username': 'gribnoysup'}

Message: chore(logging): refactor plugins to use logger only from provider COMPASS-7407 COMPASS-7315 (#5293)

  • chore(logging): use noop logger in provider; add eslint rule to check for usage; refactor compass-aggregations
  • chore(app-stores): remove direct usage of compass-logging
  • chore(eslint): use eslint config for plugins everywhere where it passes without changes
  • chore(crud): remove direct usage of compass-logging
  • chore(explain-plan): remove direct usage of compass-logging
  • chore(home): make an exception for app-stores usage in compass-home
  • chore(import-export): remove direct usage of compass-logging
  • chore(indexes): remove direct usage of compass-logging
  • chore(crud): fix log id
  • chore(query-bar): remove direct usage of compass-logging
  • chore(my-queries): remove direct usage of compass-logging
  • chore(schema): remove direct usage of compass-logging
  • chore(schema-validation): remove direct usage of compass-logging; move services to thunk args from state
  • chore(shell): remove direct usage of compass-logging
  • chore(sidebar): remove direct usage of compass-logging
  • chore(eslint): add todos and fix data-service package name
  • chore(crud): fix log id again
  • chore: fix check log ids again
  • fix(eslint): don't try to be too smart when creating a rule

package might not be bootstrapped yet, so it will not resolve

  • chore: fix comment
  • chore: ease default provider value behavior
  • chore: more comments
  • chore: fix comment
  • compass(app-registry): remove redux-common package COMPASS-7560 (#5296)
  • chore(app-registry): always access app registry emitter through thunk arg; remove redux common package
  • fix(aggregations): open explain is local not global
  • fix(aggregations): view edited is global not local
Comment by Githook User [ 04/Jan/24 ]

Author:

{'name': 'Sergey Petushkov', 'email': 'petushkov.sergey@gmail.com', 'username': 'gribnoysup'}

Message: chore(logging): refactor plugins to use logger only from provider COMPASS-7407 COMPASS-7315 (#5293)

  • chore(logging): use noop logger in provider; add eslint rule to check for usage; refactor compass-aggregations
  • chore(app-stores): remove direct usage of compass-logging
  • chore(eslint): use eslint config for plugins everywhere where it passes without changes
  • chore(crud): remove direct usage of compass-logging
  • chore(explain-plan): remove direct usage of compass-logging
  • chore(home): make an exception for app-stores usage in compass-home
  • chore(import-export): remove direct usage of compass-logging
  • chore(indexes): remove direct usage of compass-logging
  • chore(crud): fix log id
  • chore(query-bar): remove direct usage of compass-logging
  • chore(my-queries): remove direct usage of compass-logging
  • chore(schema): remove direct usage of compass-logging
  • chore(schema-validation): remove direct usage of compass-logging; move services to thunk args from state
  • chore(shell): remove direct usage of compass-logging
  • chore(sidebar): remove direct usage of compass-logging
  • chore(eslint): add todos and fix data-service package name
  • chore(crud): fix log id again
  • chore: fix check log ids again
  • fix(eslint): don't try to be too smart when creating a rule

package might not be bootstrapped yet, so it will not resolve

  • chore: fix comment
  • chore: ease default provider value behavior
  • chore: more comments
  • chore: fix comment
  • compass(app-registry): remove redux-common package COMPASS-7560 (#5296)
  • chore(app-registry): always access app registry emitter through thunk arg; remove redux common package
  • fix(aggregations): open explain is local not global
  • fix(aggregations): view edited is global not local
Comment by Sergey Petushkov [ 08/Dec/23 ]

ESLint rule used in https://github.com/mongodb-js/compass/pull/5207 sounds like a good match for this, they even document how banning all import from nodejs would look like in their docs. We'd probably have to add a separate "plugin" config that extends our base Compass one

Generated at Wed Feb 07 22:46:08 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.