Convert to ES modules

GitOrigin-RevId: ec8d55634306caa6a013daa4dc0ce0a3ffbcc3f0
This commit is contained in:
Andrew Rumble
2025-10-15 13:40:39 +01:00
committed by Copybot
parent 08c5e34668
commit fda790bd78
7 changed files with 71 additions and 64 deletions

View File

@@ -1,18 +1,19 @@
const minimist = require('minimist')
const {
/* eslint-disable @overleaf/require-script-runner */
import minimist from 'minimist'
import {
mkdirSync,
createWriteStream,
existsSync,
unlinkSync,
renameSync,
} = require('fs')
const mongodb = require('../app/src/infrastructure/mongodb')
const DocumentUpdaterHandler = require('../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.js')
const ProjectZipStreamManager = require('../app/src/Features/Downloads/ProjectZipStreamManager.js')
const logger = require('logger-sharelatex')
const { Project } = require('../app/src/models/Project.js')
const { User } = require('../app/src/models/User.js')
const readline = require('readline')
} from 'fs'
import mongodb from '../../../app/src/infrastructure/mongodb.js'
import DocumentUpdaterHandler from '../../../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.js'
import ProjectZipStreamManager from '../../../app/src/Features/Downloads/ProjectZipStreamManager.js'
import logger from 'logger-sharelatex'
import { Project } from '../../../app/src/models/Project.js'
import { User } from '../../../app/src/models/User.js'
import readline from 'readline'
function parseArgs() {
return minimist(process.argv.slice(2), {

View File

@@ -1,19 +1,22 @@
const Path = require('path')
const DocstoreManager = require('../app/src/Features/Docstore/DocstoreManager')
const DocumentUpdaterHandler = require('../app/src/Features/DocumentUpdater/DocumentUpdaterHandler')
const ProjectGetter = require('../app/src/Features/Project/ProjectGetter')
const ProjectEntityMongoUpdateHandler = require('../app/src/Features/Project/ProjectEntityMongoUpdateHandler')
const { waitForDb, db, ObjectId } = require('../app/src/infrastructure/mongodb')
const HistoryManager = require('../app/src/Features/History/HistoryManager')
const logger = require('@overleaf/logger').logger
import { scriptRunner } from './lib/ScriptRunner.mjs'
import Path from 'node:path'
import DocstoreManager from '../app/src/Features/Docstore/DocstoreManager.js'
import DocumentUpdaterHandler from '../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.js'
import ProjectGetter from '../app/src/Features/Project/ProjectGetter.js'
import ProjectEntityMongoUpdateHandler from '../app/src/Features/Project/ProjectEntityMongoUpdateHandler.js'
import { waitForDb, db, ObjectId } from '../app/src/infrastructure/mongodb.js'
import HistoryManager from '../app/src/Features/History/HistoryManager.js'
import logger from '@overleaf/logger'
import minimist from 'minimist'
const args = require('minimist')(process.argv.slice(2), {
const args = minimist(process.argv.slice(2), {
boolean: ['verbose', 'fix'],
})
const verbose = args.verbose
if (!verbose) {
logger.level('error')
logger.logger.level('error')
}
// no remaining arguments, print usage
@@ -254,7 +257,7 @@ async function main() {
}
}
main()
scriptRunner(main, args)
.then(() => {
console.log('DONE')
process.exit(0)

View File

@@ -1,7 +1,8 @@
const csv = require('csv')
const fs = require('fs')
const minimist = require('minimist')
const { User } = require('../app/src/models/User')
import { scriptRunner } from './lib/ScriptRunner.mjs'
import * as csv from 'csv'
import fs from 'node:fs'
import minimist from 'minimist'
import { User } from '../app/src/models/User.js'
/**
* This script extracts users who churned after day 1 - ie. their last session was within 24 hours of registering
@@ -205,9 +206,9 @@ async function getDay1ChurnUsers({
return allChurnUsers
}
async function runScript() {
const args = parseArgs()
const args = parseArgs()
async function runScript() {
console.log(
`Starting Day 1 churn extraction with lookback period: ${args.lookbackMonths} months`
)
@@ -268,7 +269,7 @@ async function runScript() {
)
}
runScript().catch(err => {
scriptRunner(runScript, args).catch(err => {
console.error('Script failed:', err)
process.exit(1)
})

View File

@@ -1,8 +1,7 @@
const csv = require('csv')
const fs = require('fs')
const {
OnboardingDataCollection,
} = require('../app/src/models/OnboardingDataCollection')
import { scriptRunner } from './lib/ScriptRunner.mjs'
import * as csv from 'csv'
import fs from 'node:fs'
import { OnboardingDataCollection } from '../app/src/models/OnboardingDataCollection.js'
/**
* This script extracts the OnboardingDataCollection collection from the database
@@ -90,7 +89,7 @@ const runScript = async () => {
csvWriter.on('error', err => console.error('CSV Writer Error:', err))
}
runScript().catch(err => {
scriptRunner(runScript).catch(err => {
console.error(err)
process.exit(1)
})

View File

@@ -1,13 +1,12 @@
const csv = require('csv')
const fs = require('fs')
const minimist = require('minimist')
const {
OnboardingDataCollection,
} = require('../app/src/models/OnboardingDataCollection')
const { User } = require('../app/src/models/User')
const SubscriptionLocator = require('../app/src/Features/Subscription/SubscriptionLocator')
const Settings = require('@overleaf/settings')
const { fetchJson } = require('@overleaf/fetch-utils')
import { scriptRunner } from './lib/ScriptRunner.mjs'
import * as csv from 'csv'
import fs from 'node:fs'
import minimist from 'minimist'
import { OnboardingDataCollection } from '../app/src/models/OnboardingDataCollection.js'
import { User } from '../app/src/models/User.js'
import SubscriptionLocator from '../app/src/Features/Subscription/SubscriptionLocator.js'
import Settings from '@overleaf/settings'
import { fetchJson } from '@overleaf/fetch-utils'
/**
* This script extracts ODC data with some extra fields, and filters on registration date and LaTeX experience
@@ -146,12 +145,11 @@ async function getUserCountries(institutions) {
}
return countryCodes
}
const args = parseArgs()
async function runScript() {
const columns = ['email']
const args = parseArgs()
if (args.includeSignUpDate) {
columns.push('signUpDate')
}
@@ -196,7 +194,7 @@ async function runScript() {
)
}
runScript().catch(err => {
scriptRunner(runScript, args).catch(err => {
console.error(err)
process.exit(1)
})

View File

@@ -1,33 +1,35 @@
const { buildParserFile } = require('@lezer/generator')
const { writeFileSync, readFileSync } = require('fs')
const path = require('path')
/* eslint-disable @overleaf/require-script-runner */
// This script doesn't work with ScriptRunner because it is run during the build process.
import { buildParserFile } from '@lezer/generator'
import { writeFileSync, readFileSync } from 'node:fs'
import path from 'node:path'
const grammars = [
{
grammarPath: path.resolve(
__dirname,
import.meta.dirname,
'../../frontend/js/features/source-editor/lezer-latex/latex.grammar'
),
parserOutputPath: path.resolve(
__dirname,
import.meta.dirname,
'../../frontend/js/features/source-editor/lezer-latex/latex.mjs'
),
termsOutputPath: path.resolve(
__dirname,
import.meta.dirname,
'../../frontend/js/features/source-editor/lezer-latex/latex.terms.mjs'
),
},
{
grammarPath: path.resolve(
__dirname,
import.meta.dirname,
'../../frontend/js/features/source-editor/lezer-bibtex/bibtex.grammar'
),
parserOutputPath: path.resolve(
__dirname,
import.meta.dirname,
'../../frontend/js/features/source-editor/lezer-bibtex/bibtex.mjs'
),
termsOutputPath: path.resolve(
__dirname,
import.meta.dirname,
'../../frontend/js/features/source-editor/lezer-bibtex/bibtex.terms.mjs'
),
},
@@ -56,9 +58,12 @@ function compile(grammar) {
console.info('Done!')
}
module.exports = { compile, grammars }
export default { compile, grammars }
if (require.main === module) {
if (
import.meta.url === process.argv[1] ||
import.meta.url === `file://${process.argv[1]}`
) {
try {
grammars.forEach(compile)
process.exit(0)

View File

@@ -1,9 +1,9 @@
// @ts-check
const _ = require('lodash')
const recurly = require('recurly')
const minimist = require('minimist')
const Settings = require('@overleaf/settings')
import { scriptRunner } from '../lib/ScriptRunner.mjs'
import _ from 'lodash'
import recurly from 'recurly'
import minimist from 'minimist'
import Settings from '@overleaf/settings'
const ADD_ON_CODE = 'assistant'
const ADD_ON_NAME = 'AI Assist'
@@ -209,7 +209,7 @@ function getAddOnConfig(prices) {
}
}
main()
scriptRunner(main)
.then(() => {
process.exit(0)
})