Class: RuboCop::Tailwindcss::Sorter::QuickjsEngine

Inherits:
Object
  • Object
show all
Defined in:
lib/rubocop/tailwindcss/sorter.rb

Overview

Engine adapters: same bundle, same calls. QuickJS leaves promise jobs to the embedder (drain pumps them); V8 drains its microtask queue itself at the end of every evaluation.

Instance Method Summary collapse

Constructor Details

#initializeQuickjsEngine

Returns a new instance of QuickjsEngine.



113
114
115
116
# File 'lib/rubocop/tailwindcss/sorter.rb', line 113

def initialize
  require "quickjs"
  @vm = Quickjs::VM.new(memory_limit: 256 * 1024 * 1024, timeout_msec: 30_000)
end

Instance Method Details

#drainObject



122
123
124
# File 'lib/rubocop/tailwindcss/sorter.rb', line 122

def drain
  @vm.drain_jobs!
end

#run(code) ⇒ Object



118
119
120
# File 'lib/rubocop/tailwindcss/sorter.rb', line 118

def run(code)
  @vm.eval_code(code)
end