diff --git a/packages/uni-app-plus/dist/index.v3.js b/packages/uni-app-plus/dist/index.v3.js index fd9320e320c479bcd18c5a69a8850df6c08e97f8..020b236640628124b88d0ef1ef3445136e4c3789 100644 --- a/packages/uni-app-plus/dist/index.v3.js +++ b/packages/uni-app-plus/dist/index.v3.js @@ -7183,8 +7183,10 @@ var serviceContext = (function () { quit(); } else if (currentPage.$page.id === 1 && __uniConfig.realEntryPagePath) { // condition + __uniConfig.entryPagePath = __uniConfig.realEntryPagePath; + delete __uniConfig.realEntryPagePath; uni.reLaunch({ - url: '/' + __uniConfig.realEntryPagePath + url: '/' + __uniConfig.entryPagePath }); } else { back(delta, animationType, animationDuration); @@ -7890,9 +7892,9 @@ var serviceContext = (function () { if ( openType === 'reLaunch' || ( - openType === 'redirect' && + !__uniConfig.realEntryPagePath && pages.length === 0 - ) // 首页 redirect + ) ) { routeOptions.meta.isQuit = true; } else if (!routeOptions.meta.isTabBar) { @@ -8018,7 +8020,15 @@ var serviceContext = (function () { animationDuration }, callbackId) { const urls = url.split('?'); - const path = urls[0]; + const path = urls[0]; + const routeStyles = __uniRoutes.find(route => route.path === path).window; + const globalStyle = __uniConfig.window; + if (!animationType) { + animationType = routeStyles.animationType || globalStyle.animationType || ANI_SHOW; + } + if (!animationDuration) { + animationDuration = routeStyles.animationDuration || globalStyle.animationDuration || ANI_DURATION; + } const query = parseQuery(urls[1] || ''); navigate(path, function () { _navigateTo({ diff --git a/packages/uni-cli-shared/package.json b/packages/uni-cli-shared/package.json index e7ee497115ba36bc335b9fa069580e8bff1030c7..c101b833070b82f6cd57ae59da579f7de968bff1 100644 --- a/packages/uni-cli-shared/package.json +++ b/packages/uni-cli-shared/package.json @@ -10,7 +10,8 @@ }, "files": [ "lib", - "template" + "template", + "components" ], "scripts": { "test": "echo \"Error: no test specified\" && exit 1" diff --git a/packages/uni-mp-alipay/dist/index.js b/packages/uni-mp-alipay/dist/index.js index 47db5cb00acfd6a89a1038e8727635f79848d4a7..139e5cf00e848c0493a8053fb72a2ea62285cb4d 100644 --- a/packages/uni-mp-alipay/dist/index.js +++ b/packages/uni-mp-alipay/dist/index.js @@ -353,33 +353,26 @@ var baseApi = /*#__PURE__*/Object.freeze({ // 不支持的 API 列表 const todos = [ - 'saveImageToPhotosAlbum', - 'getRecorderManager', - 'getBackgroundAudioManager', - 'createInnerAudioContext', - 'createVideoContext', - 'createCameraContext', - 'createLivePlayerContext', - 'openDocument', - 'onMemoryWarning', - 'startAccelerometer', - 'startCompass', - 'addPhoneContact', - 'authorize', - 'chooseAddress', - 'chooseInvoiceTitle', - 'addTemplate', - 'deleteTemplate', - 'getTemplateLibraryById', - 'getTemplateLibraryList', - 'getTemplateList', - 'sendTemplateMessage', - 'setEnableDebug', - 'getExtConfig', - 'getExtConfigSync', - 'onWindowResize', - 'offWindowResize', - 'saveVideoToPhotosAlbum' + // 'getRecorderManager', + // 'getBackgroundAudioManager', + // 'createInnerAudioContext', + // 'createCameraContext', + // 'createLivePlayerContext', + // 'startAccelerometer', + // 'startCompass', + // 'authorize', + // 'chooseInvoiceTitle', + // 'addTemplate', + // 'deleteTemplate', + // 'getTemplateLibraryById', + // 'getTemplateLibraryList', + // 'getTemplateList', + // 'sendTemplateMessage', + // 'setEnableDebug', + // 'getExtConfig', + // 'getExtConfigSync', + // 'onWindowResize', + // 'offWindowResize' ]; // 存在兼容性的 API 列表 @@ -398,7 +391,14 @@ const canIUses = [ 'createIntersectionObserver', 'getUpdateManager', 'setBackgroundColor', - 'setBackgroundTextStyle' + 'setBackgroundTextStyle', + 'checkIsSupportSoterAuthentication', + 'startSoterAuthentication', + 'checkIsSoterEnrolledInDevice', + 'openDocument', + 'createVideoContext', + 'onMemoryWarning', + 'addPhoneContact' ]; function _handleNetworkInfo (result) { @@ -755,6 +755,29 @@ const protocols = { // 需要做转换的 API 列表 }, hideHomeButton: { name: 'hideBackHome' + }, + saveImageToPhotosAlbum: { + name: 'saveImage', + args: { + filePath: 'url' + } + }, + saveVideoToPhotosAlbum: { + args: { + filePath: 'src' + } + }, + chooseAddress: { + name: 'getAddress', + returnValue (result) { + let info = result.result || {}; + result.userName = info.fullname; + result.provinceName = info.prov; + result.cityName = info.city; + result.detailInfo = info.address; + result.telNumber = info.mobilePhone; + result.errMsg = result.resultStatus; + } } }; @@ -1970,6 +1993,12 @@ function parsePage (vuePageOptions) { onUnload () { this.$vm.__call_hook('onUnload'); this.$vm.$destroy(); + }, + events: { + // 支付宝小程序有些页面事件只能放在events下 + onBack () { + this.$vm.__call_hook('onBackPress'); + } }, __r: handleRef, __e: handleEvent, diff --git a/packages/uni-mp-baidu/dist/index.js b/packages/uni-mp-baidu/dist/index.js index 7be314570d9aefb41844fd3e770d3465f6a92f6a..bf79c194b5a4517cbe360cfd3559e06976dcc703 100644 --- a/packages/uni-mp-baidu/dist/index.js +++ b/packages/uni-mp-baidu/dist/index.js @@ -387,37 +387,37 @@ var previewImage = { // 不支持的 API 列表 const todos = [ - 'hideKeyboard', - 'onGyroscopeChange', - 'startGyroscope', - 'stopGyroscope', - 'openBluetoothAdapter', - 'startBluetoothDevicesDiscovery', - 'onBluetoothDeviceFound', - 'stopBluetoothDevicesDiscovery', - 'onBluetoothAdapterStateChange', - 'getConnectedBluetoothDevices', - 'getBluetoothDevices', - 'getBluetoothAdapterState', - 'closeBluetoothAdapter', - 'writeBLECharacteristicValue', - 'readBLECharacteristicValue', - 'onBLEConnectionStateChange', - 'onBLECharacteristicValueChange', - 'notifyBLECharacteristicValueChange', - 'getBLEDeviceServices', - 'getBLEDeviceCharacteristics', - 'createBLEConnection', - 'closeBLEConnection', - 'onBeaconServiceChange', - 'onBeaconUpdate', - 'getBeacons', - 'startBeaconDiscovery', - 'stopBeaconDiscovery', - 'hideShareMenu', - 'onWindowResize', - 'offWindowResize', - 'vibrate' + // 'hideKeyboard', + // 'onGyroscopeChange', + // 'startGyroscope', + // 'stopGyroscope', + // 'openBluetoothAdapter', + // 'startBluetoothDevicesDiscovery', + // 'onBluetoothDeviceFound', + // 'stopBluetoothDevicesDiscovery', + // 'onBluetoothAdapterStateChange', + // 'getConnectedBluetoothDevices', + // 'getBluetoothDevices', + // 'getBluetoothAdapterState', + // 'closeBluetoothAdapter', + // 'writeBLECharacteristicValue', + // 'readBLECharacteristicValue', + // 'onBLEConnectionStateChange', + // 'onBLECharacteristicValueChange', + // 'notifyBLECharacteristicValueChange', + // 'getBLEDeviceServices', + // 'getBLEDeviceCharacteristics', + // 'createBLEConnection', + // 'closeBLEConnection', + // 'onBeaconServiceChange', + // 'onBeaconUpdate', + // 'getBeacons', + // 'startBeaconDiscovery', + // 'stopBeaconDiscovery', + // 'hideShareMenu', + // 'onWindowResize', + // 'offWindowResize', + // 'vibrate' ]; // 存在兼容性的 API 列表 diff --git a/packages/uni-mp-qq/dist/index.js b/packages/uni-mp-qq/dist/index.js index ac2fccab6a63fdf4fafe12d6c73c22fafa49114c..2cba707f7d1000a63aa14007d486567ee4ee613e 100644 --- a/packages/uni-mp-qq/dist/index.js +++ b/packages/uni-mp-qq/dist/index.js @@ -389,48 +389,40 @@ const protocols = { previewImage }; const todos = [ - 'createLivePlayerContext', - 'createLivePusherContext', - 'loadFontFace', - 'onMemoryWarning', - 'onNetworkStatusChange', - 'startBeaconDiscovery', - 'stopBeaconDiscovery', - 'getBeacons', - 'onBeaconUpdate', - 'onBeaconServiceChange', - 'addPhoneContact', - 'getHCEState', - 'startHCE', - 'stopHCE', - 'onHCEMessage', - 'sendHCEMessage', - 'startWifi', - 'stopWifi', - 'connectWifi', - 'getWifiList', - 'onGetWifiList', - 'setWifiList', - 'onWifiConnected', - 'getConnectedWifi', - 'setNavigationBarColor', - 'setTopBarText', - 'getExtConfig', - 'getExtConfigSync', - 'getPhoneNumber', - 'chooseAddress', - 'addCard', - 'openCard', - 'getWeRunData', - 'launchApp', - 'chooseInvoiceTitle', - 'checkIsSupportSoterAuthentication', - 'startSoterAuthentication', - 'checkIsSoterEnrolledInDevice', - 'reportMonitor', - 'getLogManager', - 'reportAnalytics', - 'vibrate' + // 'startBeaconDiscovery', + // 'stopBeaconDiscovery', + // 'getBeacons', + // 'onBeaconUpdate', + // 'onBeaconServiceChange', + // 'addPhoneContact', + // 'getHCEState', + // 'startHCE', + // 'stopHCE', + // 'onHCEMessage', + // 'sendHCEMessage', + // 'startWifi', + // 'stopWifi', + // 'connectWifi', + // 'getWifiList', + // 'onGetWifiList', + // 'setWifiList', + // 'onWifiConnected', + // 'getConnectedWifi', + // 'setTopBarText', + // 'getPhoneNumber', + // 'chooseAddress', + // 'addCard', + // 'openCard', + // 'getWeRunData', + // 'launchApp', + // 'chooseInvoiceTitle', + // 'checkIsSupportSoterAuthentication', + // 'startSoterAuthentication', + // 'checkIsSoterEnrolledInDevice', + // 'vibrate', + // 'loadFontFace', + // 'getExtConfig', + // 'getExtConfigSync' ]; const canIUses = [ 'scanCode', @@ -455,7 +447,15 @@ const canIUses = [ 'onSocketClose', 'openDocument', 'updateShareMenu', - 'getShareInfo' + 'getShareInfo', + 'createLivePlayerContext', + 'createLivePusherContext', + 'setNavigationBarColor', + 'onMemoryWarning', + 'onNetworkStatusChange', + 'reportMonitor', + 'getLogManager', + 'reportAnalytics' ]; const CALLBACKS = ['success', 'fail', 'cancel', 'complete']; diff --git a/packages/uni-mp-toutiao/dist/index.js b/packages/uni-mp-toutiao/dist/index.js index 9f04d80dcb8ec15ba8a34fa6ee30473219164886..4c738a88d2fccb17497eff013b27b700412c6316 100644 --- a/packages/uni-mp-toutiao/dist/index.js +++ b/packages/uni-mp-toutiao/dist/index.js @@ -387,65 +387,64 @@ var previewImage = { // 不支持的 API 列表 const todos = [ - 'createCameraContext', - 'createLivePlayerContext', - 'getSavedFileInfo', - 'createMapContext', - 'onMemoryWarning', - 'onGyroscopeChange', - 'startGyroscope', - 'stopGyroscope', - 'setScreenBrightness', - 'getScreenBrightness', - 'addPhoneContact', - 'openBluetoothAdapter', - 'startBluetoothDevicesDiscovery', - 'onBluetoothDeviceFound', - 'stopBluetoothDevicesDiscovery', - 'onBluetoothAdapterStateChange', - 'getConnectedBluetoothDevices', - 'getBluetoothDevices', - 'getBluetoothAdapterState', - 'closeBluetoothAdapter', - 'writeBLECharacteristicValue', - 'readBLECharacteristicValue', - 'onBLEConnectionStateChange', - 'onBLECharacteristicValueChange', - 'notifyBLECharacteristicValueChange', - 'getBLEDeviceServices', - 'getBLEDeviceCharacteristics', - 'createBLEConnection', - 'closeBLEConnection', - 'onBeaconServiceChange', - 'onBeaconUpdate', - 'getBeacons', - 'startBeaconDiscovery', - 'stopBeaconDiscovery', - 'setNavigationBarColor', - 'showNavigationBarLoading', - 'hideNavigationBarLoading', - 'setTabBarItem', - 'setTabBarStyle', - 'hideTabBar', - 'showTabBar', - 'setTabBarBadge', - 'removeTabBarBadge', - 'showTabBarRedDot', - 'hideTabBarRedDot', - 'setBackgroundColor', - 'setBackgroundTextStyle', - 'chooseInvoiceTitle', - 'addTemplate', - 'deleteTemplate', - 'getTemplateLibraryById', - 'getTemplateLibraryList', - 'getTemplateList', - 'sendTemplateMessage', - 'setEnableDebug', - 'onWindowResize', - 'offWindowResize', - 'createOffscreenCanvas', - 'vibrate' + // 'createCameraContext', + // 'createLivePlayerContext', + // 'getSavedFileInfo', + // 'createMapContext', + // 'onMemoryWarning', + // 'onGyroscopeChange', + // 'startGyroscope', + // 'stopGyroscope', + // 'setScreenBrightness', + // 'getScreenBrightness', + // 'addPhoneContact', + // 'openBluetoothAdapter', + // 'startBluetoothDevicesDiscovery', + // 'onBluetoothDeviceFound', + // 'stopBluetoothDevicesDiscovery', + // 'onBluetoothAdapterStateChange', + // 'getConnectedBluetoothDevices', + // 'getBluetoothDevices', + // 'getBluetoothAdapterState', + // 'closeBluetoothAdapter', + // 'writeBLECharacteristicValue', + // 'readBLECharacteristicValue', + // 'onBLEConnectionStateChange', + // 'onBLECharacteristicValueChange', + // 'notifyBLECharacteristicValueChange', + // 'getBLEDeviceServices', + // 'getBLEDeviceCharacteristics', + // 'createBLEConnection', + // 'closeBLEConnection', + // 'onBeaconServiceChange', + // 'onBeaconUpdate', + // 'getBeacons', + // 'startBeaconDiscovery', + // 'stopBeaconDiscovery', + // 'showNavigationBarLoading', + // 'hideNavigationBarLoading', + // 'setTabBarItem', + // 'setTabBarStyle', + // 'hideTabBar', + // 'showTabBar', + // 'setTabBarBadge', + // 'removeTabBarBadge', + // 'showTabBarRedDot', + // 'hideTabBarRedDot', + // 'setBackgroundColor', + // 'setBackgroundTextStyle', + // 'chooseInvoiceTitle', + // 'addTemplate', + // 'deleteTemplate', + // 'getTemplateLibraryById', + // 'getTemplateLibraryList', + // 'getTemplateList', + // 'sendTemplateMessage', + // 'setEnableDebug', + // 'onWindowResize', + // 'offWindowResize', + // 'createOffscreenCanvas', + // 'vibrate' ]; // 存在兼容性的 API 列表 @@ -472,6 +471,7 @@ const canIUses = [ // 'openDocument', // 'onUserCaptureScreen', // 'getBackgroundAudioManager', + // 'setNavigationBarColor', ]; // 需要做转换的 API 列表 @@ -538,9 +538,9 @@ const protocols = { } }, requestPayment: { - name: tt.canIUse && tt.canIUse('pay') ? 'pay' : 'requestPayment', + name: tt.pay ? 'pay' : 'requestPayment', args: { - orderInfo: tt.canIUse && tt.canIUse('pay') ? 'orderInfo' : 'data' + orderInfo: tt.pay ? 'orderInfo' : 'data' } }, getFileInfo: { diff --git a/packages/vue-cli-plugin-hbuilderx/module-alias.js b/packages/vue-cli-plugin-hbuilderx/module-alias.js index a9147005d7f6f929777d578bbd2db2eae5b92f9e..d6d54afe7ab22c3d9565fb35cf45af1fcb5e97d3 100644 --- a/packages/vue-cli-plugin-hbuilderx/module-alias.js +++ b/packages/vue-cli-plugin-hbuilderx/module-alias.js @@ -9,8 +9,8 @@ const { // nvue override moduleAlias.addAlias('weex-styler', path.resolve(__dirname, 'packages/weex-styler')) moduleAlias.addAlias('weex-template-compiler', path.resolve(__dirname, 'packages/weex-template-compiler')) -moduleAlias.addAlias('./compileTemplate', require.resolve( - '@dcloudio/vue-cli-plugin-uni/packages/@vue/component-compiler-utils/dist/compileTemplate')) +moduleAlias.addAlias('@vue/component-compiler-utils', require.resolve('@dcloudio/vue-cli-plugin-uni/packages/@vue/component-compiler-utils')) +moduleAlias.addAlias('@vue/component-compiler-utils/package.json', require.resolve('@dcloudio/vue-cli-plugin-uni/packages/@vue/component-compiler-utils/package.json')) if (isInHBuilderX) { moduleAlias.addAlias('typescript', path.resolve(process.env.UNI_HBUILDERX_PLUGINS, diff --git a/packages/vue-cli-plugin-hbuilderx/packages/weex-template-compiler/build.js b/packages/vue-cli-plugin-hbuilderx/packages/weex-template-compiler/build.js index bab314c1f9bc1dcd797e7c62ed6129fe51297118..23292e6b724f4856f9d62a20080ecb18263eb408 100644 --- a/packages/vue-cli-plugin-hbuilderx/packages/weex-template-compiler/build.js +++ b/packages/vue-cli-plugin-hbuilderx/packages/weex-template-compiler/build.js @@ -555,7 +555,7 @@ function parseHTML (html, options) { var splitRE = /\r?\n/g; var replaceRE = /./g; var isSpecialTag = makeMap('script,style,template', true); -var isCustomBlock = makeMap('wxs,filter,sjs', true);// fixed by xxxxxx +var isCustomBlock = makeMap('wxs,filter,sjs,renderjs', true);// fixed by xxxxxx /** * Parse a single-file component (*.vue) file into an SFC Descriptor Object. @@ -2779,7 +2779,13 @@ var uid = 0; * directives subscribing to it. */ var Dep = function Dep () { - this.id = uid++; + // fixed by xxxxxx (nvue vuex) + /* eslint-disable no-undef */ + if(typeof SharedObject !== 'undefined'){ + this.id = SharedObject.uid++; + } else { + this.id = uid++; + } this.subs = []; }; diff --git a/packages/vue-cli-plugin-uni/lib/app-plus/index.js b/packages/vue-cli-plugin-uni/lib/app-plus/index.js index 2528bc771dc3bb093d8594acf213332d5ae1c176..0267e47dc405d6d5d5e44e5ded231c8140dc09cb 100644 --- a/packages/vue-cli-plugin-uni/lib/app-plus/index.js +++ b/packages/vue-cli-plugin-uni/lib/app-plus/index.js @@ -88,6 +88,13 @@ const v3 = { loader: path.resolve(__dirname, '../../packages/webpack-uni-app-loader/view/script') }) + // view 层 renderjs + rules.push({ + resourceQuery: [/lang=renderjs/, /blockType=renderjs/], + use: [{ + loader: path.resolve(__dirname, '../../packages/webpack-uni-app-loader/view/renderjs') + }] + }) } scriptLoaders.push({ loader: path.resolve(__dirname, @@ -245,11 +252,13 @@ const v3 = { compilerOptions }, cacheConfig)) .end() - .use('uniapp-custom-block-loader') - .loader(require.resolve('@dcloudio/vue-cli-plugin-uni/packages/webpack-custom-block-loader')) - .options({ - compiler: getPlatformCompiler() - }) + // .use('uniapp-custom-block-loader') + // .loader(require.resolve('@dcloudio/vue-cli-plugin-uni/packages/webpack-custom-block-loader')) + // .options({ + // isAppService, + // isAppView, + // compiler: getPlatformCompiler() + // }) // 是否启用 cache if (process.env.UNI_USING_CACHE) { diff --git a/packages/vue-cli-plugin-uni/lib/vue-loader.js b/packages/vue-cli-plugin-uni/lib/vue-loader.js index fc030cf1546381c334e658886cb2c7d7e1e44238..fdb07275ec9ec575218ad2ec8ecb567bf55874ff 100644 --- a/packages/vue-cli-plugin-uni/lib/vue-loader.js +++ b/packages/vue-cli-plugin-uni/lib/vue-loader.js @@ -35,11 +35,11 @@ module.exports = function modifyVueLoader (webpackConfig, compilerOptions, api) }, compilerOptions) }, cacheConfig)) .end() - .use('uniapp-custom-block-loader') - .loader(require.resolve('@dcloudio/vue-cli-plugin-uni/packages/webpack-custom-block-loader')) - .options({ - compiler: getPlatformCompiler() - }) + // .use('uniapp-custom-block-loader') + // .loader(require.resolve('@dcloudio/vue-cli-plugin-uni/packages/webpack-custom-block-loader')) + // .options({ + // compiler: getPlatformCompiler() + // }) // h5 框架需要使用 scoped 样式,其他平台编译时识别是否 nvue 文件且注入 flex 相关样式 if (process.env.UNI_PLATFORM === 'h5') { diff --git a/packages/vue-cli-plugin-uni/package.json b/packages/vue-cli-plugin-uni/package.json index e306104e4806f9eca958015f7ebd86f2e846b60e..f52620c989b70122876cba2b78897aa74cf522d7 100644 --- a/packages/vue-cli-plugin-uni/package.json +++ b/packages/vue-cli-plugin-uni/package.json @@ -24,6 +24,7 @@ "envinfo": "^6.0.1", "hash-sum": "^1.0.2", "loader-utils": "^1.1.0", + "lru-cache": "^4.1.2", "mkdirp": "^0.5.1", "module-alias": "^2.1.0", "postcss": "^7.0.7", diff --git a/packages/vue-cli-plugin-uni/packages/@vue/component-compiler-utils/CHANGELOG.md b/packages/vue-cli-plugin-uni/packages/@vue/component-compiler-utils/CHANGELOG.md new file mode 100644 index 0000000000000000000000000000000000000000..24b0b5bc524a724607f0c9140bb5e9bae16edd15 --- /dev/null +++ b/packages/vue-cli-plugin-uni/packages/@vue/component-compiler-utils/CHANGELOG.md @@ -0,0 +1,259 @@ +# [3.1.0](https://github.com/vuejs/component-compiler-utils/compare/v3.0.2...v3.1.0) (2019-12-08) + + +### Features + +* include filename in `finalCompilerOptions` ([#74](https://github.com/vuejs/component-compiler-utils/issues/74)) ([3dda72d](https://github.com/vuejs/component-compiler-utils/commit/3dda72d)) +* support AST for template compile ([#68](https://github.com/vuejs/component-compiler-utils/issues/68)) ([ed44d6f](https://github.com/vuejs/component-compiler-utils/commit/ed44d6f)) +* support audio src in `transformAssetUrls` option by default ([#72](https://github.com/vuejs/component-compiler-utils/issues/72)) ([47f1341](https://github.com/vuejs/component-compiler-utils/commit/47f1341)) + + + +## [3.0.2](https://github.com/vuejs/component-compiler-utils/compare/v3.0.1...v3.0.2) (2019-11-06) + + +### Bug Fixes + +* also include "lib" folder for type definitions ([dd42df1](https://github.com/vuejs/component-compiler-utils/commit/dd42df1)), closes [#73](https://github.com/vuejs/component-compiler-utils/issues/73) + + + +## [3.0.1](https://github.com/vuejs/component-compiler-utils/compare/v3.0.0...v3.0.1) (2019-11-04) + + +### Bug Fixes + +* should not crash when prettier failed ([89e7900](https://github.com/vuejs/component-compiler-utils/commit/89e7900)) +* unpin prettier version ([59a01bb](https://github.com/vuejs/component-compiler-utils/commit/59a01bb)) + + +# [3.0.0](https://github.com/vuejs/component-compiler-utils/compare/v2.6.0...v3.0.0) (2019-04-11) + + +### Features + +* Replace node-sass to sass ([#56](https://github.com/vuejs/component-compiler-utils/issues/56)) ([3e4e3fc](https://github.com/vuejs/component-compiler-utils/commit/3e4e3fc)), closes [#50](https://github.com/vuejs/component-compiler-utils/issues/50) + + +### BREAKING CHANGES + +* Using `sass` instead of `node-sass` package. + + + +# [2.6.0](https://github.com/vuejs/component-compiler-utils/compare/v2.5.2...v2.6.0) (2019-02-21) + + +### Features + +* implement ::v-deep as a shadow piercing combinator ([#54](https://github.com/vuejs/component-compiler-utils/issues/54)) ([8b2c646](https://github.com/vuejs/component-compiler-utils/commit/8b2c646)) + + + +# [2.6.0](https://github.com/vuejs/component-compiler-utils/compare/v2.5.2...v2.6.0) (2019-02-21) + + +### Features + +* implement ::v-deep as a shadow piercing combinator ([#54](https://github.com/vuejs/component-compiler-utils/issues/54)) ([8b2c646](https://github.com/vuejs/component-compiler-utils/commit/8b2c646)) + + + +## [2.5.2](https://github.com/vuejs/component-compiler-utils/compare/v2.5.0...v2.5.2) (2019-01-31) + + +### Bug Fixes + +* fix sourceMap path separator on Windows, default sourceRoot to "" ([#51](https://github.com/vuejs/component-compiler-utils/issues/51)) ([df32cd9](https://github.com/vuejs/component-compiler-utils/commit/df32cd9)), closes [#47](https://github.com/vuejs/component-compiler-utils/issues/47) +* generate correct source-map when content is not padded ([#52](https://github.com/vuejs/component-compiler-utils/issues/52)) ([81be0ca](https://github.com/vuejs/component-compiler-utils/commit/81be0ca)) + + + +## [2.5.1](https://github.com/vuejs/component-compiler-utils/compare/v2.5.0...v2.5.1) (2019-01-25) + + +### Bug Fixes + +* fix sourceMap path separator on Windows, default sourceRoot to "" ([#51](https://github.com/vuejs/component-compiler-utils/issues/51)) ([df32cd9](https://github.com/vuejs/component-compiler-utils/commit/df32cd9)), closes [#47](https://github.com/vuejs/component-compiler-utils/issues/47) + + + +# [2.5.0](https://github.com/vuejs/component-compiler-utils/compare/v2.4.0...v2.5.0) (2019-01-08) + + +### Features + +* add 'use' tag of SVG to 'transformAssetUrls' option as default ([#45](https://github.com/vuejs/component-compiler-utils/issues/45)) ([f4e3336](https://github.com/vuejs/component-compiler-utils/commit/f4e3336)) + + + +# [2.4.0](https://github.com/vuejs/component-compiler-utils/compare/v2.0.0...v2.4.0) (2019-01-02) + + +### Bug Fixes + +* do not insert newline if style is already minified ([2603ee2](https://github.com/vuejs/component-compiler-utils/commit/2603ee2)) +* Forward preprocessor options to less ([#25](https://github.com/vuejs/component-compiler-utils/issues/25)) ([3b19c1e](https://github.com/vuejs/component-compiler-utils/commit/3b19c1e)), closes [#24](https://github.com/vuejs/component-compiler-utils/issues/24) +* Move trim and scoped postcss plugins at the start of plugin list ([#36](https://github.com/vuejs/component-compiler-utils/issues/36)) ([0d52d86](https://github.com/vuejs/component-compiler-utils/commit/0d52d86)) +* pin prettier version ([5f138a6](https://github.com/vuejs/component-compiler-utils/commit/5f138a6)) +* remove space after selector when inserting scoped attribute ([5b299ed](https://github.com/vuejs/component-compiler-utils/commit/5b299ed)), closes [vue-loader/#1370](https://github.com/vuejs/component-compiler-utils/issues/1370) +* should work with variable named render (close [#23](https://github.com/vuejs/component-compiler-utils/issues/23)) ([273827b](https://github.com/vuejs/component-compiler-utils/commit/273827b)) +* support standalone pseudo element selectors ([#33](https://github.com/vuejs/component-compiler-utils/issues/33)) ([d6cfbbf](https://github.com/vuejs/component-compiler-utils/commit/d6cfbbf)) +* Typings for SFCDescriptor and SFCCustomBlock ([#29](https://github.com/vuejs/component-compiler-utils/issues/29)) ([bb09115](https://github.com/vuejs/component-compiler-utils/commit/bb09115)) + + +### Features + +* **scoped-css:** support leading >>> or /deep/ in selectors ([1a3b5bb](https://github.com/vuejs/component-compiler-utils/commit/1a3b5bb)) +* add `prettify ` option ([#42](https://github.com/vuejs/component-compiler-utils/issues/42)) ([db3655b](https://github.com/vuejs/component-compiler-utils/commit/db3655b)) +* Support `stylus` as `