From 9a7ff162517f49eea0b19b067eaa17d50ca84974 Mon Sep 17 00:00:00 2001 From: chee Date: Tue, 19 Dec 2017 20:03:55 +0000 Subject: [PATCH] include babylon-lightscript with localRequire --- LightScriptAsset.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/LightScriptAsset.js b/LightScriptAsset.js index bf5f8a3..fa7cf75 100644 --- a/LightScriptAsset.js +++ b/LightScriptAsset.js @@ -1,15 +1,24 @@ const JSAsset = require('parcel-bundler/src/assets/JSAsset') -const babylon = require('babylon-lightscript') +const localRequire = require('parcel-bundler/src/utils/localRequire') module.exports = class LightScriptAsset extends JSAsset { - async parse (code) { + async getParserOptions () { const options = await super.getParserOptions() + options.plugins = options.plugins - ? options.plugins.concat('lightscript') + ? ['lightscript', ...options.plugins] : ['lightscript'] - this.contents = babylon.parse(code, options) + return options + } + + async parse (code) { + const babylon = localRequire('babylon-lightscript', this.name) + + const options = await this.getParserOptions() + + this.ast = babylon.parse(code, options) - return this.contents + return this.ast } }