Files
Ant-Browser/backend/internal/automation/script_package_validator_patterns.go
ant-black 70132417ad publish: 1.2.0 snapshot (f3d7ec5)
channel: master

version: 1.2.0

source-ref: D:\code\open_source\ant-chrome master

source-commit: f3d7ec5

merged-public-base: 3d264eb
2026-05-05 18:08:10 +08:00

73 lines
2.2 KiB
Go

package automation
import "regexp"
var (
scriptRequirePattern = regexp.MustCompile(`\brequire\s*\(\s*['"]([^'"]+)['"]\s*\)`)
scriptDynamicImportRegex = regexp.MustCompile(`\bimport\s*\(\s*['"]([^'"]+)['"]\s*\)`)
scriptImportFromPattern = regexp.MustCompile(`(?m)\bimport\s+(?:[^'"]*?\s+from\s+)?['"]([^'"]+)['"]`)
scriptExportFromPattern = regexp.MustCompile(`(?m)\bexport\s+[^'"]*?\s+from\s+['"]([^'"]+)['"]`)
nodeBuiltinModules = map[string]struct{}{
"assert": {},
"async_hooks": {},
"buffer": {},
"child_process": {},
"cluster": {},
"console": {},
"constants": {},
"crypto": {},
"dgram": {},
"diagnostics_channel": {},
"dns": {},
"domain": {},
"events": {},
"fs": {},
"http": {},
"http2": {},
"https": {},
"inspector": {},
"module": {},
"net": {},
"os": {},
"path": {},
"perf_hooks": {},
"process": {},
"punycode": {},
"querystring": {},
"readline": {},
"repl": {},
"stream": {},
"string_decoder": {},
"sys": {},
"timers": {},
"tls": {},
"trace_events": {},
"tty": {},
"url": {},
"util": {},
"v8": {},
"vm": {},
"wasi": {},
"worker_threads": {},
"zlib": {},
}
supportedScriptModuleExtensions = map[string]struct{}{
".js": {},
".cjs": {},
".mjs": {},
}
supportedLocalImportExtensions = map[string]struct{}{
".js": {},
".cjs": {},
".mjs": {},
".json": {},
}
)
type importedPackageJSON struct {
Dependencies map[string]any `json:"dependencies"`
DevDependencies map[string]any `json:"devDependencies"`
PeerDependencies map[string]any `json:"peerDependencies"`
OptionalDependencies map[string]any `json:"optionalDependencies"`
}