@dcloudio/vue-cli-plugin-uni 2.0.0 → 2.0.1-32920211122002

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/commands/build.js +64 -33
  2. package/commands/serve.js +12 -17
  3. package/generator.js +6 -2
  4. package/index.js +5 -3
  5. package/lib/chain-webpack.js +8 -1
  6. package/lib/check-update.js +56 -0
  7. package/lib/commands/custom.js +7 -4
  8. package/lib/commands/invoke.js +5 -4
  9. package/lib/configure-webpack.js +35 -5
  10. package/lib/copy-webpack-options.js +60 -20
  11. package/lib/env.js +99 -51
  12. package/lib/error-reporting.js +9 -3
  13. package/lib/mp/index.js +31 -16
  14. package/lib/options.js +6 -3
  15. package/lib/util.js +5 -6
  16. package/package.json +3 -3
  17. package/packages/@vue/component-compiler-utils/MODIFY.md +5 -0
  18. package/packages/@vue/component-compiler-utils/dist/compileStyle.js +11 -0
  19. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/API.md +873 -0
  20. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/CHANGELOG.md +466 -0
  21. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/LICENSE-MIT +22 -0
  22. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/README.md +49 -0
  23. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/index.js +26 -0
  24. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/parser.js +1088 -0
  25. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/processor.js +185 -0
  26. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/attribute.js +468 -0
  27. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/className.js +67 -0
  28. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/combinator.js +35 -0
  29. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/comment.js +35 -0
  30. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/constructors.js +91 -0
  31. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/container.js +392 -0
  32. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/guards.js +54 -0
  33. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/id.js +39 -0
  34. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/index.js +39 -0
  35. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/namespace.js +98 -0
  36. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/nesting.js +36 -0
  37. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/node.js +216 -0
  38. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/pseudo.js +40 -0
  39. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/root.js +60 -0
  40. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/selector.js +35 -0
  41. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/string.js +35 -0
  42. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/tag.js +35 -0
  43. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/types.js +15 -0
  44. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/selectors/universal.js +36 -0
  45. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/sortAscending.js +10 -0
  46. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/tokenTypes.js +39 -0
  47. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/tokenize.js +271 -0
  48. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/util/ensureObject.js +20 -0
  49. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/util/getProp.js +22 -0
  50. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/util/index.js +41 -0
  51. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/util/stripComments.js +21 -0
  52. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/dist/util/unesc.js +18 -0
  53. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/package.json +76 -0
  54. package/packages/@vue/component-compiler-utils/node_modules/postcss-selector-parser/postcss-selector-parser.d.ts +499 -0
  55. package/packages/@vue/devtools-api/lib/cjs/api/api.d.ts +90 -0
  56. package/packages/@vue/devtools-api/lib/cjs/api/api.js +2 -0
  57. package/packages/@vue/devtools-api/lib/cjs/api/app.d.ts +1 -0
  58. package/packages/@vue/devtools-api/lib/cjs/api/app.js +2 -0
  59. package/packages/@vue/devtools-api/lib/cjs/api/component.d.ts +76 -0
  60. package/packages/@vue/devtools-api/lib/cjs/api/component.js +2 -0
  61. package/packages/@vue/devtools-api/lib/cjs/api/context.d.ts +5 -0
  62. package/packages/@vue/devtools-api/lib/cjs/api/context.js +2 -0
  63. package/packages/@vue/devtools-api/lib/cjs/api/hooks.d.ts +169 -0
  64. package/packages/@vue/devtools-api/lib/cjs/api/hooks.js +2 -0
  65. package/packages/@vue/devtools-api/lib/cjs/api/index.d.ts +6 -0
  66. package/packages/@vue/devtools-api/lib/cjs/api/index.js +18 -0
  67. package/packages/@vue/devtools-api/lib/cjs/api/util.d.ts +4 -0
  68. package/packages/@vue/devtools-api/lib/cjs/api/util.js +2 -0
  69. package/packages/@vue/devtools-api/lib/cjs/const.d.ts +1 -0
  70. package/packages/@vue/devtools-api/lib/cjs/const.js +4 -0
  71. package/packages/@vue/devtools-api/lib/cjs/env.d.ts +10 -0
  72. package/packages/@vue/devtools-api/lib/cjs/env.js +16 -0
  73. package/packages/@vue/devtools-api/lib/cjs/index.d.ts +14 -0
  74. package/packages/@vue/devtools-api/lib/cjs/index.js +31 -0
  75. package/packages/@vue/devtools-api/lib/esm/api/api.js +0 -0
  76. package/packages/@vue/devtools-api/lib/esm/api/app.js +0 -0
  77. package/packages/@vue/devtools-api/lib/esm/api/component.js +0 -0
  78. package/packages/@vue/devtools-api/lib/esm/api/context.js +0 -0
  79. package/packages/@vue/devtools-api/lib/esm/api/hooks.js +0 -0
  80. package/packages/@vue/devtools-api/lib/esm/api/index.js +6 -0
  81. package/packages/@vue/devtools-api/lib/esm/api/util.js +0 -0
  82. package/packages/@vue/devtools-api/lib/esm/const.js +1 -0
  83. package/packages/@vue/devtools-api/lib/esm/env.js +11 -0
  84. package/packages/@vue/devtools-api/lib/esm/index.js +17 -0
  85. package/packages/@vue/devtools-api/package.json +38 -0
  86. package/packages/app-vue-style-loader/lib/addStylesClient.js +1 -1
  87. package/packages/h5-vue-style-loader/lib/addStylesClient.js +1 -1
  88. package/packages/mp-vue/dist/mp.runtime.esm.js +3 -2
  89. package/packages/mp-vue/package.json +1 -0
  90. package/packages/uni-app/LICENSE +202 -0
  91. package/packages/uni-app/dist/uni-app.cjs.js +165 -0
  92. package/packages/uni-app/dist/uni-app.d.ts +61 -0
  93. package/packages/uni-app/dist/uni-app.es.js +108 -0
  94. package/packages/uni-app/package.json +22 -0
  95. package/packages/uni-cloud/dist/index.js +1 -1
  96. package/packages/uni-stat/dist/uni-stat.cjs.js +961 -0
  97. package/packages/uni-stat/dist/uni-stat.es.js +959 -0
  98. package/packages/uni-stat/lib/uni.plugin.js +68 -0
  99. package/packages/uni-stat/package.json +25 -0
  100. package/packages/vue3/node_modules/.yarn-integrity +27 -0
  101. package/packages/vue3/node_modules/@intlify/core-base/LICENSE +20 -0
  102. package/packages/vue3/node_modules/@intlify/core-base/README.md +7 -0
  103. package/packages/vue3/node_modules/@intlify/core-base/dist/core-base.cjs.js +989 -0
  104. package/packages/vue3/node_modules/@intlify/core-base/dist/core-base.cjs.prod.js +735 -0
  105. package/packages/vue3/node_modules/@intlify/core-base/dist/core-base.d.ts +576 -0
  106. package/packages/vue3/node_modules/@intlify/core-base/dist/core-base.esm-browser.js +2771 -0
  107. package/packages/vue3/node_modules/@intlify/core-base/dist/core-base.esm-browser.prod.js +6 -0
  108. package/packages/vue3/node_modules/@intlify/core-base/dist/core-base.esm-bundler.js +965 -0
  109. package/packages/vue3/node_modules/@intlify/core-base/dist/core-base.global.js +2814 -0
  110. package/packages/vue3/node_modules/@intlify/core-base/dist/core-base.global.prod.js +6 -0
  111. package/packages/vue3/node_modules/@intlify/core-base/index.js +7 -0
  112. package/packages/vue3/node_modules/@intlify/core-base/package.json +59 -0
  113. package/packages/vue3/node_modules/@intlify/devtools-if/LICENSE +20 -0
  114. package/packages/vue3/node_modules/@intlify/devtools-if/README.md +13 -0
  115. package/packages/vue3/node_modules/@intlify/devtools-if/dist/devtools-if.cjs.js +15 -0
  116. package/packages/vue3/node_modules/@intlify/devtools-if/dist/devtools-if.cjs.prod.js +15 -0
  117. package/packages/vue3/node_modules/@intlify/devtools-if/dist/devtools-if.d.ts +43 -0
  118. package/packages/vue3/node_modules/@intlify/devtools-if/dist/devtools-if.esm-bundler.js +11 -0
  119. package/packages/vue3/node_modules/@intlify/devtools-if/index.js +7 -0
  120. package/packages/vue3/node_modules/@intlify/devtools-if/package.json +49 -0
  121. package/packages/vue3/node_modules/@intlify/message-compiler/LICENSE +20 -0
  122. package/packages/vue3/node_modules/@intlify/message-compiler/README.md +7 -0
  123. package/packages/vue3/node_modules/@intlify/message-compiler/dist/message-compiler.cjs.js +1400 -0
  124. package/packages/vue3/node_modules/@intlify/message-compiler/dist/message-compiler.cjs.prod.js +1395 -0
  125. package/packages/vue3/node_modules/@intlify/message-compiler/dist/message-compiler.d.ts +197 -0
  126. package/packages/vue3/node_modules/@intlify/message-compiler/dist/message-compiler.esm-browser.js +1348 -0
  127. package/packages/vue3/node_modules/@intlify/message-compiler/dist/message-compiler.esm-browser.prod.js +6 -0
  128. package/packages/vue3/node_modules/@intlify/message-compiler/dist/message-compiler.esm-bundler.js +1329 -0
  129. package/packages/vue3/node_modules/@intlify/message-compiler/dist/message-compiler.global.js +1365 -0
  130. package/packages/vue3/node_modules/@intlify/message-compiler/dist/message-compiler.global.prod.js +6 -0
  131. package/packages/vue3/node_modules/@intlify/message-compiler/index.js +7 -0
  132. package/packages/vue3/node_modules/@intlify/message-compiler/package.json +56 -0
  133. package/packages/vue3/node_modules/@intlify/message-resolver/LICENSE +20 -0
  134. package/packages/vue3/node_modules/@intlify/message-resolver/README.md +7 -0
  135. package/packages/vue3/node_modules/@intlify/message-resolver/dist/message-resolver.cjs.js +302 -0
  136. package/packages/vue3/node_modules/@intlify/message-resolver/dist/message-resolver.cjs.prod.js +302 -0
  137. package/packages/vue3/node_modules/@intlify/message-resolver/dist/message-resolver.d.ts +21 -0
  138. package/packages/vue3/node_modules/@intlify/message-resolver/dist/message-resolver.esm-bundler.js +297 -0
  139. package/packages/vue3/node_modules/@intlify/message-resolver/index.js +7 -0
  140. package/packages/vue3/node_modules/@intlify/message-resolver/package.json +46 -0
  141. package/packages/vue3/node_modules/@intlify/runtime/LICENSE +20 -0
  142. package/packages/vue3/node_modules/@intlify/runtime/README.md +7 -0
  143. package/packages/vue3/node_modules/@intlify/runtime/dist/runtime.cjs.js +116 -0
  144. package/packages/vue3/node_modules/@intlify/runtime/dist/runtime.cjs.prod.js +116 -0
  145. package/packages/vue3/node_modules/@intlify/runtime/dist/runtime.d.ts +95 -0
  146. package/packages/vue3/node_modules/@intlify/runtime/dist/runtime.esm-bundler.js +111 -0
  147. package/packages/vue3/node_modules/@intlify/runtime/index.js +7 -0
  148. package/packages/vue3/node_modules/@intlify/runtime/package.json +51 -0
  149. package/packages/vue3/node_modules/@intlify/shared/LICENSE +20 -0
  150. package/packages/vue3/node_modules/@intlify/shared/README.md +18 -0
  151. package/packages/vue3/node_modules/@intlify/shared/dist/shared.cjs.js +222 -0
  152. package/packages/vue3/node_modules/@intlify/shared/dist/shared.cjs.prod.js +209 -0
  153. package/packages/vue3/node_modules/@intlify/shared/dist/shared.d.ts +145 -0
  154. package/packages/vue3/node_modules/@intlify/shared/dist/shared.esm-bundler.js +192 -0
  155. package/packages/vue3/node_modules/@intlify/shared/index.js +7 -0
  156. package/packages/vue3/node_modules/@intlify/shared/package.json +46 -0
  157. package/packages/vue3/node_modules/@intlify/vue-devtools/LICENSE +20 -0
  158. package/packages/vue3/node_modules/@intlify/vue-devtools/README.md +7 -0
  159. package/packages/vue3/node_modules/@intlify/vue-devtools/dist/vue-devtools.cjs.js +24 -0
  160. package/packages/vue3/node_modules/@intlify/vue-devtools/dist/vue-devtools.cjs.prod.js +24 -0
  161. package/packages/vue3/node_modules/@intlify/vue-devtools/dist/vue-devtools.d.ts +81 -0
  162. package/packages/vue3/node_modules/@intlify/vue-devtools/dist/vue-devtools.esm-bundler.js +18 -0
  163. package/packages/vue3/node_modules/@intlify/vue-devtools/index.js +7 -0
  164. package/packages/vue3/node_modules/@intlify/vue-devtools/package.json +51 -0
  165. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/api/api.d.ts +90 -0
  166. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/api/api.js +2 -0
  167. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/api/app.d.ts +1 -0
  168. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/api/app.js +2 -0
  169. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/api/component.d.ts +76 -0
  170. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/api/component.js +2 -0
  171. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/api/context.d.ts +5 -0
  172. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/api/context.js +2 -0
  173. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/api/hooks.d.ts +169 -0
  174. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/api/hooks.js +2 -0
  175. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/api/index.d.ts +6 -0
  176. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/api/index.js +18 -0
  177. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/api/util.d.ts +4 -0
  178. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/api/util.js +2 -0
  179. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/const.d.ts +1 -0
  180. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/const.js +4 -0
  181. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/env.d.ts +10 -0
  182. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/env.js +16 -0
  183. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/index.d.ts +14 -0
  184. package/packages/vue3/node_modules/@vue/devtools-api/lib/cjs/index.js +31 -0
  185. package/packages/vue3/node_modules/@vue/devtools-api/lib/esm/api/api.js +0 -0
  186. package/packages/vue3/node_modules/@vue/devtools-api/lib/esm/api/app.js +0 -0
  187. package/packages/vue3/node_modules/@vue/devtools-api/lib/esm/api/component.js +0 -0
  188. package/packages/vue3/node_modules/@vue/devtools-api/lib/esm/api/context.js +0 -0
  189. package/packages/vue3/node_modules/@vue/devtools-api/lib/esm/api/hooks.js +0 -0
  190. package/packages/vue3/node_modules/@vue/devtools-api/lib/esm/api/index.js +6 -0
  191. package/packages/vue3/node_modules/@vue/devtools-api/lib/esm/api/util.js +0 -0
  192. package/packages/vue3/node_modules/@vue/devtools-api/lib/esm/const.js +1 -0
  193. package/packages/vue3/node_modules/@vue/devtools-api/lib/esm/env.js +11 -0
  194. package/packages/vue3/node_modules/@vue/devtools-api/lib/esm/index.js +17 -0
  195. package/packages/vue3/node_modules/@vue/devtools-api/package.json +38 -0
  196. package/packages/vue3/node_modules/source-map/CHANGELOG.md +301 -0
  197. package/packages/vue3/node_modules/source-map/LICENSE +28 -0
  198. package/packages/vue3/node_modules/source-map/README.md +742 -0
  199. package/packages/vue3/node_modules/source-map/dist/source-map.debug.js +3234 -0
  200. package/packages/vue3/node_modules/source-map/dist/source-map.js +3233 -0
  201. package/packages/vue3/node_modules/source-map/dist/source-map.min.js +2 -0
  202. package/packages/vue3/node_modules/source-map/dist/source-map.min.js.map +1 -0
  203. package/packages/vue3/node_modules/source-map/lib/array-set.js +121 -0
  204. package/packages/vue3/node_modules/source-map/lib/base64-vlq.js +140 -0
  205. package/packages/vue3/node_modules/source-map/lib/base64.js +67 -0
  206. package/packages/vue3/node_modules/source-map/lib/binary-search.js +111 -0
  207. package/packages/vue3/node_modules/source-map/lib/mapping-list.js +79 -0
  208. package/packages/vue3/node_modules/source-map/lib/quick-sort.js +114 -0
  209. package/packages/vue3/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  210. package/packages/vue3/node_modules/source-map/lib/source-map-generator.js +425 -0
  211. package/packages/vue3/node_modules/source-map/lib/source-node.js +413 -0
  212. package/packages/vue3/node_modules/source-map/lib/util.js +488 -0
  213. package/packages/vue3/node_modules/source-map/package.json +73 -0
  214. package/packages/vue3/node_modules/source-map/source-map.d.ts +98 -0
  215. package/packages/vue3/node_modules/source-map/source-map.js +8 -0
  216. package/packages/vue3/node_modules/vue-i18n/LICENSE +20 -0
  217. package/packages/vue3/node_modules/vue-i18n/README.md +74 -0
  218. package/packages/vue3/node_modules/vue-i18n/dist/vue-i18n.cjs.js +1801 -0
  219. package/packages/vue3/node_modules/vue-i18n/dist/vue-i18n.cjs.prod.js +1685 -0
  220. package/packages/vue3/node_modules/vue-i18n/dist/vue-i18n.d.ts +3302 -0
  221. package/packages/vue3/node_modules/vue-i18n/dist/vue-i18n.esm-browser.js +5052 -0
  222. package/packages/vue3/node_modules/vue-i18n/dist/vue-i18n.esm-browser.prod.js +6 -0
  223. package/packages/vue3/node_modules/vue-i18n/dist/vue-i18n.esm-bundler.js +2226 -0
  224. package/packages/vue3/node_modules/vue-i18n/dist/vue-i18n.global.js +5065 -0
  225. package/packages/vue3/node_modules/vue-i18n/dist/vue-i18n.global.prod.js +6 -0
  226. package/packages/vue3/node_modules/vue-i18n/dist/vue-i18n.runtime.esm-browser.js +3724 -0
  227. package/packages/vue3/node_modules/vue-i18n/dist/vue-i18n.runtime.esm-browser.prod.js +6 -0
  228. package/packages/vue3/node_modules/vue-i18n/dist/vue-i18n.runtime.esm-bundler.js +2224 -0
  229. package/packages/vue3/node_modules/vue-i18n/dist/vue-i18n.runtime.global.js +3737 -0
  230. package/packages/vue3/node_modules/vue-i18n/dist/vue-i18n.runtime.global.prod.js +6 -0
  231. package/packages/vue3/node_modules/vue-i18n/index.js +7 -0
  232. package/packages/vue3/node_modules/vue-i18n/package.json +69 -0
  233. package/packages/vue3/node_modules/vue-i18n/vetur/attributes.json +62 -0
  234. package/packages/vue3/node_modules/vue-i18n/vetur/tags.json +14 -0
  235. package/packages/vue3/package.json +15 -0
  236. package/packages/vue3/yarn.lock +79 -0
  237. package/packages/vuex/CHANGELOG.md +604 -0
  238. package/packages/vuex/LICENSE +21 -0
  239. package/packages/vuex/README.md +55 -0
  240. package/packages/vuex/dist/vuex.cjs.js +1474 -0
  241. package/packages/vuex/dist/vuex.esm-browser.js +1472 -0
  242. package/packages/vuex/dist/vuex.esm-browser.prod.js +1307 -0
  243. package/packages/vuex/dist/vuex.esm-bundler.js +1473 -0
  244. package/packages/vuex/dist/vuex.global.js +1499 -0
  245. package/packages/vuex/dist/vuex.global.prod.js +6 -0
  246. package/packages/vuex/dist/vuex.mjs +32 -0
  247. package/packages/vuex/package.json +99 -0
  248. package/packages/vuex/types/helpers.d.ts +86 -0
  249. package/packages/vuex/types/index.d.ts +167 -0
  250. package/packages/vuex/types/logger.d.ts +20 -0
  251. package/packages/vuex/types/vue.d.ts +12 -0
  252. package/packages/vuex3/CHANGELOG.md +356 -0
  253. package/packages/vuex3/LICENSE +21 -0
  254. package/packages/vuex3/README.md +59 -0
  255. package/packages/vuex3/dist/logger.js +155 -0
  256. package/packages/vuex3/dist/vuex.common.js +1244 -0
  257. package/packages/vuex3/dist/vuex.esm.browser.js +1200 -0
  258. package/packages/vuex3/dist/vuex.esm.browser.min.js +6 -0
  259. package/packages/vuex3/dist/vuex.esm.js +1243 -0
  260. package/packages/vuex3/dist/vuex.js +1250 -0
  261. package/packages/vuex3/dist/vuex.min.js +6 -0
  262. package/packages/vuex3/dist/vuex.mjs +26 -0
  263. package/packages/vuex3/package.json +96 -0
  264. package/packages/vuex3/types/helpers.d.ts +86 -0
  265. package/packages/vuex3/types/index.d.ts +164 -0
  266. package/packages/vuex3/types/logger.d.ts +20 -0
  267. package/packages/vuex3/types/vue.d.ts +18 -0
  268. package/packages/webpack-uni-app-loader/plugin/index.js +8 -2
  269. package/packages/webpack-uni-app-loader/view/main.js +12 -0
@@ -0,0 +1,1088 @@
1
+ 'use strict';
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
6
+
7
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
8
+
9
+ var _WHITESPACE_TOKENS, _extends2;
10
+
11
+ var _indexesOf = require('indexes-of');
12
+
13
+ var _indexesOf2 = _interopRequireDefault(_indexesOf);
14
+
15
+ var _uniq = require('uniq');
16
+
17
+ var _uniq2 = _interopRequireDefault(_uniq);
18
+
19
+ var _root = require('./selectors/root');
20
+
21
+ var _root2 = _interopRequireDefault(_root);
22
+
23
+ var _selector = require('./selectors/selector');
24
+
25
+ var _selector2 = _interopRequireDefault(_selector);
26
+
27
+ var _className = require('./selectors/className');
28
+
29
+ var _className2 = _interopRequireDefault(_className);
30
+
31
+ var _comment = require('./selectors/comment');
32
+
33
+ var _comment2 = _interopRequireDefault(_comment);
34
+
35
+ var _id = require('./selectors/id');
36
+
37
+ var _id2 = _interopRequireDefault(_id);
38
+
39
+ var _tag = require('./selectors/tag');
40
+
41
+ var _tag2 = _interopRequireDefault(_tag);
42
+
43
+ var _string = require('./selectors/string');
44
+
45
+ var _string2 = _interopRequireDefault(_string);
46
+
47
+ var _pseudo = require('./selectors/pseudo');
48
+
49
+ var _pseudo2 = _interopRequireDefault(_pseudo);
50
+
51
+ var _attribute = require('./selectors/attribute');
52
+
53
+ var _attribute2 = _interopRequireDefault(_attribute);
54
+
55
+ var _universal = require('./selectors/universal');
56
+
57
+ var _universal2 = _interopRequireDefault(_universal);
58
+
59
+ var _combinator = require('./selectors/combinator');
60
+
61
+ var _combinator2 = _interopRequireDefault(_combinator);
62
+
63
+ var _nesting = require('./selectors/nesting');
64
+
65
+ var _nesting2 = _interopRequireDefault(_nesting);
66
+
67
+ var _sortAscending = require('./sortAscending');
68
+
69
+ var _sortAscending2 = _interopRequireDefault(_sortAscending);
70
+
71
+ var _tokenize = require('./tokenize');
72
+
73
+ var _tokenize2 = _interopRequireDefault(_tokenize);
74
+
75
+ var _tokenTypes = require('./tokenTypes');
76
+
77
+ var tokens = _interopRequireWildcard(_tokenTypes);
78
+
79
+ var _types = require('./selectors/types');
80
+
81
+ var types = _interopRequireWildcard(_types);
82
+
83
+ var _util = require('./util');
84
+
85
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
86
+
87
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
88
+
89
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
90
+
91
+ var WHITESPACE_TOKENS = (_WHITESPACE_TOKENS = {}, _WHITESPACE_TOKENS[tokens.space] = true, _WHITESPACE_TOKENS[tokens.cr] = true, _WHITESPACE_TOKENS[tokens.feed] = true, _WHITESPACE_TOKENS[tokens.newline] = true, _WHITESPACE_TOKENS[tokens.tab] = true, _WHITESPACE_TOKENS);
92
+
93
+ var WHITESPACE_EQUIV_TOKENS = _extends({}, WHITESPACE_TOKENS, (_extends2 = {}, _extends2[tokens.comment] = true, _extends2));
94
+
95
+ function tokenStart(token) {
96
+ return {
97
+ line: token[_tokenize.FIELDS.START_LINE],
98
+ column: token[_tokenize.FIELDS.START_COL]
99
+ };
100
+ }
101
+
102
+ function tokenEnd(token) {
103
+ return {
104
+ line: token[_tokenize.FIELDS.END_LINE],
105
+ column: token[_tokenize.FIELDS.END_COL]
106
+ };
107
+ }
108
+
109
+ function getSource(startLine, startColumn, endLine, endColumn) {
110
+ return {
111
+ start: {
112
+ line: startLine,
113
+ column: startColumn
114
+ },
115
+ end: {
116
+ line: endLine,
117
+ column: endColumn
118
+ }
119
+ };
120
+ }
121
+
122
+ function getTokenSource(token) {
123
+ return getSource(token[_tokenize.FIELDS.START_LINE], token[_tokenize.FIELDS.START_COL], token[_tokenize.FIELDS.END_LINE], token[_tokenize.FIELDS.END_COL]);
124
+ }
125
+
126
+ function getTokenSourceSpan(startToken, endToken) {
127
+ if (!startToken) {
128
+ return undefined;
129
+ }
130
+ return getSource(startToken[_tokenize.FIELDS.START_LINE], startToken[_tokenize.FIELDS.START_COL], endToken[_tokenize.FIELDS.END_LINE], endToken[_tokenize.FIELDS.END_COL]);
131
+ }
132
+
133
+ function unescapeProp(node, prop) {
134
+ var value = node[prop];
135
+ if (typeof value !== "string") {
136
+ return;
137
+ }
138
+ if (value.indexOf("\\") !== -1) {
139
+ (0, _util.ensureObject)(node, 'raws');
140
+ node[prop] = (0, _util.unesc)(value);
141
+ if (node.raws[prop] === undefined) {
142
+ node.raws[prop] = value;
143
+ }
144
+ }
145
+ return node;
146
+ }
147
+
148
+ var Parser = function () {
149
+ function Parser(rule) {
150
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
151
+
152
+ _classCallCheck(this, Parser);
153
+
154
+ this.rule = rule;
155
+ this.options = Object.assign({ lossy: false, safe: false }, options);
156
+ this.position = 0;
157
+
158
+ this.css = typeof this.rule === 'string' ? this.rule : this.rule.selector;
159
+
160
+ this.tokens = (0, _tokenize2.default)({
161
+ css: this.css,
162
+ error: this._errorGenerator(),
163
+ safe: this.options.safe
164
+ });
165
+
166
+ var rootSource = getTokenSourceSpan(this.tokens[0], this.tokens[this.tokens.length - 1]);
167
+ this.root = new _root2.default({ source: rootSource });
168
+ this.root.errorGenerator = this._errorGenerator();
169
+
170
+ var selector = new _selector2.default({ source: { start: { line: 1, column: 1 } } });
171
+ this.root.append(selector);
172
+ this.current = selector;
173
+
174
+ this.loop();
175
+ }
176
+
177
+ Parser.prototype._errorGenerator = function _errorGenerator() {
178
+ var _this = this;
179
+
180
+ return function (message, errorOptions) {
181
+ if (typeof _this.rule === 'string') {
182
+ return new Error(message);
183
+ }
184
+ return _this.rule.error(message, errorOptions);
185
+ };
186
+ };
187
+
188
+ Parser.prototype.attribute = function attribute() {
189
+ var attr = [];
190
+ var startingToken = this.currToken;
191
+ this.position++;
192
+ while (this.position < this.tokens.length && this.currToken[_tokenize.FIELDS.TYPE] !== tokens.closeSquare) {
193
+ attr.push(this.currToken);
194
+ this.position++;
195
+ }
196
+ if (this.currToken[_tokenize.FIELDS.TYPE] !== tokens.closeSquare) {
197
+ return this.expected('closing square bracket', this.currToken[_tokenize.FIELDS.START_POS]);
198
+ }
199
+
200
+ var len = attr.length;
201
+ var node = {
202
+ source: getSource(startingToken[1], startingToken[2], this.currToken[3], this.currToken[4]),
203
+ sourceIndex: startingToken[_tokenize.FIELDS.START_POS]
204
+ };
205
+
206
+ if (len === 1 && !~[tokens.word].indexOf(attr[0][_tokenize.FIELDS.TYPE])) {
207
+ return this.expected('attribute', attr[0][_tokenize.FIELDS.START_POS]);
208
+ }
209
+
210
+ var pos = 0;
211
+ var spaceBefore = '';
212
+ var commentBefore = '';
213
+ var lastAdded = null;
214
+ var spaceAfterMeaningfulToken = false;
215
+
216
+ while (pos < len) {
217
+ var token = attr[pos];
218
+ var content = this.content(token);
219
+ var next = attr[pos + 1];
220
+
221
+ switch (token[_tokenize.FIELDS.TYPE]) {
222
+ case tokens.space:
223
+ // if (
224
+ // len === 1 ||
225
+ // pos === 0 && this.content(next) === '|'
226
+ // ) {
227
+ // return this.expected('attribute', token[TOKEN.START_POS], content);
228
+ // }
229
+ spaceAfterMeaningfulToken = true;
230
+ if (this.options.lossy) {
231
+ break;
232
+ }
233
+ if (lastAdded) {
234
+ (0, _util.ensureObject)(node, 'spaces', lastAdded);
235
+ var prevContent = node.spaces[lastAdded].after || '';
236
+ node.spaces[lastAdded].after = prevContent + content;
237
+
238
+ var existingComment = (0, _util.getProp)(node, 'raws', 'spaces', lastAdded, 'after') || null;
239
+
240
+ if (existingComment) {
241
+ node.raws.spaces[lastAdded].after = existingComment + content;
242
+ }
243
+ } else {
244
+ spaceBefore = spaceBefore + content;
245
+ commentBefore = commentBefore + content;
246
+ }
247
+ break;
248
+ case tokens.asterisk:
249
+ if (next[_tokenize.FIELDS.TYPE] === tokens.equals) {
250
+ node.operator = content;
251
+ lastAdded = 'operator';
252
+ } else if ((!node.namespace || lastAdded === "namespace" && !spaceAfterMeaningfulToken) && next) {
253
+ if (spaceBefore) {
254
+ (0, _util.ensureObject)(node, 'spaces', 'attribute');
255
+ node.spaces.attribute.before = spaceBefore;
256
+ spaceBefore = '';
257
+ }
258
+ if (commentBefore) {
259
+ (0, _util.ensureObject)(node, 'raws', 'spaces', 'attribute');
260
+ node.raws.spaces.attribute.before = spaceBefore;
261
+ commentBefore = '';
262
+ }
263
+ node.namespace = (node.namespace || "") + content;
264
+ var rawValue = (0, _util.getProp)(node, 'raws', 'namespace') || null;
265
+ if (rawValue) {
266
+ node.raws.namespace += content;
267
+ }
268
+ lastAdded = 'namespace';
269
+ }
270
+ spaceAfterMeaningfulToken = false;
271
+ break;
272
+ case tokens.dollar:
273
+ if (lastAdded === "value") {
274
+ var oldRawValue = (0, _util.getProp)(node, 'raws', 'value');
275
+ node.value += "$";
276
+ if (oldRawValue) {
277
+ node.raws.value = oldRawValue + "$";
278
+ }
279
+ break;
280
+ }
281
+ // Falls through
282
+ case tokens.caret:
283
+ if (next[_tokenize.FIELDS.TYPE] === tokens.equals) {
284
+ node.operator = content;
285
+ lastAdded = 'operator';
286
+ }
287
+ spaceAfterMeaningfulToken = false;
288
+ break;
289
+ case tokens.combinator:
290
+ if (content === '~' && next[_tokenize.FIELDS.TYPE] === tokens.equals) {
291
+ node.operator = content;
292
+ lastAdded = 'operator';
293
+ }
294
+ if (content !== '|') {
295
+ spaceAfterMeaningfulToken = false;
296
+ break;
297
+ }
298
+ if (next[_tokenize.FIELDS.TYPE] === tokens.equals) {
299
+ node.operator = content;
300
+ lastAdded = 'operator';
301
+ } else if (!node.namespace && !node.attribute) {
302
+ node.namespace = true;
303
+ }
304
+ spaceAfterMeaningfulToken = false;
305
+ break;
306
+ case tokens.word:
307
+ if (next && this.content(next) === '|' && attr[pos + 2] && attr[pos + 2][_tokenize.FIELDS.TYPE] !== tokens.equals && // this look-ahead probably fails with comment nodes involved.
308
+ !node.operator && !node.namespace) {
309
+ node.namespace = content;
310
+ lastAdded = 'namespace';
311
+ } else if (!node.attribute || lastAdded === "attribute" && !spaceAfterMeaningfulToken) {
312
+ if (spaceBefore) {
313
+ (0, _util.ensureObject)(node, 'spaces', 'attribute');
314
+ node.spaces.attribute.before = spaceBefore;
315
+
316
+ spaceBefore = '';
317
+ }
318
+ if (commentBefore) {
319
+ (0, _util.ensureObject)(node, 'raws', 'spaces', 'attribute');
320
+ node.raws.spaces.attribute.before = commentBefore;
321
+ commentBefore = '';
322
+ }
323
+ node.attribute = (node.attribute || "") + content;
324
+ var _rawValue = (0, _util.getProp)(node, 'raws', 'attribute') || null;
325
+ if (_rawValue) {
326
+ node.raws.attribute += content;
327
+ }
328
+ lastAdded = 'attribute';
329
+ } else if (!node.value || lastAdded === "value" && !spaceAfterMeaningfulToken) {
330
+ var _unescaped = (0, _util.unesc)(content);
331
+ var _oldRawValue = (0, _util.getProp)(node, 'raws', 'value') || '';
332
+ var oldValue = node.value || '';
333
+ node.value = oldValue + _unescaped;
334
+ node.quoteMark = null;
335
+ if (_unescaped !== content || _oldRawValue) {
336
+ (0, _util.ensureObject)(node, 'raws');
337
+ node.raws.value = (_oldRawValue || oldValue) + content;
338
+ }
339
+ lastAdded = 'value';
340
+ } else {
341
+ var insensitive = content === 'i' || content === "I";
342
+ if (node.value && (node.quoteMark || spaceAfterMeaningfulToken)) {
343
+ node.insensitive = insensitive;
344
+ if (!insensitive || content === "I") {
345
+ (0, _util.ensureObject)(node, 'raws');
346
+ node.raws.insensitiveFlag = content;
347
+ }
348
+ lastAdded = 'insensitive';
349
+ if (spaceBefore) {
350
+ (0, _util.ensureObject)(node, 'spaces', 'insensitive');
351
+ node.spaces.insensitive.before = spaceBefore;
352
+
353
+ spaceBefore = '';
354
+ }
355
+ if (commentBefore) {
356
+ (0, _util.ensureObject)(node, 'raws', 'spaces', 'insensitive');
357
+ node.raws.spaces.insensitive.before = commentBefore;
358
+ commentBefore = '';
359
+ }
360
+ } else if (node.value) {
361
+ lastAdded = 'value';
362
+ node.value += content;
363
+ if (node.raws.value) {
364
+ node.raws.value += content;
365
+ }
366
+ }
367
+ }
368
+ spaceAfterMeaningfulToken = false;
369
+ break;
370
+ case tokens.str:
371
+ if (!node.attribute || !node.operator) {
372
+ return this.error('Expected an attribute followed by an operator preceding the string.', {
373
+ index: token[_tokenize.FIELDS.START_POS]
374
+ });
375
+ }
376
+
377
+ var _unescapeValue = (0, _attribute.unescapeValue)(content),
378
+ unescaped = _unescapeValue.unescaped,
379
+ quoteMark = _unescapeValue.quoteMark;
380
+
381
+ node.value = unescaped;
382
+ node.quoteMark = quoteMark;
383
+ lastAdded = 'value';
384
+
385
+ (0, _util.ensureObject)(node, 'raws');
386
+ node.raws.value = content;
387
+
388
+ spaceAfterMeaningfulToken = false;
389
+ break;
390
+ case tokens.equals:
391
+ if (!node.attribute) {
392
+ return this.expected('attribute', token[_tokenize.FIELDS.START_POS], content);
393
+ }
394
+ if (node.value) {
395
+ return this.error('Unexpected "=" found; an operator was already defined.', { index: token[_tokenize.FIELDS.START_POS] });
396
+ }
397
+ node.operator = node.operator ? node.operator + content : content;
398
+ lastAdded = 'operator';
399
+ spaceAfterMeaningfulToken = false;
400
+ break;
401
+ case tokens.comment:
402
+ if (lastAdded) {
403
+ if (spaceAfterMeaningfulToken || next && next[_tokenize.FIELDS.TYPE] === tokens.space || lastAdded === 'insensitive') {
404
+ var lastComment = (0, _util.getProp)(node, 'spaces', lastAdded, 'after') || '';
405
+ var rawLastComment = (0, _util.getProp)(node, 'raws', 'spaces', lastAdded, 'after') || lastComment;
406
+
407
+ (0, _util.ensureObject)(node, 'raws', 'spaces', lastAdded);
408
+ node.raws.spaces[lastAdded].after = rawLastComment + content;
409
+ } else {
410
+ var lastValue = node[lastAdded] || '';
411
+ var rawLastValue = (0, _util.getProp)(node, 'raws', lastAdded) || lastValue;
412
+ (0, _util.ensureObject)(node, 'raws');
413
+ node.raws[lastAdded] = rawLastValue + content;
414
+ }
415
+ } else {
416
+ commentBefore = commentBefore + content;
417
+ }
418
+ break;
419
+ default:
420
+ return this.error('Unexpected "' + content + '" found.', { index: token[_tokenize.FIELDS.START_POS] });
421
+ }
422
+ pos++;
423
+ }
424
+ unescapeProp(node, "attribute");
425
+ unescapeProp(node, "namespace");
426
+ this.newNode(new _attribute2.default(node));
427
+ this.position++;
428
+ };
429
+
430
+ /**
431
+ * return a node containing meaningless garbage up to (but not including) the specified token position.
432
+ * if the token position is negative, all remaining tokens are consumed.
433
+ *
434
+ * This returns an array containing a single string node if all whitespace,
435
+ * otherwise an array of comment nodes with space before and after.
436
+ *
437
+ * These tokens are not added to the current selector, the caller can add them or use them to amend
438
+ * a previous node's space metadata.
439
+ *
440
+ * In lossy mode, this returns only comments.
441
+ */
442
+
443
+
444
+ Parser.prototype.parseWhitespaceEquivalentTokens = function parseWhitespaceEquivalentTokens(stopPosition) {
445
+ if (stopPosition < 0) {
446
+ stopPosition = this.tokens.length;
447
+ }
448
+ var startPosition = this.position;
449
+ var nodes = [];
450
+ var space = "";
451
+ var lastComment = undefined;
452
+ do {
453
+ if (WHITESPACE_TOKENS[this.currToken[_tokenize.FIELDS.TYPE]]) {
454
+ if (!this.options.lossy) {
455
+ space += this.content();
456
+ }
457
+ } else if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.comment) {
458
+ var spaces = {};
459
+ if (space) {
460
+ spaces.before = space;
461
+ space = "";
462
+ }
463
+ lastComment = new _comment2.default({
464
+ value: this.content(),
465
+ source: getTokenSource(this.currToken),
466
+ sourceIndex: this.currToken[_tokenize.FIELDS.START_POS],
467
+ spaces: spaces
468
+ });
469
+ nodes.push(lastComment);
470
+ }
471
+ } while (++this.position < stopPosition);
472
+
473
+ if (space) {
474
+ if (lastComment) {
475
+ lastComment.spaces.after = space;
476
+ } else if (!this.options.lossy) {
477
+ var firstToken = this.tokens[startPosition];
478
+ var lastToken = this.tokens[this.position - 1];
479
+ nodes.push(new _string2.default({
480
+ value: '',
481
+ source: getSource(firstToken[_tokenize.FIELDS.START_LINE], firstToken[_tokenize.FIELDS.START_COL], lastToken[_tokenize.FIELDS.END_LINE], lastToken[_tokenize.FIELDS.END_COL]),
482
+ sourceIndex: firstToken[_tokenize.FIELDS.START_POS],
483
+ spaces: { before: space, after: '' }
484
+ }));
485
+ }
486
+ }
487
+ return nodes;
488
+ };
489
+
490
+ /**
491
+ *
492
+ * @param {*} nodes
493
+ */
494
+
495
+
496
+ Parser.prototype.convertWhitespaceNodesToSpace = function convertWhitespaceNodesToSpace(nodes) {
497
+ var _this2 = this;
498
+
499
+ var requiredSpace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
500
+
501
+ var space = "";
502
+ var rawSpace = "";
503
+ nodes.forEach(function (n) {
504
+ var spaceBefore = _this2.lossySpace(n.spaces.before, requiredSpace);
505
+ var rawSpaceBefore = _this2.lossySpace(n.rawSpaceBefore, requiredSpace);
506
+ space += spaceBefore + _this2.lossySpace(n.spaces.after, requiredSpace && spaceBefore.length === 0);
507
+ rawSpace += spaceBefore + n.value + _this2.lossySpace(n.rawSpaceAfter, requiredSpace && rawSpaceBefore.length === 0);
508
+ });
509
+ if (rawSpace === space) {
510
+ rawSpace = undefined;
511
+ }
512
+ var result = { space: space, rawSpace: rawSpace };
513
+ return result;
514
+ };
515
+
516
+ Parser.prototype.isNamedCombinator = function isNamedCombinator() {
517
+ var position = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.position;
518
+
519
+ return this.tokens[position + 0] && this.tokens[position + 0][_tokenize.FIELDS.TYPE] === tokens.slash && this.tokens[position + 1] && this.tokens[position + 1][_tokenize.FIELDS.TYPE] === tokens.word && this.tokens[position + 2] && this.tokens[position + 2][_tokenize.FIELDS.TYPE] === tokens.slash;
520
+ };
521
+
522
+ Parser.prototype.namedCombinator = function namedCombinator() {
523
+ if (this.isNamedCombinator()) {
524
+ var nameRaw = this.content(this.tokens[this.position + 1]);
525
+ var name = (0, _util.unesc)(nameRaw).toLowerCase();
526
+ var raws = {};
527
+ if (name !== nameRaw) {
528
+ raws.value = '/' + nameRaw + '/';
529
+ }
530
+ var node = new _combinator2.default({
531
+ value: '/' + name + '/',
532
+ source: getSource(this.currToken[_tokenize.FIELDS.START_LINE], this.currToken[_tokenize.FIELDS.START_COL], this.tokens[this.position + 2][_tokenize.FIELDS.END_LINE], this.tokens[this.position + 2][_tokenize.FIELDS.END_COL]),
533
+ sourceIndex: this.currToken[_tokenize.FIELDS.START_POS],
534
+ raws: raws
535
+ });
536
+ this.position = this.position + 3;
537
+ return node;
538
+ } else {
539
+ this.unexpected();
540
+ }
541
+ };
542
+
543
+ Parser.prototype.combinator = function combinator() {
544
+ var _this3 = this;
545
+
546
+ if (this.content() === '|') {
547
+ return this.namespace();
548
+ }
549
+ // We need to decide between a space that's a descendant combinator and meaningless whitespace at the end of a selector.
550
+ var nextSigTokenPos = this.locateNextMeaningfulToken(this.position);
551
+
552
+ if (nextSigTokenPos < 0 || this.tokens[nextSigTokenPos][_tokenize.FIELDS.TYPE] === tokens.comma) {
553
+ var nodes = this.parseWhitespaceEquivalentTokens(nextSigTokenPos);
554
+ if (nodes.length > 0) {
555
+ var last = this.current.last;
556
+ if (last) {
557
+ var _convertWhitespaceNod = this.convertWhitespaceNodesToSpace(nodes),
558
+ space = _convertWhitespaceNod.space,
559
+ rawSpace = _convertWhitespaceNod.rawSpace;
560
+
561
+ if (rawSpace !== undefined) {
562
+ last.rawSpaceAfter += rawSpace;
563
+ }
564
+ last.spaces.after += space;
565
+ } else {
566
+ nodes.forEach(function (n) {
567
+ return _this3.newNode(n);
568
+ });
569
+ }
570
+ }
571
+ return;
572
+ }
573
+
574
+ var firstToken = this.currToken;
575
+ var spaceOrDescendantSelectorNodes = undefined;
576
+ if (nextSigTokenPos > this.position) {
577
+ spaceOrDescendantSelectorNodes = this.parseWhitespaceEquivalentTokens(nextSigTokenPos);
578
+ }
579
+
580
+ var node = void 0;
581
+ if (this.isNamedCombinator()) {
582
+ node = this.namedCombinator();
583
+ } else if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.combinator) {
584
+ node = new _combinator2.default({
585
+ value: this.content(),
586
+ source: getTokenSource(this.currToken),
587
+ sourceIndex: this.currToken[_tokenize.FIELDS.START_POS]
588
+ });
589
+ this.position++;
590
+ } else if (WHITESPACE_TOKENS[this.currToken[_tokenize.FIELDS.TYPE]]) {
591
+ // pass
592
+ } else if (!spaceOrDescendantSelectorNodes) {
593
+ this.unexpected();
594
+ }
595
+
596
+ if (node) {
597
+ if (spaceOrDescendantSelectorNodes) {
598
+ var _convertWhitespaceNod2 = this.convertWhitespaceNodesToSpace(spaceOrDescendantSelectorNodes),
599
+ _space = _convertWhitespaceNod2.space,
600
+ _rawSpace = _convertWhitespaceNod2.rawSpace;
601
+
602
+ node.spaces.before = _space;
603
+ node.rawSpaceBefore = _rawSpace;
604
+ }
605
+ } else {
606
+ // descendant combinator
607
+ var _convertWhitespaceNod3 = this.convertWhitespaceNodesToSpace(spaceOrDescendantSelectorNodes, true),
608
+ _space2 = _convertWhitespaceNod3.space,
609
+ _rawSpace2 = _convertWhitespaceNod3.rawSpace;
610
+
611
+ if (!_rawSpace2) {
612
+ _rawSpace2 = _space2;
613
+ }
614
+ var spaces = {};
615
+ var raws = { spaces: {} };
616
+ if (_space2.endsWith(' ') && _rawSpace2.endsWith(' ')) {
617
+ spaces.before = _space2.slice(0, _space2.length - 1);
618
+ raws.spaces.before = _rawSpace2.slice(0, _rawSpace2.length - 1);
619
+ } else if (_space2.startsWith(' ') && _rawSpace2.startsWith(' ')) {
620
+ spaces.after = _space2.slice(1);
621
+ raws.spaces.after = _rawSpace2.slice(1);
622
+ } else {
623
+ raws.value = _rawSpace2;
624
+ }
625
+ node = new _combinator2.default({
626
+ value: ' ',
627
+ source: getTokenSourceSpan(firstToken, this.tokens[this.position - 1]),
628
+ sourceIndex: firstToken[_tokenize.FIELDS.START_POS],
629
+ spaces: spaces,
630
+ raws: raws
631
+ });
632
+ }
633
+
634
+ if (this.currToken && this.currToken[_tokenize.FIELDS.TYPE] === tokens.space) {
635
+ node.spaces.after = this.optionalSpace(this.content());
636
+ this.position++;
637
+ }
638
+
639
+ return this.newNode(node);
640
+ };
641
+
642
+ Parser.prototype.comma = function comma() {
643
+ if (this.position === this.tokens.length - 1) {
644
+ this.root.trailingComma = true;
645
+ this.position++;
646
+ return;
647
+ }
648
+ this.current._inferEndPosition();
649
+ var selector = new _selector2.default({ source: { start: tokenStart(this.tokens[this.position + 1]) } });
650
+ this.current.parent.append(selector);
651
+ this.current = selector;
652
+ this.position++;
653
+ };
654
+
655
+ Parser.prototype.comment = function comment() {
656
+ var current = this.currToken;
657
+ this.newNode(new _comment2.default({
658
+ value: this.content(),
659
+ source: getTokenSource(current),
660
+ sourceIndex: current[_tokenize.FIELDS.START_POS]
661
+ }));
662
+ this.position++;
663
+ };
664
+
665
+ Parser.prototype.error = function error(message, opts) {
666
+ throw this.root.error(message, opts);
667
+ };
668
+
669
+ Parser.prototype.missingBackslash = function missingBackslash() {
670
+ return this.error('Expected a backslash preceding the semicolon.', {
671
+ index: this.currToken[_tokenize.FIELDS.START_POS]
672
+ });
673
+ };
674
+
675
+ Parser.prototype.missingParenthesis = function missingParenthesis() {
676
+ return this.expected('opening parenthesis', this.currToken[_tokenize.FIELDS.START_POS]);
677
+ };
678
+
679
+ Parser.prototype.missingSquareBracket = function missingSquareBracket() {
680
+ return this.expected('opening square bracket', this.currToken[_tokenize.FIELDS.START_POS]);
681
+ };
682
+
683
+ Parser.prototype.unexpected = function unexpected() {
684
+ return this.error('Unexpected \'' + this.content() + '\'. Escaping special characters with \\ may help.', this.currToken[_tokenize.FIELDS.START_POS]);
685
+ };
686
+
687
+ Parser.prototype.namespace = function namespace() {
688
+ var before = this.prevToken && this.content(this.prevToken) || true;
689
+ if (this.nextToken[_tokenize.FIELDS.TYPE] === tokens.word) {
690
+ this.position++;
691
+ return this.word(before);
692
+ } else if (this.nextToken[_tokenize.FIELDS.TYPE] === tokens.asterisk) {
693
+ this.position++;
694
+ return this.universal(before);
695
+ }
696
+ };
697
+
698
+ Parser.prototype.nesting = function nesting() {
699
+ if (this.nextToken) {
700
+ var nextContent = this.content(this.nextToken);
701
+ if (nextContent === "|") {
702
+ this.position++;
703
+ return;
704
+ }
705
+ }
706
+ var current = this.currToken;
707
+ this.newNode(new _nesting2.default({
708
+ value: this.content(),
709
+ source: getTokenSource(current),
710
+ sourceIndex: current[_tokenize.FIELDS.START_POS]
711
+ }));
712
+ this.position++;
713
+ };
714
+
715
+ Parser.prototype.parentheses = function parentheses() {
716
+ var last = this.current.last;
717
+ var unbalanced = 1;
718
+ this.position++;
719
+ if (last && last.type === types.PSEUDO) {
720
+ var selector = new _selector2.default({ source: { start: tokenStart(this.tokens[this.position - 1]) } });
721
+ var cache = this.current;
722
+ last.append(selector);
723
+ this.current = selector;
724
+ while (this.position < this.tokens.length && unbalanced) {
725
+ if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis) {
726
+ unbalanced++;
727
+ }
728
+ if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.closeParenthesis) {
729
+ unbalanced--;
730
+ }
731
+ if (unbalanced) {
732
+ this.parse();
733
+ } else {
734
+ this.current.source.end = tokenEnd(this.currToken);
735
+ this.current.parent.source.end = tokenEnd(this.currToken);
736
+ this.position++;
737
+ }
738
+ }
739
+ this.current = cache;
740
+ } else {
741
+ // I think this case should be an error. It's used to implement a basic parse of media queries
742
+ // but I don't think it's a good idea.
743
+ var parenStart = this.currToken;
744
+ var parenValue = "(";
745
+ var parenEnd = void 0;
746
+ while (this.position < this.tokens.length && unbalanced) {
747
+ if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis) {
748
+ unbalanced++;
749
+ }
750
+ if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.closeParenthesis) {
751
+ unbalanced--;
752
+ }
753
+ parenEnd = this.currToken;
754
+ parenValue += this.parseParenthesisToken(this.currToken);
755
+ this.position++;
756
+ }
757
+ if (last) {
758
+ last.appendToPropertyAndEscape("value", parenValue, parenValue);
759
+ } else {
760
+ this.newNode(new _string2.default({
761
+ value: parenValue,
762
+ source: getSource(parenStart[_tokenize.FIELDS.START_LINE], parenStart[_tokenize.FIELDS.START_COL], parenEnd[_tokenize.FIELDS.END_LINE], parenEnd[_tokenize.FIELDS.END_COL]),
763
+ sourceIndex: parenStart[_tokenize.FIELDS.START_POS]
764
+ }));
765
+ }
766
+ }
767
+ if (unbalanced) {
768
+ return this.expected('closing parenthesis', this.currToken[_tokenize.FIELDS.START_POS]);
769
+ }
770
+ };
771
+
772
+ Parser.prototype.pseudo = function pseudo() {
773
+ var _this4 = this;
774
+
775
+ var pseudoStr = '';
776
+ var startingToken = this.currToken;
777
+ while (this.currToken && this.currToken[_tokenize.FIELDS.TYPE] === tokens.colon) {
778
+ pseudoStr += this.content();
779
+ this.position++;
780
+ }
781
+ if (!this.currToken) {
782
+ return this.expected(['pseudo-class', 'pseudo-element'], this.position - 1);
783
+ }
784
+ if (this.currToken[_tokenize.FIELDS.TYPE] === tokens.word) {
785
+ this.splitWord(false, function (first, length) {
786
+ pseudoStr += first;
787
+ _this4.newNode(new _pseudo2.default({
788
+ value: pseudoStr,
789
+ source: getTokenSourceSpan(startingToken, _this4.currToken),
790
+ sourceIndex: startingToken[_tokenize.FIELDS.START_POS]
791
+ }));
792
+ if (length > 1 && _this4.nextToken && _this4.nextToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis) {
793
+ _this4.error('Misplaced parenthesis.', {
794
+ index: _this4.nextToken[_tokenize.FIELDS.START_POS]
795
+ });
796
+ }
797
+ });
798
+ } else {
799
+ return this.expected(['pseudo-class', 'pseudo-element'], this.currToken[_tokenize.FIELDS.START_POS]);
800
+ }
801
+ };
802
+
803
+ Parser.prototype.space = function space() {
804
+ var content = this.content();
805
+ // Handle space before and after the selector
806
+ if (this.position === 0 || this.prevToken[_tokenize.FIELDS.TYPE] === tokens.comma || this.prevToken[_tokenize.FIELDS.TYPE] === tokens.openParenthesis) {
807
+ this.spaces = this.optionalSpace(content);
808
+ this.position++;
809
+ } else if (this.position === this.tokens.length - 1 || this.nextToken[_tokenize.FIELDS.TYPE] === tokens.comma || this.nextToken[_tokenize.FIELDS.TYPE] === tokens.closeParenthesis) {
810
+ this.current.last.spaces.after = this.optionalSpace(content);
811
+ this.position++;
812
+ } else {
813
+ this.combinator();
814
+ }
815
+ };
816
+
817
+ Parser.prototype.string = function string() {
818
+ var current = this.currToken;
819
+ this.newNode(new _string2.default({
820
+ value: this.content(),
821
+ source: getTokenSource(current),
822
+ sourceIndex: current[_tokenize.FIELDS.START_POS]
823
+ }));
824
+ this.position++;
825
+ };
826
+
827
+ Parser.prototype.universal = function universal(namespace) {
828
+ var nextToken = this.nextToken;
829
+ if (nextToken && this.content(nextToken) === '|') {
830
+ this.position++;
831
+ return this.namespace();
832
+ }
833
+ var current = this.currToken;
834
+ this.newNode(new _universal2.default({
835
+ value: this.content(),
836
+ source: getTokenSource(current),
837
+ sourceIndex: current[_tokenize.FIELDS.START_POS]
838
+ }), namespace);
839
+ this.position++;
840
+ };
841
+
842
+ Parser.prototype.splitWord = function splitWord(namespace, firstCallback) {
843
+ var _this5 = this;
844
+
845
+ var nextToken = this.nextToken;
846
+ var word = this.content();
847
+ while (nextToken && ~[tokens.dollar, tokens.caret, tokens.equals, tokens.word].indexOf(nextToken[_tokenize.FIELDS.TYPE])) {
848
+ this.position++;
849
+ var current = this.content();
850
+ word += current;
851
+ if (current.lastIndexOf('\\') === current.length - 1) {
852
+ var next = this.nextToken;
853
+ if (next && next[_tokenize.FIELDS.TYPE] === tokens.space) {
854
+ word += this.requiredSpace(this.content(next));
855
+ this.position++;
856
+ }
857
+ }
858
+ nextToken = this.nextToken;
859
+ }
860
+ var hasClass = (0, _indexesOf2.default)(word, '.').filter(function (i) {
861
+ return word[i - 1] !== '\\';
862
+ });
863
+ var hasId = (0, _indexesOf2.default)(word, '#');
864
+ // Eliminate Sass interpolations from the list of id indexes
865
+ var interpolations = (0, _indexesOf2.default)(word, '#{');
866
+ if (interpolations.length) {
867
+ hasId = hasId.filter(function (hashIndex) {
868
+ return !~interpolations.indexOf(hashIndex);
869
+ });
870
+ }
871
+ var indices = (0, _sortAscending2.default)((0, _uniq2.default)([0].concat(hasClass, hasId)));
872
+ indices.forEach(function (ind, i) {
873
+ var index = indices[i + 1] || word.length;
874
+ var value = word.slice(ind, index);
875
+ if (i === 0 && firstCallback) {
876
+ return firstCallback.call(_this5, value, indices.length);
877
+ }
878
+ var node = void 0;
879
+ var current = _this5.currToken;
880
+ var sourceIndex = current[_tokenize.FIELDS.START_POS] + indices[i];
881
+ var source = getSource(current[1], current[2] + ind, current[3], current[2] + (index - 1));
882
+ if (~hasClass.indexOf(ind)) {
883
+ var classNameOpts = {
884
+ value: value.slice(1),
885
+ source: source,
886
+ sourceIndex: sourceIndex
887
+ };
888
+ node = new _className2.default(unescapeProp(classNameOpts, "value"));
889
+ } else if (~hasId.indexOf(ind)) {
890
+ var idOpts = {
891
+ value: value.slice(1),
892
+ source: source,
893
+ sourceIndex: sourceIndex
894
+ };
895
+ node = new _id2.default(unescapeProp(idOpts, "value"));
896
+ } else {
897
+ var tagOpts = {
898
+ value: value,
899
+ source: source,
900
+ sourceIndex: sourceIndex
901
+ };
902
+ unescapeProp(tagOpts, "value");
903
+ node = new _tag2.default(tagOpts);
904
+ }
905
+ _this5.newNode(node, namespace);
906
+ // Ensure that the namespace is used only once
907
+ namespace = null;
908
+ });
909
+ this.position++;
910
+ };
911
+
912
+ Parser.prototype.word = function word(namespace) {
913
+ var nextToken = this.nextToken;
914
+ if (nextToken && this.content(nextToken) === '|') {
915
+ this.position++;
916
+ return this.namespace();
917
+ }
918
+ return this.splitWord(namespace);
919
+ };
920
+
921
+ Parser.prototype.loop = function loop() {
922
+ while (this.position < this.tokens.length) {
923
+ this.parse(true);
924
+ }
925
+ this.current._inferEndPosition();
926
+ return this.root;
927
+ };
928
+
929
+ Parser.prototype.parse = function parse(throwOnParenthesis) {
930
+ switch (this.currToken[_tokenize.FIELDS.TYPE]) {
931
+ case tokens.space:
932
+ this.space();
933
+ break;
934
+ case tokens.comment:
935
+ this.comment();
936
+ break;
937
+ case tokens.openParenthesis:
938
+ this.parentheses();
939
+ break;
940
+ case tokens.closeParenthesis:
941
+ if (throwOnParenthesis) {
942
+ this.missingParenthesis();
943
+ }
944
+ break;
945
+ case tokens.openSquare:
946
+ this.attribute();
947
+ break;
948
+ case tokens.dollar:
949
+ case tokens.caret:
950
+ case tokens.equals:
951
+ case tokens.word:
952
+ this.word();
953
+ break;
954
+ case tokens.colon:
955
+ this.pseudo();
956
+ break;
957
+ case tokens.comma:
958
+ this.comma();
959
+ break;
960
+ case tokens.asterisk:
961
+ this.universal();
962
+ break;
963
+ case tokens.ampersand:
964
+ this.nesting();
965
+ break;
966
+ case tokens.slash:
967
+ case tokens.combinator:
968
+ this.combinator();
969
+ break;
970
+ case tokens.str:
971
+ this.string();
972
+ break;
973
+ // These cases throw; no break needed.
974
+ case tokens.closeSquare:
975
+ this.missingSquareBracket();
976
+ case tokens.semicolon:
977
+ this.missingBackslash();
978
+ default:
979
+ this.unexpected();
980
+ }
981
+ };
982
+
983
+ /**
984
+ * Helpers
985
+ */
986
+
987
+ Parser.prototype.expected = function expected(description, index, found) {
988
+ if (Array.isArray(description)) {
989
+ var last = description.pop();
990
+ description = description.join(', ') + ' or ' + last;
991
+ }
992
+ var an = /^[aeiou]/.test(description[0]) ? 'an' : 'a';
993
+ if (!found) {
994
+ return this.error('Expected ' + an + ' ' + description + '.', { index: index });
995
+ }
996
+ return this.error('Expected ' + an + ' ' + description + ', found "' + found + '" instead.', { index: index });
997
+ };
998
+
999
+ Parser.prototype.requiredSpace = function requiredSpace(space) {
1000
+ return this.options.lossy ? ' ' : space;
1001
+ };
1002
+
1003
+ Parser.prototype.optionalSpace = function optionalSpace(space) {
1004
+ return this.options.lossy ? '' : space;
1005
+ };
1006
+
1007
+ Parser.prototype.lossySpace = function lossySpace(space, required) {
1008
+ if (this.options.lossy) {
1009
+ return required ? ' ' : '';
1010
+ } else {
1011
+ return space;
1012
+ }
1013
+ };
1014
+
1015
+ Parser.prototype.parseParenthesisToken = function parseParenthesisToken(token) {
1016
+ var content = this.content(token);
1017
+ if (token[_tokenize.FIELDS.TYPE] === tokens.space) {
1018
+ return this.requiredSpace(content);
1019
+ } else {
1020
+ return content;
1021
+ }
1022
+ };
1023
+
1024
+ Parser.prototype.newNode = function newNode(node, namespace) {
1025
+ if (namespace) {
1026
+ if (/^ +$/.test(namespace)) {
1027
+ if (!this.options.lossy) {
1028
+ this.spaces = (this.spaces || '') + namespace;
1029
+ }
1030
+ namespace = true;
1031
+ }
1032
+ node.namespace = namespace;
1033
+ unescapeProp(node, "namespace");
1034
+ }
1035
+ if (this.spaces) {
1036
+ node.spaces.before = this.spaces;
1037
+ this.spaces = '';
1038
+ }
1039
+ return this.current.append(node);
1040
+ };
1041
+
1042
+ Parser.prototype.content = function content() {
1043
+ var token = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.currToken;
1044
+
1045
+ return this.css.slice(token[_tokenize.FIELDS.START_POS], token[_tokenize.FIELDS.END_POS]);
1046
+ };
1047
+
1048
+ /**
1049
+ * returns the index of the next non-whitespace, non-comment token.
1050
+ * returns -1 if no meaningful token is found.
1051
+ */
1052
+ Parser.prototype.locateNextMeaningfulToken = function locateNextMeaningfulToken() {
1053
+ var startPosition = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.position + 1;
1054
+
1055
+ var searchPosition = startPosition;
1056
+ while (searchPosition < this.tokens.length) {
1057
+ if (WHITESPACE_EQUIV_TOKENS[this.tokens[searchPosition][_tokenize.FIELDS.TYPE]]) {
1058
+ searchPosition++;
1059
+ continue;
1060
+ } else {
1061
+ return searchPosition;
1062
+ }
1063
+ }
1064
+ return -1;
1065
+ };
1066
+
1067
+ _createClass(Parser, [{
1068
+ key: 'currToken',
1069
+ get: function get() {
1070
+ return this.tokens[this.position];
1071
+ }
1072
+ }, {
1073
+ key: 'nextToken',
1074
+ get: function get() {
1075
+ return this.tokens[this.position + 1];
1076
+ }
1077
+ }, {
1078
+ key: 'prevToken',
1079
+ get: function get() {
1080
+ return this.tokens[this.position - 1];
1081
+ }
1082
+ }]);
1083
+
1084
+ return Parser;
1085
+ }();
1086
+
1087
+ exports.default = Parser;
1088
+ module.exports = exports['default'];