release v0.6.6 replace queryParse with getOptions.
diff --git a/package-lock.json b/package-lock.json
index 399b195..8889938 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "weex-loader",
- "version": "0.6.5",
+ "version": "0.6.6",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/package.json b/package.json
index 5bb0a0f..32abc1f 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "weex-loader",
- "version": "0.6.5",
+ "version": "0.6.6",
"description": "a webpack loader for weex",
"main": "index.js",
"author": "terrykingcha <terrykingcha@gmail.com>",
diff --git a/src/element.js b/src/element.js
index 378a261..46ed9b7 100644
--- a/src/element.js
+++ b/src/element.js
@@ -8,8 +8,8 @@
this.cacheable && this.cacheable()
const callback = this.async()
- const loaderQuery = loaderUtils.parseQuery(this.query)
- const resourceQuery = loaderUtils.parseQuery(this.resourceQuery)
+ const loaderQuery = loaderUtils.getOptions(this) || {}
+ const resourceQuery = loaderUtils.parseQuery(this.resourceQuery) || {}
const name = resourceQuery.name
let contentPromise
diff --git a/src/extract.js b/src/extract.js
index 244fea4..2e4515b 100644
--- a/src/extract.js
+++ b/src/extract.js
@@ -14,7 +14,7 @@
this.cacheable && this.cacheable()
const callback = this.async()
- const loaderQuery = loaderUtils.parseQuery(this.query)
+ const loaderQuery = loaderUtils.getOptions(this)
const type = loaderQuery.type
let index = loaderQuery.index
diff --git a/src/loader.js b/src/loader.js
index 4f49781..9700541 100644
--- a/src/loader.js
+++ b/src/loader.js
@@ -2,21 +2,19 @@
import path from 'path'
import fs from 'fs'
import md5 from 'md5'
-
import * as config from './config'
import * as legacy from './legacy'
-
import {
parseFragment
-} from './parser'
+}
+from './parser'
import {
getNameByPath,
getRequireString,
stringifyLoaders
-} from './util'
-
+}
+from './util'
import vueLoader from 'weex-vue-loader'
-
const loaderPath = __dirname
const defaultLoaders = {
none: '',
@@ -29,7 +27,7 @@
babel: loadBabelModule('babel-loader')
}
-function loadBabelModule (moduleName) {
+function loadBabelModule(moduleName) {
try {
const filePath = require.resolve(moduleName)
return filePath.slice(0, filePath.lastIndexOf(moduleName) + moduleName.length)
@@ -39,22 +37,19 @@
}
}
-function getLoaderString (type, config) {
+function getLoaderString(type, config) {
config = config || {}
let customLoader
let loaders
-
if (config.lang && config.customLang[config.lang]) {
customLoader = config.customLang[config.lang]
}
-
if (type === 'main') {
loaders = [{
name: defaultLoaders.main
}]
return stringifyLoaders(loaders)
}
-
if (type === 'element') {
loaders = [{
name: defaultLoaders.main,
@@ -73,7 +68,6 @@
}
return stringifyLoaders(loaders)
}
-
if (type === 'template') {
loaders = [{
name: defaultLoaders.json
@@ -102,7 +96,6 @@
}
return stringifyLoaders(loaders)
}
-
if (type === 'style') {
loaders = [{
name: defaultLoaders.json
@@ -132,7 +125,6 @@
}
return stringifyLoaders(loaders)
}
-
if (type === 'script') {
loaders = [{
name: defaultLoaders.script
@@ -170,7 +162,6 @@
}
return stringifyLoaders(loaders)
}
-
if (type === 'config') {
loaders = [{
name: defaultLoaders.json
@@ -185,7 +176,6 @@
}
return stringifyLoaders(loaders)
}
-
if (type === 'data') {
loaders = [{
name: defaultLoaders.json
@@ -202,32 +192,24 @@
}
}
-function loader (source) {
+function loader(source) {
this.cacheable && this.cacheable()
-
- // Support *.vue files.
- // If file extname is vue then go to `weex-vue-loader`.
+ // Support *.vue files.
+ // If file extname is vue then go to `weex-vue-loader`.
if (path.extname(this.resourcePath).match(/\.vue/)) {
return vueLoader.call(this, source)
}
-
const options = this.options.weex || {}
const customLang = options.lang || {}
-
- const loaderQuery = loaderUtils.parseQuery(this.query)
- const resourceQuery = loaderUtils.parseQuery(this.resourceQuery)
+ const loaderQuery = loaderUtils.getOptions(this) || {}
+ const resourceQuery = this.resourceQuery && loaderUtils.parseQuery(this.resourceQuery) || {}
const resourcePath = this.resourcePath
const isElement = loaderQuery.element
const isEntry = resourceQuery.entry
const filename = path.relative('.', resourcePath)
- const name = isEntry ? md5(fs.readFileSync(filename)) :
- (resourceQuery.name ||
- getNameByPath(resourcePath))
-
+ const name = isEntry ? md5(fs.readFileSync(filename)) : (resourceQuery.name || getNameByPath(resourcePath))
let output = ''
-
const frag = parseFragment(source)
-
const elementNames = []
if (frag.element.length) {
for (let i = 0; i < frag.element.length; i++) {
@@ -237,38 +219,25 @@
return ''
}
elementNames.push(element.name)
-
let src = resourcePath
if (element.src) {
src = element.src
}
-
- output += getRequireString(
- this,
- getLoaderString('element', {
- customLang,
- name: element.name,
- source: element.src
- }),
- `${src}?name=${element.name}`
- )
+ output += getRequireString(this, getLoaderString('element', {
+ customLang,
+ name: element.name,
+ source: element.src
+ }), `${src}?name=${element.name}`)
}
}
-
if (frag.deps.length) {
for (const dep of frag.deps) {
const filepath = path.resolve(path.dirname(resourcePath), `${dep}.we`)
- if (elementNames.indexOf(dep) < 0
- && fs.existsSync(filepath)) {
- output += getRequireString(
- this,
- getLoaderString('none'),
- `./${dep}.we`
- )
+ if (elementNames.indexOf(dep) < 0 && fs.existsSync(filepath)) {
+ output += getRequireString(this, getLoaderString('none'), `./${dep}.we`)
}
}
}
-
if (!frag.template.length) {
this.emitError('Template block is required')
return ''
@@ -279,128 +248,86 @@
if (template.src) {
src = template.src
}
- output += 'var __weex_template__ = ' +
- getRequireString(
- this,
- getLoaderString('template', {
- customLang,
- lang: template.lang,
- element: isElement,
- elementName: isElement ? name : undefined,
- source: template.src
- }),
- src
- )
+ output += 'var __weex_template__ = ' + getRequireString(this, getLoaderString('template', {
+ customLang,
+ lang: template.lang,
+ element: isElement,
+ elementName: isElement ? name : undefined,
+ source: template.src
+ }), src)
}
-
if (frag.style.length) {
const style = frag.style[0]
let src = resourcePath
if (style.src) {
src = style.src
}
- output += 'var __weex_style__ = ' +
- getRequireString(
- this,
- getLoaderString('style', {
- customLang,
- lang: style.lang,
- element: isElement,
- elementName: isElement ? name : undefined,
- source: style.src
- }),
- src
- )
+ output += 'var __weex_style__ = ' + getRequireString(this, getLoaderString('style', {
+ customLang,
+ lang: style.lang,
+ element: isElement,
+ elementName: isElement ? name : undefined,
+ source: style.src
+ }), src)
}
-
if (frag.script.length) {
const script = frag.script[0]
let src = resourcePath
if (script.src) {
src = script.src
}
- output += 'var __weex_script__ = ' +
- getRequireString(
- this,
- getLoaderString('script', {
- customLang,
- lang: script.lang,
- element: isElement,
- elementName: isElement ? name : undefined,
- source: script.src
- }),
- src
- )
+ output += 'var __weex_script__ = ' + getRequireString(this, getLoaderString('script', {
+ customLang,
+ lang: script.lang,
+ element: isElement,
+ elementName: isElement ? name : undefined,
+ source: script.src
+ }), src)
}
-
if (isEntry && frag.data.length) {
const data = frag.data[0]
let src = resourcePath
if (data.src) {
src = data.src
}
- output += 'var __weex_data__ = ' +
- getRequireString(
- this,
- getLoaderString('data', {
- source: data.src
- }),
- src
- )
+ output += 'var __weex_data__ = ' + getRequireString(this, getLoaderString('data', {
+ source: data.src
+ }), src)
}
-
if (isEntry && frag.config.length) {
const config = frag.config[0]
let src = resourcePath
if (config.src) {
src = config.src
}
- output += 'var __weex_config__ = ' +
- getRequireString(
- this,
- getLoaderString('config', {
- source: config.src
- }),
- src
- )
+ output += 'var __weex_config__ = ' + getRequireString(this, getLoaderString('config', {
+ source: config.src
+ }), src)
}
-
output += `
__weex_define__('@weex-component/${name}', [], function(__weex_require__, __weex_exports__, __weex_module__) {
-` + (
- frag.script.length > 0 ? `
+` + (frag.script.length > 0 ? `
__weex_script__(__weex_module__, __weex_exports__, __weex_require__)
if (__weex_exports__.__esModule && __weex_exports__.default) {
__weex_module__.exports = __weex_exports__.default
}
-` : ''
- ) +
-`
+` : '') + `
__weex_module__.exports.template = __weex_template__
-` + (
- frag.style.length > 0 ? `
+` + (frag.style.length > 0 ? `
__weex_module__.exports.style = __weex_style__
-` : ''
- ) + `
+` : '') + `
})
`
if (isEntry) {
output += `
-__weex_bootstrap__('@weex-component/${name}'`
- + (frag.config.length > 0 ? `,__weex_config__` : ',undefined')
- + (frag.data.length > 0 ? `,__weex_data__` : ',undefined')
-+ `)`
+__weex_bootstrap__('@weex-component/${name}'` + (frag.config.length > 0 ? `,__weex_config__` : ',undefined') + (frag.data.length > 0 ? `,__weex_data__` : ',undefined') + `)`
}
-
return output
}
-
loader.setLogLevel = level => {
config.logLevel = level
}
-
for (const key in legacy) {
loader[key] = legacy[key]
}
-
module.exports = loader