mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-30 12:24:25 +02:00
Merge pull request #28199 from overleaf/td-ar-script-runner-lint
Add ESLint rule to require Script Runner for scripts in web GitOrigin-RevId: 94d5dac806e4c5480b7ed95cf8484a2d13ac8294
This commit is contained in:
@@ -228,7 +228,7 @@ module.exports = {
|
||||
},
|
||||
{
|
||||
// Backend scripts specific rules
|
||||
files: ['**/scripts/**/*.js'],
|
||||
files: ['**/scripts/**/*.{js,mjs}'],
|
||||
rules: {
|
||||
'no-restricted-syntax': [
|
||||
'error',
|
||||
@@ -256,6 +256,113 @@ module.exports = {
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
// Insist on using Script Runner for new scripts. Old scripts should be
|
||||
// converted to use Script Runner in future, but are excluded for now
|
||||
rules: {
|
||||
'@overleaf/require-script-runner': 'error',
|
||||
},
|
||||
files: ['**/scripts/**/*.mjs'], // ESM only
|
||||
excludedFiles: [
|
||||
'modules/admin-roles/scripts/import_admin_role_assignments.mjs',
|
||||
'modules/admin-roles/scripts/remove_admin_role_from_user.mjs',
|
||||
'modules/admin-roles/scripts/remove_admin_roles_from_non_admins.mjs',
|
||||
'modules/admin-roles/scripts/utils.mjs',
|
||||
'modules/institutions/scripts/apply_policy_to_institution.mjs',
|
||||
'modules/server-ce-scripts/scripts/change-compile-timeout.mjs',
|
||||
'modules/server-ce-scripts/scripts/check-mongodb.mjs',
|
||||
'modules/server-ce-scripts/scripts/check-redis.mjs',
|
||||
'modules/server-ce-scripts/scripts/check-texlive-images.mjs',
|
||||
'modules/server-ce-scripts/scripts/create-user.mjs',
|
||||
'modules/server-ce-scripts/scripts/delete-user.mjs',
|
||||
'modules/server-ce-scripts/scripts/export-user-projects.mjs',
|
||||
'modules/server-ce-scripts/scripts/migrate-user-emails.mjs',
|
||||
'modules/server-ce-scripts/scripts/rename-tag.mjs',
|
||||
'modules/server-ce-scripts/scripts/transfer-all-projects-to-user.mjs',
|
||||
'modules/server-ce-scripts/scripts/upgrade-user-features.mjs',
|
||||
'modules/subscriptions/scripts/backfill_user_last_trial.mjs',
|
||||
'scripts/add_feature_override.mjs',
|
||||
'scripts/add_subscription_members_csv.mjs',
|
||||
'scripts/analytics/helpers/GoogleBigQueryHelper.mjs',
|
||||
'scripts/attach_dangling_comments_to_doc.mjs',
|
||||
'scripts/back_fill_doc_rev.mjs',
|
||||
'scripts/backfill_mixpanel_user_properties.mjs',
|
||||
'scripts/backfill_project_image_name.mjs',
|
||||
'scripts/backfill_project_invites_token_hmac.mjs',
|
||||
'scripts/backfill_user_properties.mjs',
|
||||
'scripts/backfill_users_sso_attribute.mjs',
|
||||
'scripts/bench_bcrypt.mjs',
|
||||
'scripts/check_institution_users.mjs',
|
||||
'scripts/check_overleafModuleImports.mjs',
|
||||
'scripts/check_saml_emails.mjs',
|
||||
'scripts/clear_feedback_collection.mjs',
|
||||
'scripts/clear_sessions_set_must_reconfirm.mjs',
|
||||
'scripts/count_files_in_projects.mjs',
|
||||
'scripts/count_project_size.mjs',
|
||||
'scripts/create_oauth_personal_access_token.mjs',
|
||||
'scripts/create_project.mjs',
|
||||
'scripts/deactivate_projects.mjs',
|
||||
'scripts/delete-duplicate-splittest-versions/delete_test_dupes.mjs',
|
||||
'scripts/delete-orphaned-docs/delete-orphaned-docs.mjs',
|
||||
'scripts/delete_dangling_comments.mjs',
|
||||
'scripts/delete_orphaned_chat_threads.mjs',
|
||||
'scripts/delete_orphaned_data_helper.mjs',
|
||||
'scripts/delete_subscriptions.mjs',
|
||||
'scripts/e2e_test_setup.mjs',
|
||||
'scripts/ensure_affiliations.mjs',
|
||||
'scripts/esm-check-migration.mjs',
|
||||
'scripts/example/script_for_migration.mjs',
|
||||
'scripts/fix_collaborator_refs_null.mjs',
|
||||
'scripts/fix_comment_id.mjs',
|
||||
'scripts/helpers/chunkArray.mjs',
|
||||
'scripts/helpers/env_variable_helper.mjs',
|
||||
'scripts/inst_table.mjs',
|
||||
'scripts/invalidate_tokens.mjs',
|
||||
'scripts/ip_matcher_ranges.mjs',
|
||||
'scripts/learn/checkSanitize/checkSanitizeOptions.mjs',
|
||||
'scripts/learn/checkSanitize/scrape.mjs',
|
||||
'scripts/lezer-latex/benchmark.mjs',
|
||||
'scripts/lezer-latex/print-tree.mjs',
|
||||
'scripts/lezer-latex/random.mjs',
|
||||
'scripts/lezer-latex/run.mjs',
|
||||
'scripts/lezer-latex/test-incremental-parser.mjs',
|
||||
'scripts/mark_migration.mjs',
|
||||
'scripts/marketing-exports/error-assistant-export.mjs',
|
||||
'scripts/marketing-exports/export.mjs',
|
||||
'scripts/marketing-exports/linked-papers-users.mjs',
|
||||
'scripts/marketing-exports/papers-export.mjs',
|
||||
'scripts/marketing-exports/writefull-export.mjs',
|
||||
'scripts/oauth/upgrade_token_scopes.mjs',
|
||||
'scripts/plan-prices/plans.mjs',
|
||||
'scripts/process_lapsed_reconfirmations.mjs',
|
||||
'scripts/purge_non_logged_in_sessions.mjs',
|
||||
'scripts/recurly/generate_recurly_prices.mjs',
|
||||
'scripts/recurly/get_paypal_accounts_csv.mjs',
|
||||
'scripts/recurly/recurly_prices.mjs',
|
||||
'scripts/recurly/resync_recurly_state_single_subscription.mjs',
|
||||
'scripts/recurly/resync_subscriptions.mjs',
|
||||
'scripts/recurly/set_manually_collected_subscriptions.mjs',
|
||||
'scripts/refresh_features.mjs',
|
||||
'scripts/regenerate_duplicate_referral_ids.mjs',
|
||||
'scripts/remove_deleted_users_from_token_access_refs.mjs',
|
||||
'scripts/remove_email.mjs',
|
||||
'scripts/remove_user_enrollment.mjs',
|
||||
'scripts/sso_id_migration_check.mjs',
|
||||
'scripts/stress_test.mjs',
|
||||
'scripts/suspend_users.mjs',
|
||||
'scripts/sync-user-entitlements/sync-user-entitlements.mjs',
|
||||
'scripts/update_project_image_name.mjs',
|
||||
'scripts/user-export/fs.mjs',
|
||||
'scripts/user-export/http.mjs',
|
||||
'scripts/user-export/observer.mjs',
|
||||
'scripts/user-export/options.mjs',
|
||||
'scripts/user-export/project.mjs',
|
||||
'scripts/user-export/scrubber.mjs',
|
||||
'scripts/user-export/stream.mjs',
|
||||
'scripts/user-export/user.mjs',
|
||||
'scripts/validate-data-of-model.mjs',
|
||||
],
|
||||
},
|
||||
{
|
||||
// Cypress specific rules
|
||||
files: [
|
||||
|
||||
@@ -48,7 +48,7 @@ function parseArgs() {
|
||||
}
|
||||
|
||||
function usage() {
|
||||
console.log(`Usage: find_dangling_comments.mjs [OPTS]
|
||||
console.log(`Usage: check_docs.mjs [OPTS]
|
||||
|
||||
Options:
|
||||
|
||||
@@ -205,7 +205,7 @@ async function findDanglingThreadIds(projectId, docs) {
|
||||
return []
|
||||
}
|
||||
|
||||
const rooms = await db.rooms.find(
|
||||
const rooms = db.rooms.find(
|
||||
{ project_id: new ObjectId(projectId), thread_id: { $exists: true } },
|
||||
{ readPreference: READ_PREFERENCE_SECONDARY }
|
||||
)
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
/* eslint-disable @overleaf/require-script-runner */
|
||||
// This *is* ScriptRunner.
|
||||
|
||||
import { ScriptLog } from '../../app/src/models/ScriptLog.mjs'
|
||||
import Settings from '@overleaf/settings'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user