Code Monkey home page Code Monkey logo

Comments (14)

brandonroberts avatar brandonroberts commented on May 20, 2024 1

The vite:css plugin is already part of the pipeline. The file watchers are not responsible for the transform themselves. The styles get inlined during compilation, so they would have to be processed before then.

from analog.

zsyphon avatar zsyphon commented on May 20, 2024

this is an issue for me too. Is there a fix?

from analog.

brandonroberts avatar brandonroberts commented on May 20, 2024

Inline component SCSS is not supported at the moment. Will look into see what is needed for this feature soon.

from analog.

pratikpparikh avatar pratikpparikh commented on May 20, 2024

@brandonroberts line 176 in angular-vite-plugin.ts could be enhanced to use vite:css plugin. Below is pseudo code of how to find the plugin, the plugin has transform handle but not sure how to call it. Sorry don't know vite uses the plugin otherwise would have completed the following and submitted the PR.

if (hasStyleUrls(code)) {
              const styleUrls = resolveStyleUrls(code, id);
              //TODO: add resolution of css pre processing
              const cssPlugin = viteServer.config.worker.plugins.find(plugin => {plugin.name == 'vite:css'});
              styleUrls.forEach((styleUrl) => {
                if (cssPlugin) {
                  // need to use the plugin and call the transform method on it.
                } else {
                  this.addWatchFile(styleUrl);
                }
              });
            } 

from analog.

pratikpparikh avatar pratikpparikh commented on May 20, 2024

Inline component SCSS is not supported at the moment. Will look into see what is needed for this feature soon.

This is not inline scss, this styleUrls that are not working as the current component-resolvers assume that file reference is complied css and does not require preprocessing.

from analog.

pratikpparikh avatar pratikpparikh commented on May 20, 2024

I was trying to help but I think i am clueless in how this works. What you are saying make sense, so I will wait for you to bridge this gap. This kinda blocker for me, so if you can close this as you get time then i would really appreciate it. Overall the plugin is working great for me.

from analog.

brandonroberts avatar brandonroberts commented on May 20, 2024

This fix has been included with the 0.2.0-alpha.8 release of the plugin. Thanks!

from analog.

pratikpparikh avatar pratikpparikh commented on May 20, 2024

@brandonroberts thank you. I tested it but the styleUrls are not working, although inline style works fine. It results in following error:

8:16:52 PM [vite] Internal server error: Cannot read properties of null (reading '1')
at Context. (/opt/development/trianz/analog/node_modules/@analogjs/vite-plugin-angular/src/lib/inline-styles-plugin.js:29:62)
at Generator.next ()
at /opt/development/trianz/analog/node_modules/tslib/tslib.js:118:75
at new Promise ()
at Object.__awaiter (/opt/development/trianz/analog/node_modules/tslib/tslib.js:114:16)
at Context.load (/opt/development/trianz/analog/node_modules/@analogjs/vite-plugin-angular/src/lib/inline-styles-plugin.js:25:28)
at Object.load (file:///opt/development/trianz/analog/node_modules/vite/dist/node/chunks/dep-5cb728cb.js:35266:50)
at loadAndTransform (file:///opt/development/trianz/analog/node_modules/vite/dist/node/chunks/dep-5cb728cb.js:39808:46)
at doTransform (file:///opt/development/trianz/analog/node_modules/vite/dist/node/chunks/dep-5cb728cb.js:39794:20)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

from analog.

brandonroberts avatar brandonroberts commented on May 20, 2024

@pratikpparikh I'll take a look. If you have a reproduction or quick example snippet that would help also

from analog.

pratikpparikh avatar pratikpparikh commented on May 20, 2024

@brandonroberts I tested it with your analog-app under apps. Just swap out inline scss style in product-list.component.ts with styleUrls: ['./product-list.component.scss'] and you will be able to reproduce.

Regards,
Pratik Parikh

from analog.

brandonroberts avatar brandonroberts commented on May 20, 2024

Hmm interesting. There are already other components in the analog-app that use SCSS styleUrls. Thanks

from analog.

brandonroberts avatar brandonroberts commented on May 20, 2024

I see what's going on now. Those other ones are CSS styleUrls. I'll get a fix in

from analog.

pratikpparikh avatar pratikpparikh commented on May 20, 2024

thank you

from analog.

brandonroberts avatar brandonroberts commented on May 20, 2024

Fixed and released as 0.2.0-alpha.10

from analog.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.