kieran-harte / parcel-transformer-lit-sass Goto Github PK
View Code? Open in Web Editor NEWImport a SCSS file into a Lit component as a CSS template literal
License: MIT License
Import a SCSS file into a Lit component as a CSS template literal
License: MIT License
I am trying to figure out how this import is supposed to run. I have followed the steps in the readme and I ran into two errors.
The first error was in recognizing the module for the named pipeline litsass*:
.
I fixed this issue by adding a declarations.d.ts
file to my project with the following content
declare module "litsass:*" {
const value: string
export default value
}
This allowed parcel to recognize the named pipeline in my component.ts
file.
Where I am getting confused at now is in why I am getting this error:
Class static side 'typeof MyButton' incorrectly extends base class static side 'typeof LitElement'.
Types of property 'styles' are incompatible.
Type 'string' is not assignable to type 'CSSResultGroup'.
Here's the component file:
import { LitElement, html, css } from "lit"
import { customElement, property } from "lit/decorators"
import myButtonStyles from 'litsass:./my-button.component.scss'
@customElement( 'my-button' )
export class MyButton extends LitElement
{
static styles = [myButtonStyles];
...
}
My .parcelrc
{
"extends": "@parcel/config-default",
"resolvers": [
"@parcel/resolver-glob",
"..."
],
"transformers": {
"*.{ts,tsx}": ["@parcel/transformer-typescript-tsc"],
"sass":["...", "@parcel/transformer-sass"],
"litsass:*": [
"@parcel/transformer-sass",
"parcel-transformer-lit-sass",
"@parcel/transformer-js",
"..."
]
}
}
Parcel Version: "parcel": "^2.9.3",
Lit Version: "lit": "^2.7.2",
I am not sure why what I have that could be different. It looks like the example in the readme also uses the Typescript version of Lit so I am at a loss. Can anyone help me figure this out?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.