Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

I am getting unterminated string token error in my angular application that uses scss as stringUrl.

@import "~bootstrap/scss/bootstrap";
.view-container, .module-row, .view, .view-inner-container {
    flex: 1;
.advanced-editor-wrapper {
    @extend .h-100;
    .advanced-editor-header {
        @extend .p-2, .d-flex, .align-items-center, .justify-content-between;
        border-bottom: 1px solid #333;
            @extend .d-inline, .m-0;
        .header-button {
            @extend .mr-2, .btn;
    .parent-flex-container {
        @extend  .p-2, .w-100, .h-100, .d-flex, .flex-column;
        .add-view {
            @extend .btn, .h-100, .m-1, .w-100, .d-flex, .flex-column, .align-items-center, .justify-content-center; 
            flex-basis: 50px;
            background-color: transparent !important;
            border: 2px dashed #2799A5;
            color: var(--body-color);
            transition: all 0.2s ease-in;
            border-radius: 5px;
            &:hover {
                background-color: #333 !important;
                border-color: var(--body-color);
            &.flex-row {
                flex-direction: row !important;
        .module-row-container {
            @extend  .d-flex, .flex-column, .h-100;
            .module-row {
                @extend  .d-flex, .flex-row, .mb-2;
                .view-container {
                    @extend .w-100, .d-flex, .flex-row;
                    .view-inner-container {
                        @extend  .d-flex, .flex-row;
                        .view {
                            @extend .m-1, .h-100, .position-relative, .d-flex, .flex-column, .align-items-center, .justify-content-center;
                            border-radius: 5px;
                            .view-header {
                                @extend .d-flex, .justify-content-between, .align-items-center, .p-2, .position-absolute, .w-100;
                                left: 0; 
                                top: 0;  
                                background-color: rgba(0,0,0,0.3);
                                    @extend .m-0;
                                    font-family: 'Century Gothic'; 
                                    font-weight: 400; 
                                    font-size: 1rem;
                                button {
                                    @extend .p-0;
                This answer that advises setting minify: false seems to have fixed this issue for me: stackoverflow.com/a/67747131/1732222
– Micah Stubbs
                Apr 20, 2022 at 22:27
                I have the same error, but it can change file on each build. Always at 17:100 too, which makes little sense. I've checked the imports are all good.
– Justin Grayston
                Jul 20, 2022 at 22:51

‼️ Don't disable optimization or minification ‼️

I had a similar issue which was pointing to an SCSS file at line 17, but that file doesn't have that number of lines-

I spent 4-5 hours trying to fix the issue, but nothing worked. People suggest disabling miniification, but it is never recommended because that will reduce the performance of your code.

I missed the part that Angular do various optimisation in the production build, which is not enabled in the development mode. And because of that, the build errors can be misleading. I was reminded again by the answer https://stackoverflow.com/a/73663201/2405040.

Disabling the optimisation temporarily gave me the correct error, and then I was able to fix it.

It worked perfectly, You saved my day. In my case i was using undefined variable in scss file. – Faizanur Rahman Dec 31, 2022 at 8:28 For me this revealed errors related to inline (//) comments, which I solved by installing postcss-scss. – Eduardo Hernández Jan 18 at 15:02 I have the same problem, but disabling the optimization doesn't give me a different error. I just get the same error saying that there is an "Unterminated string token"... any ideas? – Jacob Hornbeck Feb 2 at 3:15 @ShashankAgrawal in angular.json file, you have "build": {....."options":{.....optimization:false,...}...}. So under build --> Options, you can add this key to disable it – G.S Abhaypal Feb 10 at 12:23

browserslist is included by @angular-devkit/build-angular, try running:

npx browserslist --update-db

This will update the caniuse-lite database with browsers, which helped me get rid of the ...17:100: ERROR: Unterminated string token error.

(the trick of setting minify: false did also work for me, but I rather have an up to date list of browsers, than turning off minifying)

when I try with this case, its output is "No target browser changes", and not working for me. – persec10000 Dec 7, 2022 at 15:56

Had the same problem when building an SSR build, turned out it was a configuration error in my angular.json. I have a stylePreprocessorOptions property defined with the styles paths in the "build" section of the angular.json, but I didn't have this for the "server" build.

I fixed it by adding the exact same stylePreProcessorOptions value to the options of that build configuration, here a snippet of my angular.json below:

"$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "my-project": { "root": "", "sourceRoot": "src", "projectType": "application", "architect": { "build": { "builder": "@angular-devkit/build-angular:browser", "options": { "outputPath": "dist/browser", "stylePreprocessorOptions": { "includePaths": [ "src/app/core/styles", "src/assets" "server": { "builder": "@angular-devkit/build-angular:server", "options": { "outputPath": "dist/", "stylePreprocessorOptions": { "includePaths": [ "src/app/core/styles", "src/assets"

I hope this helps you in some way, please let me know if it worked.

Thanks for the answer! Unfortunately, this doesn't seem to work for me. I still see this error, like OP: gist.github.com/micahstubbs/ee9e05c4d5f84bb42771d2b0dc8dcf91 – Micah Stubbs Apr 19, 2022 at 21:09 I tried the other 2 answers (turning optimization off, updating browserslist db) but they did not work but this one did! Thanks – Pascal Feb 17 at 4:57

In my case it was this scss rule, it worked fine in previous angular versions, and failed with this error after upgrade to angular 13.

.lessonName {
    width: calc(100%-200px);
    display: inline-block;

See the problem? Me neither. The issue is that css doesn't like no spaces around the minus (-) symbol. Changing it to the below fixed the problem. Seriously angular devs, a line number would have helped immensely!

.lessonName {
    width: calc(100% - 200px);
    display: inline-block;

some time the probleme was inside imports after upgrade angular version!

Be sure they have no "~" but the complete path !!

Hope that will help !

this fixed it for me. I used WebStorm and the option to change path to absolut and it it compiled without a problem – PowderFan Nov 29, 2022 at 9:56

IMPORTANT - Don't run any command or disable minification

The issue can be usage of a variable in your scss file which can't be found. The error will not well point you to correct line where something might be missing!

So carefully observe what that variable which can't be found or you might be missing an import of the css file!!

You are very right, the other answers which are suggesting to disable modification are absolutely wrong. – Shashank Agrawal Nov 13, 2022 at 17:32

Most important thing!

Line 17 is NOT special. It is probaly NOT your file's line #17.

That is hinted at in other answers but I felt it needed to be made clearer!

My issue (similar to some others):

I had renamed an scss file that was included in many places but hadn't updated the filename everywhere.

In my case, I copy pasted some code, so I had an undefined variable name inside an ng-deep. I guess at that point it wasn't able to give me a useful error message and gave me this generic error instead. – Felipe Centeno Oct 26 at 21:52

In our case the

Error: Transform failed with 1 error: <scss file path>17:100: ERROR: Unterminated string token

was caused by the fact that we accidentally published the raw source code (including scss files) of our Angular library to our npm repository, instead of publishing the dist folder (including the generated css). The error occurred on 'ng serve' in the component that uses this library from our npm repository.

Solution: publish the dist folder.

Also there were a few ::ng-deep that have been deprecated blog.angular-university.io/angular-host-context from Jan talks about these (at time of this being written they weren't deprecated) – Justin Grayston Jul 21, 2022 at 20:51

I came here because of the same error, but obviously the error itself says nothing. As someone suggested, I disabled minify just to try something else, and got a more specific error:

SassError: @use rules must be written before any other rules.

As simple as it gets... just moved @use above everything else, and the project compiled succesfully.

I hope it helps someone!

If you have tried all solutions above and still didn't got the problem then try below things,

check for this:

  • undefined variables (this was my case)
  • wrong syntax
  • missing import file
  • spaces between calc function
  • For me this error was caused by calc() function as well but with no obvious difference in the spaces.

    I solved it by copying the calc() function from another css file in my project and pasted it in the css file the error was pointing at. Then the error went away.

    Maybe there was a hidden character somewhere that was not visible in the IDE.

    Actually this was my issue and worked for me. I changed the property to CSS_PROPERTY: calc(A / B) instead of the suggested CSS_PROPERTY: A / B – Clive Ciappara Nov 21, 2022 at 14:20

    i had the same error same line, one day it was working , the next day it is not . i deleted the whole content of the scss , built it and it worked , then "ctrl+z" returned the code to the scss file and build it again , and now it is working fine. hope that helps.

    Thanks for contributing an answer to Stack Overflow!

    • Please be sure to answer the question. Provide details and share your research!

    But avoid

    • Asking for help, clarification, or responding to other answers.
    • Making statements based on opinion; back them up with references or personal experience.

    To learn more, see our tips on writing great answers.