PHP 8.2.30
Preview: get-target-class-name.js Size: 1.49 KB
/home/byroehnu/easepaybiz.easetack.com/node_modules/@emotion/babel-plugin/src/utils/get-target-class-name.js

import findRoot from 'find-root'
import memoize from '@emotion/memoize'
import nodePath from 'path'
import hashString from '@emotion/hash'
import escapeRegexp from 'escape-string-regexp'

let hashArray = (arr /*: Array<string> */) => hashString(arr.join(''))

const unsafeRequire = require

const getPackageRootPath = memoize(filename => findRoot(filename))

const separator = new RegExp(escapeRegexp(nodePath.sep), 'g')

const normalizePath = path => nodePath.normalize(path).replace(separator, '/')

export function getTargetClassName(state, t) {
  if (state.emotionTargetClassNameCount === undefined) {
    state.emotionTargetClassNameCount = 0
  }

  const hasFilepath =
    state.file.opts.filename && state.file.opts.filename !== 'unknown'
  const filename = hasFilepath ? state.file.opts.filename : ''
  // normalize the file path to ignore folder structure
  // outside the current node project and arch-specific delimiters
  let moduleName = ''
  let rootPath = filename

  try {
    rootPath = getPackageRootPath(filename)
    moduleName = unsafeRequire(rootPath + '/package.json').name
  } catch (err) {}

  const finalPath =
    filename === rootPath ? 'root' : filename.slice(rootPath.length)

  const positionInFile = state.emotionTargetClassNameCount++

  const stuffToHash = [moduleName]

  if (finalPath) {
    stuffToHash.push(normalizePath(finalPath))
  } else {
    stuffToHash.push(state.file.code)
  }

  const stableClassName = `e${hashArray(stuffToHash)}${positionInFile}`

  return stableClassName
}

Directory Contents

Dirs: 0 × Files: 14

Name Size Perms Modified Actions
127 B lr--r--r-- 2026-03-14 01:49:07
Edit Download
750 B lrw-r--r-- 2026-03-05 00:19:55
Edit Download
373 B lrw-r--r-- 2026-03-05 00:19:55
Edit Download
2.79 KB lrw-r--r-- 2026-03-05 00:19:59
Edit Download
1.49 KB lrw-r--r-- 2026-03-05 00:20:00
Edit Download
537 B lrw-r--r-- 2026-03-05 00:20:02
Edit Download
4.62 KB lrw-r--r-- 2026-03-05 00:20:02
Edit Download
3.91 KB lrw-r--r-- 2026-03-05 00:20:04
Edit Download
1.26 KB lrw-r--r-- 2026-03-05 00:20:05
Edit Download
1.07 KB lrw-r--r-- 2026-03-05 00:20:06
Edit Download
1.90 KB lrw-r--r-- 2026-03-05 00:20:08
Edit Download
4.21 KB lrw-r--r-- 2026-03-05 00:20:09
Edit Download
1.65 KB lrw-r--r-- 2026-03-05 00:20:09
Edit Download
2.28 KB lrw-r--r-- 2026-03-05 00:20:09
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).