Commit Graph

260 Commits

Author SHA1 Message Date
Evan You f596e008ef refactor: remove deprecated scopeId codegen
BREAKING CHANGE: Output of SFC using `<style scoped>` generated by 3.2+
will be incompatible w/ runtime <3.2.
2021-07-16 14:30:49 -04:00
patak 29010501cc
fix(compiler-sfc): duplicated injected css var with repeated vars in style (#2802) 2021-07-15 16:45:37 -04:00
Tan Zhen Yong e508ee08e9
chore: fix typo in inherit-attrs warning (#4094) 2021-07-15 15:45:23 -04:00
Evan You 5df7dfcd71 fix(sfc): only enable jsx parser plugin when explicitly using tsx
fix #4106
2021-07-15 13:12:06 -04:00
Evan You 03e26845e2 fix(sfc): fix `<script setup>` async context preservation logic
fix #4050
2021-07-06 14:31:53 -04:00
Evan You 6fad2093a4 fix(compiler-sfc): should not rewrite ref sugar identifiers in types
fix #4062
2021-07-05 14:41:53 -04:00
Evan You 253ca2729d fix(compiler-sfc): fix parse-only mode when there is no script setup block 2021-07-02 08:24:24 -04:00
Evan You 1ffd48a2f5 fix(compiler-sfc): support TS runtime enum in `<script setup>` 2021-06-30 12:03:42 -04:00
Evan You 601a290caa feat(compiler-sfc): compileScript parseOnly mode
This is an internal feature meant for IDE support
2021-06-29 17:56:49 -04:00
Evan You 96cc335aa7 feat(sfc): make ref sugar disabled by default 2021-06-29 15:22:26 -04:00
Evan You 0240e82a38 feat(sfc): auto restore current instance after await statements in async setup() 2021-06-29 09:24:12 -04:00
Evan You 211793d376 fix(compiler-sfc): avoid script setup marker showing up in devtools 2021-06-28 18:48:38 -04:00
Evan You 2e10261b38 chore: warn script setup compiler macro imports 2021-06-28 17:57:58 -04:00
Evan You 62c1b2f7dc fix(compiler-sfc): fix defineProps/defineEmits usage in multi-variable declarations
fix #3739
2021-06-28 16:31:55 -04:00
Evan You 2973b6c30a feat(sfc): support referenced types for defineEmits 2021-06-28 16:03:27 -04:00
Evan You afdd2f2835 fix(compiler-sfc): support method signature in defineProps
fix #2983
2021-06-28 15:39:04 -04:00
Evan You 2f91db30cd feat(sfc): support using declared interface or type alias with defineProps() 2021-06-28 15:30:28 -04:00
Evan You 4c5844a9ca feat(sfc): withDefaults helper 2021-06-26 21:11:57 -04:00
Evan You 691d354af9 fix(compiler-sfc): fix defineProps() call on imported identifier 2021-06-25 14:05:59 -04:00
Evan You be2b1d3c2f feat(sfc): defineExpose 2021-06-25 13:14:49 -04:00
Evan You a5a66c5196 fix(compiler-sfc): fix script setup hidden flag codegen 2021-06-24 10:11:30 -04:00
Evan You 075889ebfc chore: comments 2021-06-23 10:21:33 -04:00
Evan You 0b8b576428 fix(sfc): allow variables that start with _ or $ in `<script setup>` 2021-06-23 10:13:23 -04:00
Evan You 6f6f0cf5dc feat(sfc): remove `<template inherit-attrs>` support 2021-06-22 21:06:51 -04:00
Eduardo San Martin Morote a137da8a9f
feat(sfc): add `defineEmits` and deprecate `defineEmit` (#3725) 2021-06-22 15:02:56 -04:00
ygj6 b228abb72f
fix(compiler-sfc): rewriteDefault support multiline (#3917) 2021-06-09 15:07:48 -04:00
Evan You 8b94464a3b fix(compiler-sfc): fix style injection when using normal script + setup
fix #3688
2021-05-28 18:40:45 -04:00
HcySunYang 6bfb50aff9
fix(compiler-sfc): correctly remove parens used for wrapping (#3582)
fix #3581
2021-05-28 16:02:31 -04:00
Jason 01e8ba8f87
fix(compiler-sfc): support tsx in setup script (#3825)
close #3808
2021-05-24 12:13:37 -04:00
Evan You c32760147c wip: relay compiler-core warnings in compiler-sfc with codeframe 2021-05-05 14:24:46 -04:00
Evan You 467076361a wip: warn against `<template functional>` 2021-04-17 23:51:40 -04:00
Evan You b39208cf06 perf(compiler-sfc): skip srcset transform if all candidates are external 2021-03-29 19:15:57 -04:00
Jonas Kruckenberg 42b68c773d
fix(compiler-sfc): fix missing whitespace issue in srcsets (#3132)
fix #3069
2021-03-29 18:28:22 -04:00
Evan You bb8cdcad9f fix(compiler-sfc): support proper type arguments for defineEmit helper
fix #2874
2021-03-29 16:38:07 -04:00
Evan You f5827fdf78 fix(compiler-sfc): do not resolve assets from setup bindings
when not using script setup

fix #3270, fix #3275
2021-03-29 16:11:38 -04:00
Evan You 69b4727204 fix(compiler-sfc): fix function scope variable declaration marking 2021-03-29 00:32:46 -04:00
Evan You d1bf35c8b8 workflow(sfc-playground): support multiple files 2021-03-28 18:41:33 -04:00
Evan You f76ddc5ac3 workflow: sfc playground 2021-03-28 01:35:45 -04:00
edison bbc5fe6a97
fix(compiler-sfc): should not rewrite scope variable (#3449)
fix #3445
2021-03-25 16:16:48 -04:00
HcySunYang 6cb94752b0
fix(compiler-sfc): scope Id should not be attached to @keyframe breakpoint rules (#3308)
fix #3304
2021-03-19 10:32:30 -04:00
Evan You 540e26f49c chore: only set slotted flag on sfc descriptor if style is scoped 2021-03-05 18:28:12 -05:00
Evan You 02cbbb718c perf: support only attaching slot scope ids when necessary
This is done by adding the `slotted: false` option to:

- compiler-dom
- compiler-ssr
- compiler-sfc (forwarded to template compiler)

At runtime, only slotted component will render slot fragments with
slot scope Ids. For SSR, only slotted component will add slot scope Ids
to rendered slot content. This should improve both runtime performance
and reduce SSR rendered markup size.

Note: requires SFC tooling (e.g. `vue-loader` and `vite`) to pass on
the `slotted` option from the SFC descriptoer to the `compileTemplate`
call.
2021-03-05 18:28:12 -05:00
Evan You 3e4c3ac66d build(deps): bump @babel/parser and @babel/types 2021-03-03 11:25:13 -05:00
Evan You 1dedc19e1f fix(compiler-sfc): handle more edge cases in default rewrite 2021-02-26 11:05:20 -05:00
Evan You c69f4ea857 fix(compiler-ssr): avoid duplicated asset imports merged from component slot client branch
fix vitejs/vite#2034
2021-02-15 12:12:50 -05:00
Matias Capeletto 6d762a84ca
fix(compiler-sfc): removeSpecifier issue when removing initial imports (script-setup) (#2729) 2021-02-13 10:06:34 +01:00
Evan You 03360cefa1 fix(compiler-sfc): treat const reactive() bindings as mutable 2021-02-10 11:39:07 -05:00
Evan You 49bc2e4db5
feat(compiler-sfc): upgrade to postcss 8 (#2710) 2021-02-04 14:37:55 +01:00
underfin 9dc816d634
fix(compiler-sfc): compiler blank srcset (#3005)
fix https://github.com/vitejs/vite/issues/1523
2021-02-03 19:27:34 +01:00
HcySunYang 6d5b623512
fix(compiler-sfc): the empty lang attribute should be treated as no lang specified (#3051) 2021-02-03 19:11:45 +01:00
Evan You fd16f2bd78 refactor: avoid global scope parentStack 2021-01-15 16:28:55 -05:00
Evan You 2ea9867398 fix(compiler-sfc): transformAssetUrls.base should not affect known module requests
fix https://github.com/vitejs/vite/issues/1343
2021-01-04 15:10:51 -05:00
meteorlxy 5b9b37fc9b
fix(compiler-sfc): should keep template nodes with no content (#2468)
close #2463
2020-12-04 18:23:01 -05:00
Joel Denning db786b1afe
fix(compiler-sfc): support transforming asset urls with full base url. (#2477) 2020-12-04 18:20:25 -05:00
Evan You 085bbd5fe0 fix(compiler-sfc): named imports from .vue file should not be treated as constant
fix #2699
2020-12-01 11:52:29 -05:00
edison 5f2a8533ac
fix(compiler-sfc): fix parsing error when `lang=""` is used on plain element (#2569)
fix #2566
2020-11-30 14:45:26 -05:00
Evan You 67d1aac6ae feat(sfc): allow sfcs to recursively self-reference in template via name inferred from filename
e.g. A file named `FooBar.vue` can refer to itself as `<FooBar/>`. This gets rid of the need for the `name` option.
2020-11-30 12:30:51 -05:00
Evan You 43eab923ea fix(compiler-sfc): should not remove import statements with no specifier when compiling script setup 2020-11-28 13:51:32 -05:00
Evan You faed98972c wip: support inherit-attrs="false" on sfc `<tempalte>` 2020-11-24 19:04:21 -05:00
Evan You 47d73c23e1 wip: defineOptions -> defineProps + defineEmit + useContext 2020-11-24 19:04:21 -05:00
Evan You 9cb74960ac chore: move style vars deprecation warning to a parse error 2020-11-21 23:53:32 -05:00
Evan You 90bdf59f4c refactor(compiler): better constant hoist/stringify checks 2020-11-20 19:26:07 -05:00
Evan You 8ac2241b22 wip: more consistent compiler-sfc usage + inline mode for ssr 2020-11-20 14:23:09 -05:00
Evan You 62830f8fa4 wip: better experimental feature warnings 2020-11-19 20:36:15 -05:00
Evan You 9db42889e6 Revert "wip: allow scriptCompiled to be cached on sfc descriptor"
This reverts commit 737ef424a0.
2020-11-19 20:02:27 -05:00
Evan You 6806facfa1 wip: fix default export side effect handling 2020-11-19 16:58:07 -05:00
Evan You 08879cc3b5 wip: fix compileScript script/script-setup co-usage 2020-11-19 16:17:54 -05:00
Evan You a9424354b0 wip: fix cssVars option warning check 2020-11-19 15:32:32 -05:00
Evan You 0e86cbfcf2 wip: fix default export codegen 2020-11-19 15:30:33 -05:00
Evan You 737ef424a0 wip: allow scriptCompiled to be cached on sfc descriptor 2020-11-19 13:08:27 -05:00
Evan You 6541e70acb wip: return empty string if no cssVars are present 2020-11-19 13:08:27 -05:00
Evan You 03b2bfff09 wip: do not return type imports 2020-11-19 13:08:26 -05:00
Evan You 4c6078ce25 fix(compiler-core/compiler-sfc): handle destructure assignment expressions 2020-11-18 22:39:08 -05:00
Evan You 8567feb2aa wip: properly handle assignment/update expressions in inline mode 2020-11-18 19:38:38 -05:00
Evan You 4449fc3b9e refactor: finer grained binding types for setup 2020-11-18 19:38:38 -05:00
Evan You bb343383f2 refactor(compiler-sfc): parse css vars directly as part of sfc descriptor 2020-11-18 19:38:38 -05:00
Evan You cdc9f336fd wip: new cssVars SSR integration + fix cssVars SSR injection for suspense 2020-11-17 18:54:47 -05:00
Evan You 94736f7729 wip: css var injection production mode 2020-11-17 15:58:46 -05:00
Evan You f92bc5a19a wip: simplify useCssVars 2020-11-17 13:03:47 -05:00
Evan You dfac6eee99 wip: fix defineOptions specifier removal 2020-11-17 12:50:10 -05:00
Evan You c15bd6235e wip: generate valid v-model and TS code in script setup inline mode 2020-11-17 12:42:58 -05:00
Evan You 6e870f5b30 wip: update sfc style var injection syntax
ref: https://github.com/vuejs/rfcs/pull/231#issuecomment-728993116
2020-11-17 11:43:29 -05:00
Evan You 41bb7fa330 feat(compiler-sfc): new SFC css varaible injection implementation
ref: https://github.com/vuejs/rfcs/pull/231
2020-11-16 18:27:25 -05:00
Evan You cea8b25fed wip: fix useCssVars helper call + tests 2020-11-16 11:35:38 -05:00
Evan You a603d56970 wip: make `<script setup>` closed by default 2020-11-14 12:55:21 -05:00
Evan You 1ff5960971 wip: useOptions -> defineOptions 2020-11-13 17:38:28 -05:00
Evan You 8ba3a7de40 wip: fix dts tests 2020-11-13 00:12:04 -05:00
Evan You 001f8ce993 wip: defineContext -> useOptions 2020-11-12 22:51:40 -05:00
Evan You 0ca9137188 wip: tests for defineContext() 2020-11-12 18:11:25 -05:00
Evan You 128621d6a0 wip: further optimize bindings 2020-11-12 16:11:14 -05:00
Evan You 6a9b56ca60 wip: defineContext() 2020-11-12 14:10:39 -05:00
Evan You dc098c7f81 wip: defineContext 2020-11-11 19:40:27 -05:00
Evan You 2a4fc32d15 wip: remove unnecessary inlinePropsIdentifier option 2020-11-11 10:36:59 -05:00
Evan You 4e8ef55237 wip: optimize binding access to known imported components 2020-11-10 18:06:38 -05:00
Evan You 3019508e75 wip: fix binding type fallback 2020-11-10 17:31:09 -05:00
Evan You 886ed7681d feat(compiler-sfc): compileScript inline render function mode 2020-11-10 16:28:34 -05:00
Evan You 3f99e239e0 feat(compiler-sfc): support kebab-case components in `<script setup>` sfc template 2020-11-09 17:22:58 -05:00
Evan You 8cf0a40d5b chore: update warning and error messages 2020-11-09 17:00:58 -05:00
Evan You 6e3abc8605 fix(compiler-sfc): fix script setup ts helpers 2020-10-30 16:56:12 -04:00
Evan You 8485cd4843 fix: handle case of ref declaration without initial value 2020-10-30 15:29:38 -04:00