Closed rwaskiewicz closed 4 months ago
Our stencil build in watch mode during debugging I saw that stencil is watching node_modules for changes - he shouldn't.
So I wanted to ignore node_modules. Unfortunetly the watch ignore doesnt work.
Is it by default that stencil is wathing node_modules ?
This eats memory like crazy.
[32:39.4] NODE_SYS_DEBUG::watchFile /dev/workspace/develop2/packages/core/node_modules/@stencil/core/compiler/lib.esnext.decorators.d.ts MEM: 452.4MB [32:39.4] NODE_SYS_DEBUG::watchFile /dev/workspace/develop2/packages/core/node_modules/@stencil/core/compiler/lib.esnext.disposable.d.ts
I need to check our config if there is something that makes the builder include node_modules they should be ignored per code:
It's possible that it only watches the imported ones
Prerequisites
Stencil Version
4.17.1
Current Behavior
Stencil has an undocumented config flag called
watchIgnoredRegex
(source). The JSDoc implies that we should be able to run the build task with--watch
and "ignore" files that are matched by this regex. However, that doesn't seem to be the case in some of my testing.When adding
watchIgnoredRegex
to my Stencil config (from a Component Starter):I would expect any files matching that regex to be ignored for something like
/private/tmp/watch-ignore-test/src/components/my-component/my-component.stories.ts
. The screenshot below is just a quick check on the regex itself, and shows the file name getting matched by the regex we use in the stencil config diff above:However, if I create a file,
src/components/my-component/my-component.stories.ts
with any valid TypeScript in it, then start the build task with watchers enabled, changing that file results in a re-renderExpected Behavior
I would expect that file to be ignored, and a compilation to stop if that was the only file being changed/updated
System Info
Steps to Reproduce
npm init stencil@latest component watch-test
cd watch-test
npm i
Add the
ignoreWatchedRegex
to your Stencil config file (root levelstencil.config.ts
)src/components/my-component/my-component.stories.ts
with:npm start
, which runs the build task with--watch
and--serve
src/components/my-component/my-component.stories.ts
in some way to be still valid TS. E.g.Code Reproduction URL
https://github.com/rwaskiewicz/stencil-5709-repro
Additional Information
I also tested this on v4.0.0, presumably it broke before then (although I didn't try every version between that and v4.17.1)
Discord thread that started this https://discord.com/channels/520266681499779082/1230541824750387271/1230541824750387271