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