next.js/packages/next/src/build/analysis/parse-module.ts
parse-module.ts16 lines595 B
import { LRUCache } from '../../server/lib/lru-cache'
import { withPromiseCache } from '../../lib/with-promise-cache'
import { createHash } from 'crypto'
import { parse } from '../swc'

/**
 * Parses a module with SWC using an LRU cache where the parsed module will
 * be indexed by a sha of its content holding up to 500 entries.
 */
export const parseModule = withPromiseCache(
  new LRUCache<any>(500),
  async (filename: string, content: string) =>
    parse(content, { isModule: 'unknown', filename }).catch(() => null),
  (_, content) => createHash('sha1').update(content).digest('hex')
)
Quest for Codev2.0.0
/
SIGN IN