Commit Graph

637 Commits

Author SHA1 Message Date
花果山大圣 a0c7f271a2
fix(compiler-sfc): require <template> or <script> in SFC (#6781)
fix #6676
2022-11-07 22:34:39 -05:00
花果山大圣 99b6697fb4
fix(compiler-sfc): fix macro usage in multi-variable declaration (#6778)
fix #6757
2022-11-07 22:16:21 -05:00
三咲智子 Kevin Deng b72a4af38a
fix(compiler-sfc): add semicolon after `defineProps` statement (#6461)
fix #6428
2022-11-07 21:17:48 -05:00
三咲智子 Kevin Deng 97aadd8290
types: use actual type for script block ASTs (#6457) 2022-11-07 21:14:10 -05:00
三咲智子 Kevin Deng c4f213b425
fix(reactivity-transform): add semicolon after statements (#6303) 2022-11-07 20:38:47 -05:00
三咲智子 (Kevin) bbb66d7ac7
ci: check prettier format (#6830) 2022-10-28 09:39:34 +08:00
ygj6 eab76046e3
fix(compiler-sfc): allow type annotation for defineEmits variable (#5394)
fix #5393
2022-10-26 05:12:55 -04:00
edison 83f7e6f8a6
fix(compiler-sfc): support using extends interface with defineProps() (#4512)
fix #4498
2022-10-26 04:44:30 -04:00
Travis 6958ec1b37
fix(compiler-sfc): fix expression check for v-on with object literal value (#6652)
fix #6650
fix #6674
2022-09-27 05:30:10 -04:00
林烁壕 81a7819535
fix(compiler-sfc): rewriteDefault for class with decorators (#6320)
fix #6318
2022-08-18 04:07:55 -04:00
Evan You 769e5555f9 fix(compiler-sfc): fix template usage check edge case for v-on statements
ref: https://github.com/vuejs/vue/issues/12591
2022-07-04 11:49:47 +08:00
Evan You fb3bfde264 chore: fix wrong condition in 3ff83694 2022-07-01 12:18:21 +08:00
Evan You 3ff83694f5 fix(compiler-sfc): only add decorators-legacy parser plugin when new decorators plugin is not used 2022-06-30 10:39:14 +08:00
Evan You e60244bcdf fix(compiler-sfc): improve css v-bind parsing
fix #6022
2022-06-06 20:02:08 +08:00
Evan You 9734b31c31 fix(sfc): avoid auto name inference leading to unwanted recursion
fix #5965
fix #6027
fix #6029
2022-06-06 17:36:49 +08:00
Jinesh Patel 0cd21ba77c
chore: remove unnecessary optional check (#5958) 2022-05-22 20:29:15 -04:00
Evan You 583b625987 fix(compiler-sfc): fix usage detection for types in v-for/v-slot expressions
fix #5959
2022-05-21 00:09:15 +08:00
小刘(liulinboyi) 73e6523134
fix(compiler-sfc): support `export { default } from '...'` (#5937)
fix #5935
2022-05-18 19:51:44 -04:00
Yunyoung LEE 991d62322f
fix(compiler-sfc): type-only defineProps does not recognize Promise (fix #5941) (#5943) 2022-05-18 19:34:52 -04:00
Evan You efea4a8b57 fix(ssr/sfc-css-vars): fix v-bind css vars codegen for SSR
fix #5443
close #5444
2022-05-17 09:21:44 +08:00
Evan You be6a0bff98 refactor: simplify logic 2022-05-13 15:41:49 +08:00
liulinboyi 6c3b681d23 fix(compiler-sfc): async transformer doesn't correctly detect need for semicolon in block #5808 2022-05-13 15:41:49 +08:00
Evan You de7a879cda chore: fix snapshot + simplify fix 2022-05-13 11:04:24 +08:00
liulinboyi 3b7b107120 fix(compiler-sfc): <script> after <script setup> the script content not end with `\\n` 2022-05-13 11:04:24 +08:00
edison 242914d938
fix(reactivity-transform): fix props access codegen for non-identifier prop names (#5436)
fix #5425
2022-05-12 22:38:46 -04:00
Travis f2c48f5352
fix(compiler-sfc): fix defineEmits() scope reference check error message (#5404) 2022-05-12 21:08:28 -04:00
Evan You 8a123ac34f fix(compiler-sfc): fix treeshaking of namespace import when used in template
fix #5209
2022-05-12 18:56:54 +08:00
Evan You ccf92564d3 fix(compiler-sfc): fix template usage check false positives on types
fix #5414
2022-05-12 18:23:10 +08:00
Evan You b7025d24f1 fix(compiler-sfc): ensure consistent behavior of export default render with script setup
close #4980
2022-05-11 17:20:32 +08:00
Evan You 41d255ba5d fix(compiler-sfc): fix skipped srcset transform when using base option
Based on implementation from #4835 due to conflicts

fix #4819
close #4834, close #4835
2022-05-11 16:55:58 +08:00
Evan You 57bb37bd64 fix(ssr): should not hoist transformed asset urls in ssr compile
fix #3874
2022-05-11 12:43:54 +08:00
Evan You 410144149f fix(compiler-sfc): defineProps return binding or rest binding should be considered reactive 2022-05-10 17:34:15 +08:00
那里好脏不可以 6042ab0f2f
chore: type [ci skip] 2022-05-09 22:51:51 -04:00
Evan You 29e454d4d1 chore: fix duplicate export 2022-05-10 09:50:12 +08:00
edison decad9df57
types(compiler-sfc): export SFCParseResult type (#2923)
close #2921
2022-05-09 21:37:59 -04:00
小刘(liulinboyi) 7d7a2410e5
fix(compiler-sfc): remove the jsx from the babelParserPlugins when not match the case of adding jsx (#5846)
fix #5845
2022-05-09 21:20:18 -04:00
ygj6 16939241b0
fix(compiler-sfc): automatically infer component name from filename when using script setup (#4997)
close #4993
2022-05-09 21:16:28 -04:00
Evan You 7dfe146096 fix(compiler-sfc): fix object default values for reactive props destructure 2022-05-10 08:39:27 +08:00
木杉 8e29ef6019
fix(compiler-sfc): handle type modifier in import specifiers (#5498) 2022-04-13 22:10:26 -04:00
Evan You 16fa18da6d fix(compiler-sfc): fix css v-bind inside other css functions
fix #5302, close #5306
2022-01-23 20:58:43 +08:00
edison 95d49bf7e7 fix(compiler-sfc): support complex expression in CSS v-bind() (#5114)
fix #5109
2022-01-21 15:57:30 +08:00
Evan You 4768f26f59 fix(compiler-sfc/reactivity-transform): fix edge case where normal script has ref macros but script setup does not 2022-01-21 08:47:48 +08:00
Evan You fef191fb07 chore: remove stale references of ref-transform 2021-12-23 16:56:36 +08:00
Evan You d6be3405b3 types(compiler-sfc): export additional types 2021-12-12 11:44:23 +08:00
Evan You 7e4f0a8694 fix(compiler-sfc): generate valid TS in script and script setup co-usage with TS
fix #5094
2021-12-12 09:53:52 +08:00
Evan You d70fd8d36b feat(reactivity-transform): rename @vue/ref-transform to @vue/reactivity-transform 2021-12-12 00:04:38 +08:00
Evan You 93ba6b974e feat(reactivity-transform): use toRef() for $() destructure codegen
- now supports destructuring reactive objects
- no longer supports rest elements
2021-12-11 17:13:15 +08:00
Ziwen Mei d70dd9faaa
chore(compiler-sfc): fix typo in comments (#5029) 2021-12-05 23:19:15 -05:00
Evan You 87c73e99d6 fix(compiler-sfc): make asset url imports stringifiable 2021-12-06 01:19:06 +08:00
Ziwen Mei 2d4f455434
chore(compiler-sfc): fix typo in compileScript (#5000)
Co-authored-by: meiziwen1 <meiziwen1@xdf.cn>
2021-11-26 10:21:35 +01:00
Evan You 68c45e73da feat(compiler-sfc): expose properties for more accurate HMR
ref #4358
reverts #4908
2021-11-26 14:22:26 +08:00
ygj6 c61baac75a
feat(compiler-sfc): export resolveTemplateUsageCheckString for HMR plugin use (#4908) 2021-11-25 22:58:14 -05:00
edison 31fd590fd4
fix(compiler-sfc): fix expose codegen edge case (#4919)
fix #4917
2021-11-14 22:22:53 -05:00
zisasign 574070f43f
fix(compiler-sfc): externalRE support automatic http/https prefix url pattern (#4922)
fix #4920
2021-11-14 21:37:50 -05:00
btea fd7c3407c7
refactor(compiler-sfc): replace filter method with for loop (#4905) 2021-11-14 21:31:44 -05:00
ygj6 9c42a1e2a3
fix(compiler-sfc): add type for props include Function in prod mode (#4938) 2021-11-14 21:31:11 -05:00
ygj6 090df0837e
fix(compiler-sfc): add type for props's properties in prod mode (#4790)
fix #4783
2021-11-02 22:04:04 -04:00
Evan You d4c04e9799 fix(compiler-sfc): fix props codegen w/ leading import
fix #4764
2021-10-08 12:52:48 -04:00
btea c9613ebe09
chore: prettier format (#4715) [ci skip] 2021-10-08 12:00:05 -04:00
HanochMa 7a1e6620bf
chore: grammar in comments [ci skip]
Co-authored-by: maheng <maheng01@longfor.com>
2021-10-08 11:59:47 -04:00
edison f66d456b7a
fix(compiler-sfc): support runtime Enum in normal script (#4698) 2021-10-08 11:57:39 -04:00
Evan You 646e694f0a chore: remove babelParserDefaultPlugins
The version of @babel/parser we are using now has these plugins enabled by default.
2021-10-07 19:33:06 -04:00
Evan You 467e113b95
feat(compiler-sfc): `<script setup>` defineProps destructure transform (#4690) 2021-09-27 14:24:21 -04:00
Evan You acd869f4d6 chore(compiler-sfc): avoid relying on estree type in generated dts 2021-09-23 00:13:54 -04:00
Evan You 6d6cc90912 fix(compiler-sfc): fix local var access check for bindings in normal script
fix #4644
2021-09-22 10:10:20 -04:00
Evan You 471f66a1f6 build: expose compiler-sfc and server-renderer under main vue package + optimize package size 2021-09-21 10:26:08 -04:00
Evan You a42a14d3bc types(compiler-sfc): type annotation tweaks + move @babel/types to devDeps 2021-09-20 22:06:12 -04:00
Evan You 585615beb1 feat(compiler-sfc): allow disabling sourcemap when not needed 2021-09-18 17:42:09 -04:00
edison 8055445b68
fix(compiler-sfc): register exported bindings in normal script when using script setup (#4601)
fix #4600
2021-09-16 17:22:29 -04:00
Evan You cab9541ffd refactor(compiler-sfc): improve TLA codegen 2021-09-16 17:07:29 -04:00
Evan You 39cebf5f7a fix(compiler-sfc): fix TLA codegen semicolon insertion
fix #4596
2021-09-16 16:49:59 -04:00
edison ae942cdcd9
fix(compiler-sfc): support nested await statements (#4458)
fix #4448
2021-09-16 16:23:46 -04:00
Thorsten Lünborg bdb1a7958b
fix(compiler-sfc): handle empty strings during template usage analysis of setup bindings (#4608)
fix #4599
2021-09-16 13:47:11 -04:00
ygj6 fcd5422b4a
fix(compile-sfc): add symbol judge in prop type checks. (#4594)
fix #4592
2021-09-16 13:45:55 -04:00
Evan You 06c5bf53ab fix(compiler-sfc): properly reuse hoisted asset imports
fix #4581
2021-09-16 13:33:02 -04:00
Evan You a6e5f82d8e fix(compiler-sfc): properly analyze destructured bindings with dynamic keys
fix #4540
2021-09-09 12:28:59 -04:00
webfansplz fac9a2926d
fix(compile-sfc): support `Date` prop type with defineProps (#4519) 2021-09-05 18:13:12 -04:00
edison 14d65181f1
fix(compiler-sfc): support using declared interface in normal script with defineProps() (#4522)
fix #4423
2021-09-05 18:10:15 -04:00
edison 5594643d7b
fix(compiler-sfc): fix script setup ref assignment codegen edge case (#4520)
fix #4514
2021-09-05 18:02:50 -04:00
webfansplz e6fe751b20
fix(compile-sfc): generate setup prop type format error (#4506)
fix #4505
2021-09-05 17:36:46 -04:00
Evan You 12acf5102c build: avoid require call to consolidate in esm-browser build 2021-09-05 17:30:18 -04:00
Evan You bacb2012ac fix(compiler-sfc): ensure script setup generates type-valid ts output
fix #4455
2021-09-02 11:51:41 -04:00
webfansplz 85807967dc
fix(compiler-sfc): generate matching prop types when withDefaults is used (#4466)
fix #4455
2021-09-02 11:26:52 -04:00
dependabot[bot] 305883a12f
build(deps-dev): bump typescript from 4.3.5 to 4.4.2 (#4482)
* build(deps-dev): bump typescript from 4.3.5 to 4.4.2

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.3.5 to 4.4.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.3.5...v4.4.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps-dev): bump typescript from 4.3.5 to 4.4.2

* test: fix nodeOps types

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Rodrigues <carlos@hypermob.co.uk>
Co-authored-by: Evan You <yyx990803@gmail.com>
2021-09-02 09:53:57 -04:00
Evan You b89ff9291e fix(compiler-sfc): ensure script setup lang=ts output is tree-shakable 2021-09-01 12:40:36 -04:00
Evan You 586ec51c49 chore: warnings for ref transform 2021-08-24 10:26:38 -04:00
klwf 98263821f8
fix(compiler-sfc): fix `<script>` and `<script setup>` co-usage ordering edge case (#4419)
Fix: #4395
Fix: #4376
2021-08-23 19:02:54 -04:00
lidlanca 4792ebd687
fix(compiler-sfc): fix 'export default' rewrite with extra whitespaces (#4375) 2021-08-23 18:40:16 -04:00
Evan You 06051c4bf2 feat(experimental): support ref transform for sfc normal `<script>` 2021-08-23 16:00:46 -04:00
Evan You 40994e967c chore: fix sfc playground ci build 2021-08-23 14:10:11 -04:00
Evan You 0805abe573 refactor(compiler-sfc): refSugar -> refTransform, export shouldTransformRef 2021-08-23 12:19:41 -04:00
Evan You e565831c98 feat(experimental): shouldTransform for ref-transform 2021-08-23 10:45:58 -04:00
Evan You 0c2ea1c134 refactor(compiler-sfc): remove parseOnly mode 2021-08-22 22:28:47 -04:00
Evan You db8dc753c0 feat(experimental): standalone ref transform 2021-08-22 22:21:42 -04:00
Evan You 84b24a71f0 chore: bump deps 2021-08-22 15:33:21 -04:00
Evan You 73f8cae465 refactor(compiler): further extract babel ast utilities 2021-08-22 14:51:16 -04:00
Evan You 62f752552a refactor(compiler): extract shared ast transform utils
Also improve referenced identifier check using isReferenced from  @babel/types
2021-08-22 13:24:16 -04:00
Evan You 872b3f7ec5 fix(compiler-sfc): should also expose regular script block bindings when `<script setup>` is used
close #4369
2021-08-17 15:52:48 -04:00
似水微寒 c51fb74599
refactor(compiler-sfc): remove duplicate judgment conditions (#4368) 2021-08-17 12:12:18 -04:00
Evan You 57f10812cc fix(compiler-sfc): fix import usage check for lowercase imported components
fix #4358
2021-08-17 10:10:26 -04:00
Evan You f855ccb2c1 fix(compiler-sfc): fix import usage check in template strings in expressions
fix #4340
2021-08-16 18:03:09 -04:00
webfansplz ad66295cb3
fix(defineProps): defineProps generates unnecessary array of same types (#4353)
fix #4352
2021-08-16 17:40:00 -04:00
Evan You aae3725e57 fix(compiler-sfc): bail on import usage check when template has custom lang
fix #4312
2021-08-16 16:08:52 -04:00
Evan You 00b76d3dc1 feat(sfc): support $shallowRef ref sugar 2021-08-11 10:19:58 -04:00
Evan You e42d7794cb chore(compiler-sfc): emit compiler error against incorrect ref sugar usage 2021-08-10 14:57:47 -04:00
Evan You 1e1682f060 fix(compiler-sfc): fix import usage check for last expression 2021-08-09 16:22:20 -04:00
Evan You 88a4504e82 fix(compiler-sfc): fix import usage detection for names containing $
fix #4274
2021-08-09 12:17:22 -04:00
Evan You 1994f1200d test: improve test case for 865b84bf 2021-08-06 13:01:39 -04:00
Eugene Kopich fdc9a4d301
chore: update link in comments for new ref sugar (#4265) [ci skip] 2021-08-06 12:58:40 -04:00
Evan You 865b84bfe8 fix(compiler-sfc): fix ref sugar rewrite for identifiers in ts casting expressions
fix #4254
2021-08-06 12:55:48 -04:00
Evan You 9bee5ccea4 chore: update new ref sugar warning link 2021-08-04 17:06:23 -04:00
Evan You bf2589b1f0 refactor(compiler-sfc): use shallowRef for ref sugar destructure 2021-08-04 15:39:32 -04:00
Evan You 3b38c9ae9b feat(sfc): remove experimental status for sfc style v-bind 2021-07-28 18:31:48 -04:00
edison 771635b72a
fix(sfc/style-vars): improve ignore style variable bindings in comments (#4202) 2021-07-28 10:51:25 -04:00
edison 3a75d5d694
fix(sfc/style-vars): should ignore style variable bindings in comments (#4188)
fix #4185
2021-07-26 11:19:56 -04:00
Evan You f0ca233d8b refactor(compiler-sfc): improve script setup import expose heuristics 2021-07-22 12:53:08 -04:00
Evan You 5a3ccfd914 feat(compiler-sfc): avoid exposing imports not used in template
close #3183
2021-07-22 12:04:46 -04:00
webfansplz 457c9aed1f
chore(type): remove unnecessary type assertion (#4150) 2021-07-20 09:31:40 -04:00
Evan You 8dbecfcbb3 feat(compiler-sfc): add ignoreEmpty option for sfc parse method 2021-07-19 19:02:46 -04:00
Evan You 47f488350c chore: run updated prettier 2021-07-19 18:24:18 -04:00
Evan You 93a950d60d fix(compiler-sfc): support const enum 2021-07-19 17:31:13 -04:00
Cédric Exbrayat b771fdbef9
perf(compiler-sfc): ignore empty blocks (#3520) 2021-07-19 17:24:40 -04:00
Evan You b274b08f5f fix(compiler-sfc): expose correct range for empty blocks 2021-07-19 17:05:37 -04:00
edison f7607d3a15
fix(compiler-sfc): defineProps infer TSParenthesizedType (#4147) 2021-07-19 11:09:24 -04:00
Evan You e66a493da1 refactor: remove deprecated defineEmit() support 2021-07-16 14:30:49 -04:00
Evan You 562bddb3ce feat(sfc): (experimental) new ref sugar 2021-07-16 14:30:49 -04:00
Evan You 27104eaaf0 feat: remove experimental status of `<script setup>` 2021-07-16 14:30:49 -04:00
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
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
Evan You bd5c3b96be feat(compiler-sfc): `<style vars>` CSS variable injection 2020-07-10 16:30:58 -04:00
Evan You bb47510aae wip: fix tests 2020-07-09 23:06:11 -04:00
Evan You b4f7ab45ea refactor: simplify sfc script transform usage 2020-07-09 18:18:46 -04:00
Evan You 18c537d3c2 wip: test for runtime props/emits extraction 2020-07-09 12:17:28 -04:00
Evan You 2c3cdab93d wip: generate runtime prop type checks in dev 2020-07-09 12:17:28 -04:00
Evan You 3e1cdba9db wip: tests for compileScriptSetup 2020-07-09 12:17:28 -04:00
Evan You e4df2d7749 wip: export { x as default } handling 2020-07-09 12:17:28 -04:00
Evan You a44d53003e wip: move type declarations out of setup 2020-07-09 12:17:28 -04:00
Evan You c0d86070fd wip: extract runtime props/emits from type declarations 2020-07-09 12:17:28 -04:00
Evan You 608885350b wip: compileScript typed signature generation 2020-07-09 12:17:28 -04:00
Evan You a47478caf4 wip: compileScriptSetup full js support 2020-07-09 12:17:28 -04:00
Evan You 1359cc3a28 wip: compileScriptSetup 2020-07-09 12:17:28 -04:00
Evan You 1ad3f975ed wip: parser support for script setup 2020-07-09 12:17:28 -04:00
underfin 90c285c5c8
fix(compiler-sfc): transformAssetUrl should ignore inline data url (#1431) 2020-06-23 21:46:18 -04:00
Evan You 91fa52850a chore: lint for unused arguments 2020-06-12 16:31:31 -04:00
Albert Liu 47c4ffbdbe
refactor(types): improve typing (#1317) 2020-06-12 10:46:44 -04:00
Evan You 5ddd9d2417 fix(compiler-sfc): asset url transform should ignore direct hash urls 2020-05-29 10:20:57 -04:00
Evan You d10835aee7 fix(compiler-sfc): template with alt lang should be parsed as raw text
fix #1120
2020-05-07 11:08:17 -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 2f69167e88 perf(compiler-sfc): only add character mapping if not whitespace 2020-05-07 10:32:54 -04:00
Evan You 698c8d35d5 feat(compiler-sfc): improve sfc source map generation 2020-05-07 01:37:34 -04:00
Evan You d66211849c fix(compiler-sfc): should not transform external asset url with
includeAbsolute: true
2020-05-06 09:41:31 -04:00
Evan You c5dcfe16f6 perf(compiler-sfc): improve asset url trasnform efficiency 2020-05-05 16:07:15 -04:00
Evan You 6a0be882d4 feat(compiler-sfc): support transforming absolute asset urls
BREAKING CHANGE: `@vue/compiler-sfc`'s `transformAssetUrlsBase` option
has been removed. It is merged into `trasnformAssetUrls` which now also
accepts the format of

  ```ts
  {
    base?: string
    includeAbsolute?: string
    tags?: { [name: string]: string[] }
  }
  ```
2020-05-04 16:45:19 -04:00
Evan You f9a3766fd6 fix(compiler): bail strigification on runtime constant expressions 2020-05-04 15:15:26 -04:00
Evan You 36972c20b5 feat(compiler-sfc): add transformAssetUrlsBase option 2020-05-02 16:58:17 -04:00
Evan You bd0f7da2c6 build: add browser builds for @vue/compiler-sfc 2020-04-26 01:24:25 -04:00
Evan You 0bb1f67d12 types(compiler-sfc): expose SFCAsyncStyleCompileOptions 2020-04-24 17:11:41 -04:00
Evan You fa216a0c3a feat(compiler-sfc): built-in support for css modules 2020-04-24 09:59:52 -04:00
Evan You 20d425fb19 feat(compiler-sfc): add preprocessCustomRequire option 2020-04-24 09:28:03 -04:00
Cédric Exbrayat 4d014dc3d3
fix(reactivity): remove Symbol.observable (#968)
* chore: add @types/node as an explicit dependency

As `tsconfig.json` references it, it should be listed in the dependencies.
It currently uses an older version: this commit also bumps to the latest v12 version, and fixes a typing issue.

* fix(reactivity): remove Symbol.observable

`Symbol.observable` is brought by `@types/node@12` and is not a "well-known" typescript symbol https://www.typescriptlang.org/docs/handbook/symbols.html that can be find in lib.es20xx like the others. It has been removed in `@types/node@v13`.
It means that an application using vue@3.0.0-alpha.13 does not compile unless it explicitely adds `@types/node@v12` as a dependency and `node` in its own tsconfig types.
2020-04-16 09:33:30 -04:00
Evan You 5bf72517ce refactor(compiler-sfc): make more explicit regarding template pad behavior 2020-04-03 21:11:26 -04:00
Rahul Kadyan db50009353
fix(compiler-sfc): always use offset for template block sourcemaps (#911) 2020-04-03 21:10:22 -04:00
Evan You b8c1be18f3 refactor(types): use stricter settings
fix #847
2020-03-23 11:08:22 -04:00
Evan You 3b2d236714 feat(compiler-sfc): add ssr option 2020-03-16 16:24:49 -04:00
Jason 2d56dfdc4f
fix(compiler-sfc): handle empty nodes with src attribute (#695) 2020-02-04 10:03:32 -05:00
Sören Schwert c71ca354b9 fix(compiler-sfc): only transform relative asset URLs (#628) 2020-01-20 09:57:17 -05:00
Evan You d6275a3c31 fix(sfc): treat custom block content as raw text 2019-12-22 21:09:39 -05:00
Evan You 90ddb7c260 refactor: expose parse in compiler-dom, improve sfc parse error handling 2019-12-22 19:44:21 -05:00
Evan You 362831d8ab fix(sfc): fix v-slotted attribute injection 2019-12-19 17:54:52 -05:00
Evan You 3a3a24d621 feat(sfc): accept inMap in compileTemplate() 2019-12-19 16:25:05 -05:00
Evan You a894a350cd test(sfc): test scoped css compilation 2019-12-17 15:20:30 -05:00
Evan You 31ca7858bb feat(sfc): ::v-global() pseudo selector support 2019-12-17 12:31:38 -05:00
Evan You f194aa0eea feat(sfc): ::slotted selector support 2019-12-17 12:31:38 -05:00
Evan You 865c1ce9ee feat(compiler-sfc): generate source map for template block 2019-12-13 13:22:30 -05:00
Evan You a0ee4fbc36 types: use more specific type names 2019-12-13 11:24:09 -05:00
Evan You f77ae132e5 feat(hmr): reload and force slot update on re-render 2019-12-12 21:09:47 -05:00
Evan You 5658f8b678 feat(compiler): expose generateCodeFrame 2019-12-12 21:09:47 -05:00
Evan You 3de7315b7a types: use RawSourceMap types 2019-12-12 21:09:46 -05:00
Evan You d3d4fe84cd fix(vue): properly cache runtime compilation 2019-12-11 09:46:42 -05:00
宋铄运 559fa27185 test(compiler-sfc): more tests (#536) 2019-12-11 09:26:14 -05:00
Evan You 818bf17cb7 feat(compiler-sfc): use @vue/compiler-dom by default 2019-12-10 22:23:55 -05:00
Evan You 3e3188fa9f refactor: adjust sfc compiler options 2019-12-10 17:41:56 -05:00
Evan You c8c5b16ef7 feat(compiler-sfc): properly pass on options 2019-12-10 12:22:23 -05:00
宋铄运 0a14c04c81 feat(compiler-sfc): compile template WIP (#534) 2019-12-10 12:01:56 -05:00
Pocho 55e234816e types(compiler-sfc): use specific preprocessLang instead of string (#528) 2019-12-09 14:19:39 -05:00
Gabriel Loiácono 1f3e4f8bcc refactor(compiler-sfc): changed string typeof to isString util (#513) 2019-12-02 23:08:52 -05:00
likui cf2a0b281f feat(compiler-sfc): transform srcset (#501) 2019-12-02 23:06:14 -05:00
likui ef2786151e feat(compiler-sfc): handle pad option (#509) 2019-12-02 10:43:30 -05:00
likui 810b3a3e2a feat(compiler-sfc): transform asset url (#500) 2019-12-01 12:02:53 -05:00
Evan You 020e109abd chore: todos 2019-11-28 15:22:30 -05:00
likui 65118327ff feat(compiler-sfc): gen source map for style and script block (#497) 2019-11-28 15:21:02 -05:00
Gabriel Loiácono 812a0626ce style(compiler): changed object-assign to spread (#507) 2019-11-28 10:49:39 -05:00
likui 1efb35e324 fix(compiler-sfc): should ignore nodes with no children (#464) 2019-11-19 09:10:59 -05:00
QuincyChen 4e538ac465 feat(compiler-sfc): add cache for parsing sfc (#453) 2019-11-18 13:29:04 -05:00
likui 7f6abda6dd feat(compiler-sfc): warn duplicate block (#451) 2019-11-14 11:50:13 -05:00
Evan You afdca88bf3 chore: remove useless type [ci skip] 2019-11-06 22:35:56 -05:00
Evan You 68f28c2667 refactor: rename files 2019-11-06 22:27:19 -05:00
Evan You 7031e6a07a feat: (wip) setup compiler-sfc 2019-11-06 21:58:15 -05:00