-
-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
error on expression scope store #5079
Conversation
It looks like this would also prevent using I guess this partially comes down to whether we ever plan to let you autosubscribe to stores that aren't declared on the top level. Making As I've been writing this, I've sort of talked myself into thinking that disallowing all uses of |
I would think that any variable name that begins with |
Looking at this PR now, I think we want to also prevent usage of <script>
import { writable } from 'svelte/store';
const store = writable();
{
let store;
$store = 42;
console.log($store);
}
</script> produces a runtime error, but should also be a compile-time error. Similarly to the previous comment, this would also have the effect of making the following code: <script>
import { writable } from 'svelte/store';
const store = writable(42);
{
let store;
console.log($store);
}
</script> stop printing '42' and start being a compile-time error, which seems like a reasonable enough slight change if we're also okay with that happening in the template. |
That make sense to me. |
4773b0f
to
fe991b4
Compare
fe991b4
to
68e287f
Compare
* upstream/master: (190 commits) invalidate $$props and $$restProps only when there are changes (sveltejs#5123) site: use https in link in blog (sveltejs#5148) Simplify each block bindings example (sveltejs#5094) fix $$props reactive for slots (sveltejs#5125) site: add FAQ entry for how to document a svelte component (sveltejs#5131) site: remove an obsolete TODO in blog post (sveltejs#5135) Increase timeout for unit build Increase timeout for unit tests -> v3.24.0 spread condition for input element (sveltejs#5004) update changelog fix(5018): compare wholeText instead of data (sveltejs#5028) html anchor in head (sveltejs#5071) error on expression scope store (sveltejs#5079) update changelog preprocess self-closing script and style tags (sveltejs#5082) update changelog fix: Parameters with default values are optional (sveltejs#5083) make builds time out after a reasonable period (sveltejs#5100) site: fix blog typo (sveltejs#5090) ...
* master: (67 commits) add updating guard to binding callback (sveltejs#5126) Bump lodash from 4.17.15 to 4.17.19 (sveltejs#5152) Bump lodash from 4.17.15 to 4.17.19 in /site (sveltejs#5155) Fixes sveltejs#5153 (sveltejs#5154) invalidate $$props and $$restProps only when there are changes (sveltejs#5123) site: use https in link in blog (sveltejs#5148) Simplify each block bindings example (sveltejs#5094) fix $$props reactive for slots (sveltejs#5125) site: add FAQ entry for how to document a svelte component (sveltejs#5131) site: remove an obsolete TODO in blog post (sveltejs#5135) Increase timeout for unit build Increase timeout for unit tests -> v3.24.0 spread condition for input element (sveltejs#5004) update changelog fix(5018): compare wholeText instead of data (sveltejs#5028) html anchor in head (sveltejs#5071) error on expression scope store (sveltejs#5079) update changelog preprocess self-closing script and style tags (sveltejs#5082) ...
Fixes #5048
Before submitting the PR, please make sure you do the following
npm run lint
!)Tests
npm test
oryarn test
)