Your issue may already be reported!
Please search on the issue tracker before creating one. <- DONE
Expected Behavior
If generation processes for invalid scss files fail, I want the entire process to fail as well.
Current Behavior
Error messages for invalid scss files are displayed, but the entire process finishes successfully.
Possible Solution
I think this behavior is come from the code below.
|
} catch (error) { |
|
const { message, file, line, column } = error as SassError; |
|
const location = file ? ` (${file}[${line}:${column}])` : ""; |
|
alerts.error(`${message}${location}`); |
|
} |
When an error is thrown, it catches but not throw another error again.
We may be able to just re-throw the error. However, I read this comment and am thinking we need some tricks... 🤔
|
// Wait for all the type definitions to be written. |
|
await Promise.all(files.map((file) => writeFile(file, options))); |
Steps to Reproduce (for bugs)
reproduction
- clone the repository
- run
npm install
- run
npm run generate
You will see some thing like below but the whole process succeeded:
% npm run generate
> reproduce-typed-scss-modules-process-want-fail@1.0.0 generate
> typed-scss-modules src/**/*.module.scss --implementation sass
Found 2 files. Generating type definitions...
expected "}".
╷
9 │ // }
│ ^
╵
src/style2.module.scss 9:5 root stylesheet (/path/to/reproduce-typed-scss-modules-process-want-fail/src/style2.module.scss[9:5])
[GENERATED TYPES] src/style1.module.scss.d.ts
Context
I've been confused because the generation process had succeeded but the files had been not created.
Your Environment
- Version used: 8.0.0
- Operating System and versions: macOS 14.0 (23A344)
- Link to your project: N/A
Your issue may already be reported!
Please search on the issue tracker before creating one. <- DONE
Expected Behavior
If generation processes for invalid scss files fail, I want the entire process to fail as well.
Current Behavior
Error messages for invalid scss files are displayed, but the entire process finishes successfully.
Possible Solution
I think this behavior is come from the code below.
typed-scss-modules/lib/core/write-file.ts
Lines 71 to 75 in 546dba6
When an error is thrown, it catches but not throw another error again.
We may be able to just re-throw the error. However, I read this comment and am thinking we need some tricks... 🤔
typed-scss-modules/lib/core/generate.ts
Lines 28 to 29 in 546dba6
Steps to Reproduce (for bugs)
reproduction
npm installnpm run generateYou will see some thing like below but the whole process succeeded:
Context
I've been confused because the generation process had succeeded but the files had been not created.
Your Environment