class SvelteOnRails::RenderServerSide

def compile

def compile
  start_time = Time.now
  cnf = SvelteOnRails::Configuration.instance
  subs = @svelte_filename.split('/')[0..-2].join('/')
  dist = cnf.dist_folder + cnf.components_folder + subs
  cmd = [
    'node',
    self.class.gem_app_dir + 'compile.js',
    @svelte_file,
    dist,
    self.class.gem_app_dir
  ].join(' ')
  stdout, stderr, status = Open3.capture3(cmd, chdir: SvelteOnRails::Configuration.instance.rails_root)
  unless status.to_s.match(/^pid [0-9]+ exit 0$/)
    raise "Compiling «#{@svelte_filename}» Server-side, script compile.js, executed within Rails.root:\n\n#{cmd}\n\n++++++\n\n#{stderr}\n\n++++++\n\n"
  end
  time = Time.now - start_time
  Rails.logger.info "  Compiled #{@svelte_filename}.js: #{time.round(3)}ms" rescue nil
end