mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 17:19:37 +02:00
* [clsi] handle draft mode and tikzexternalize as part of sync phase * [clsi] emit empty string from SafeReader on ENOENT * [clsi] persist history state after clearing dirty state without changes GitOrigin-RevId: d9dcd2e6887017f7935b5e95bdbdc6e11a3b18f5
27 lines
789 B
JavaScript
27 lines
789 B
JavaScript
import fsPromises from 'node:fs/promises'
|
|
import { callbackify } from 'node:util'
|
|
import logger from '@overleaf/logger'
|
|
|
|
const PREFIX =
|
|
'\\PassOptionsToPackage{draft}{graphicx}\\PassOptionsToPackage{draft}{graphics}'
|
|
|
|
async function injectDraftMode(filename) {
|
|
const content = await fsPromises.readFile(filename, { encoding: 'utf8' })
|
|
const modifiedContent = PREFIX + content
|
|
logger.debug(
|
|
{
|
|
content: content.slice(0, 1024), // \documentclass is normally v near the top
|
|
modifiedContent: modifiedContent.slice(0, 1024),
|
|
filename,
|
|
},
|
|
'injected draft class'
|
|
)
|
|
await fsPromises.writeFile(filename, modifiedContent, { encoding: 'utf8' })
|
|
}
|
|
|
|
export default {
|
|
PREFIX,
|
|
injectDraftMode: callbackify(injectDraftMode),
|
|
promises: { injectDraftMode },
|
|
}
|