Commit Graph

40 Commits

Author SHA1 Message Date
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
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
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
64160e89cc wip: ignore non-ref const mutation cases in codegen 2020-11-18 21:16:09 -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
cdc9f336fd wip: new cssVars SSR integration + fix cssVars SSR injection for suspense 2020-11-17 18:54:47 -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
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
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
886ed7681d feat(compiler-sfc): compileScript inline render function mode 2020-11-10 16:28:34 -05:00
Barthélémy Ledoux
62b9d02f6f
feat(compiler-core): add comments parser option (#1858) 2020-08-17 11:20:28 -04:00
Evan You
71c3c6e2a0 fix(v-model): allow v-model usage on declared custom elements
fix #1699
2020-07-27 17:09:30 -04:00
lawvs
a935998b33
chore: better comment hovers preview [ci skip] (#1612) 2020-07-17 11:24:12 -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
b51b79f5c4 refactor: rename optimizeBindings -> optimizeImports 2020-07-10 20:43:52 -04:00
Felix Rilling
829b35e426
chore: typo fixes (#1546)
* chore: fix typos in comments/JSDoc.

* chore: fix typo in internal function name.

* chore: fix typos in test comments/descriptions/variable names.
2020-07-08 12:32:42 +02:00
Evan You
9b5d13e598 fix: bail stringification for slots
fix #1281, close #1286
2020-06-10 14:31:59 -04:00
Evan You
cb9444807e wip(compiler): improve node stringification to support adjacent nodes 2020-05-15 12:58:44 -04:00
Evan You
e58beecc97 refactor(compiler/types): convert compiler options documentation to jsdoc
BREAKING CHANGE: `getTextMode` compiler option signature has changed from

  ```ts
  (tag: string, ns: string, parent: ElementNode | undefined) => TextModes
  ```

  to

  ```ts
  (node: ElementNode, parent: ElementNode | undefined) => TextModes
  ```
2020-05-07 11:01:36 -04:00
Evan You
1f6e72b110 fix(compiler): support full range of entity decoding in browser builds
BREAKING CHANGE: compiler options have been adjusted.
    - new option `decodeEntities` is added.
    - `namedCharacterReferences` option has been removed.
    - `maxCRNameLength` option has been rmeoved.
2020-04-08 18:51:25 -04:00
Evan You
c403c39126 chore: improve parser option comments [ci skip] 2020-03-24 18:29:15 -04:00
Evan You
8449a9727c feat(compiler-core): switch to @babel/parser for expression parsing
This enables default support for parsing bigInt, optional chaining
    and nullish coalescing, and also adds the `expressionPlugins`
    compiler option for enabling additional parsing plugins listed at
    https://babeljs.io/docs/en/next/babel-parser#plugins.
2020-02-27 16:53:51 -05:00
Evan You
27913e661a feat(compiler-dom/runtime-dom): stringify eligible static trees 2020-02-12 11:56:42 -05:00
Evan You
51317af6e8 refactor(compiler): prefix all imported helpers to avoid scope collision 2020-02-07 18:53:39 -05:00
Evan You
797cc18967 wip(ssr): element scopeId 2020-02-06 17:45:46 -05:00
Evan You
3c27bf6133 wip(compiler-ssr): built-in component fallthrough 2020-02-06 17:45:46 -05:00
Evan You
ebf920e6af wip(compiler-ssr): dynamic v-bind + class/style merging 2020-02-04 18:37:32 -05:00
Evan You
ba263c909c wip(ssr): remove cjs codegen mode 2020-02-04 15:58:54 -05:00
Evan You
6a5ed49ea9 wip(ssr): v-bind basic usage 2020-02-04 12:21:04 -05:00
Evan You
b685805a26 wip(ssr): ssr helper codegen 2020-02-03 18:31:10 -05:00
Evan You
efbbd19b3d wip(ssr): initial scaffold for compiler-ssr 2020-02-02 00:05:27 -05:00
Evan You
04da2a82e8 feat(compiler-core): support mode: cjs in codegen 2020-01-31 10:01:33 -05:00
Evan You
d6275a3c31 fix(sfc): treat custom block content as raw text 2019-12-22 21:09:39 -05:00
Evan You
b689ca6e85 test: test scopeId support 2019-12-17 12:31:38 -05:00
Evan You
51980afca2 feat(sfc): wip scopeId compiler support 2019-12-17 12:31:38 -05:00
Evan You
5cd1495767 refactor(compiler-core): centralize compiler options 2019-12-10 12:53:26 -05:00