Commit Graph

219 Commits

Author SHA1 Message Date
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
Evan You ed2eb81317 refactor(compiler-sfc): always parse explicit script setup signature 2020-10-30 12:03:14 -04:00
Evan You 941b645d58 refactor(compiler-sfc): improve compileScript error messages 2020-10-30 11:52:46 -04:00
Evan You 556560fae3 feat(compiler-sfc): new script setup implementation
- now exposes all top level bindings to template
- support `ref:` syntax sugar
2020-10-29 15:03:39 -04:00
Evan You 9664267793 chore: fix missed type guard from dbc29c32 2020-10-15 12:10:25 -04:00
Evan You dbc29c32e3 build(deps): bump @babel/types from 7.11.5 to 7.12.0 2020-10-15 12:02:20 -04:00
Evan You 3aabd59de1 build(deps): bump postcss-selector-parser from 6.0.2 to 6.0.4 2020-10-15 11:52:30 -04:00
underfin 066d514d75
feat(compiler-sfc): `additionalData` support for css preprocessors (#2126)
close https://github.com/vitejs/vite/issues/520
2020-09-16 09:28:31 -04:00
underfin 05df696a2b
fix(compiler-sfc): should extract comment for import or type declarations (#2107)
fix #2102
2020-09-15 10:39:27 -04:00
Jonathan Wood cdd849a09c
chore: fix tests (#2120) 2020-09-15 09:36:27 -04:00
Evan You c67e78ab6f chore(compiler-sfc): gracefully handle failed parse when analyzing bindings 2020-09-14 22:10:23 -04:00
Haoqun Jiang 273d19ad46
fix: should be able to parse decorators in script lang="ts" & jsx (#2088)
* fix: should be able to parse decorators in script lang="ts"

* fix: should also support parsing jsx

Added to `compileScript` instead of `babelParserDefaultPlugins` because
it's not needed for template expression parsing
2020-09-14 21:51:15 -04:00
satotake 937735251c
feat(compiler-sfc): support `additionalData` option in `compileStyle` when processing sass (#1952) 2020-09-14 20:53:06 -04:00
Stanislav Lashmanov 4421c00903
feat(compiler-sfc): analyze script bindings (#1962)
Also expose `scriptAst` and `scriptSetupAst` on returned script block
2020-08-28 16:21:03 -04:00
meteorlxy bc64c60c7e
style(compiler-sfc): tweak api and types export (#1976) 2020-08-26 15:22:11 -04:00
Evan You 7454e2a52b build(deps): upgrade to TypeScript 4 2020-08-20 17:48:28 -04:00
edison 075d769e0b
chore: fix typo for `babelParserDefautPlugins` (#1897) 2020-08-19 09:53:09 -04:00
kazuya kawaguchi 619efd9ac5
fix(compiler-sfc): custom blocks sourcemap (#1812) 2020-08-14 17:47:28 -04:00
Necmettin Karakaya 86187ca907
chore: typos (#1670) 2020-08-14 17:05:12 -04:00
edison 2a1b0fc6d7
chore: use `value` instead of `n.value` (#1770) 2020-08-14 17:00:49 -04:00
underfin 578f25c34e
fix(compiler-sfc): `less` and `stylus` output deps path is absolute p… (#1685) 2020-07-28 13:45:24 -04:00
underfin 452edb73cb
fix(compiler-sfc): fix rewrite named export default (#1675) 2020-07-22 21:00:41 -04:00
Evan You 4951d43526 fix(compiler-sfc): `<style vars scoped>` prefixing should only apply to pre-transform source
fix #1623
2020-07-21 15:05:28 -04:00
underfin 6f148d0b9a
fix(compiler-sfc): use correct importer with `useCssVars` (#1658)
fix #https://github.com/vitejs/vite/issues/578
2020-07-20 12:46:33 -04:00
underfin 0526e5d7fa
fix(compiler-sfc): use `filename` from options when compile styl preprocessor (#1635)
fix #https://github.com/vitejs/vite/issues/577
2020-07-19 14:17:31 -04:00
ezshine 2c3427413d
chore: typo [ci skip] (#1604) 2020-07-17 11:24:53 -04:00
lawvs a935998b33
chore: better comment hovers preview [ci skip] (#1612) 2020-07-17 11:24:12 -04:00
Guillaume Chau 568b6db12b
feat: Initial devtools support (#1125) 2020-07-16 18:18:52 -04:00
Evan You d5055cd8dd refactor(compiler-sfc): simplify style preprocessors 2020-07-16 13:38:46 -04:00
Evan You 9cb29eea3a fix(compiler-sfc): fix preprocessor filename access 2020-07-16 13:36:31 -04:00
underfin e41d8310de
feat(compiler-sfc): export dependencies for css and css preprocessors (#1278) 2020-07-16 12:33:37 -04:00
Evan You 9b5ff2b567 fix(compiler-sfc): fix useCssVars codegen 2020-07-15 18:05:35 -04:00
Evan You af4b0c2cf1 fix(compiler-sfc): prohibit src usage for `<script setup>` + do not
process non js/ts blocks in compileScript
2020-07-15 17:44:02 -04:00
Evan You 11727b9e1e refactor(compiler-sfc): adjust sfc compileScript usage 2020-07-15 16:27:21 -04:00
Evan You 03f924e48a refactor(compiler-sfc): move sfc parse errors into return result
Also warn against `<script setup src>` usage
2020-07-15 16:00:53 -04:00
cexbrayat 9146cc485e fix(compiler-sfc): `<script setup>` warning
The warning was showing even if the component is only using a classic `<script>`
2020-07-15 12:32:11 -04:00
Evan You b9595e64cf feat: ssr support for `<style vars>` 2020-07-12 18:04:09 -04:00
Evan You b6cdd5621e wip: template binding optimization 2020-07-10 22:12:25 -04:00
Evan You 5f271515cf refactor: shorten scoped css var / animation prefix 2020-07-10 18:47:31 -04:00
Evan You 4c43d4e5b9 feat(compiler-sfc): `<script setup>` support (experimental)
This is the last commit for the feature which adds async/await detection.
2020-07-10 18:00:13 -04:00
Evan You 73bfce3706 refactor: only rewrite css varaiable in `<style scoped>` when vars is present 2020-07-10 17:10:48 -04:00
Evan You f3cc41f0c8 feat(compiler-sfc): allow using :deep, :global & :slotted for short in `<style scoped>` 2020-07-10 16:47:36 -04:00