open-wc
custom-elements-manifest
Our great sponsors
open-wc | custom-elements-manifest | |
---|---|---|
18 | 4 | |
2,194 | 328 | |
1.4% | 3.0% | |
8.3 | 3.1 | |
4 days ago | 5 months ago | |
JavaScript | TypeScript | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
open-wc
-
Testing Web Components with @web/test-runner
npm init @open-wc@latest Need to install the following packages: @open-wc/[email protected] Ok to proceed? (y) y _.,,,,,,,,,._ .d'' ``b. Open Web Components Recommendations .p' Open `q. .d' Web Components `b. Start or upgrade your web component project with .d' `b. ease. All our recommendations at your fingertips. :: ................. :: `p. .q' `p. open-wc.org .q' `b. @openWc .d' `q.. ..,' See more details at https://open-wc.org/init/ '',,,,,,,,,,'' Note: you can exit any time with Ctrl+C or Esc ✔ What would you like to do today? › Scaffold a new project ✔ What would you like to scaffold? › Web Component ✔ What would you like to add? › Testing (web-test-runner) ✔ Would you like to use typescript? › Yes ✔ What is the tag name of your web component? … testing-components ./ ├── testing-components/ │ ├── .vscode/ │ │ └── extensions.json │ ├── demo/ │ │ └── index.html │ ├── src/ │ │ ├── index.ts │ │ ├── testing-components.ts │ │ └── TestingComponents.ts │ ├── test/ │ │ └── testing-components.test.ts │ ├── .editorconfig │ ├── .gitignore │ ├── LICENSE │ ├── package.json │ ├── README.md │ ├── tsconfig.json │ ├── web-dev-server.config.mjs │ └── web-test-runner.config.mjs ✔ Do you want to write this file structure to disk? › Yes Writing..... done ✔ Do you want to install dependencies? › Yes, with npm
-
How my Frontend skills helped me pass my sailing test
Nice. We have data with meaning. Now let's create the presentation layer (aka the UI!) and then let's add interactivity to the UI, so we can have feedback when actually simulating an exam (aka the Frontend!). Since in ING we are advocates of Web Components, I always wanted to give this stack a try for side projects. I jumped right into open-wc.org and used the npm generator. Everything worked precisely as expected. It was a breeze since my Chapter is using lit every. single. day. So I could finally get some mileage myself, in writing lit. At work, as a Chapter Lead, I prefer to spend my time more effectively for the team, rather than coding new features by myself; my chapter does it better anyway (#proud).
- Ask HN: What's is your go to toolset for simple front end development?
-
Start Using Web Components with open-wc
Open Web Components is a great tool for accessing open-source web components and is very easy to set up with their quickstart guide and easy to understand documentation.
-
Getting started with web components
We'll be using open-wc in this post. It simplifies the process of developing web components by providing guides, tools, and libraries. Check out the open-wc website to learn more.
-
Monorepos and Workspaces - an introduction
Example 1 - Storybook: https://github.com/storybookjs/storybook Example 2 - OpenWC: https://github.com/open-wc/open-wc Example 3 - Lit: https://github.com/lit/lit.dev
-
If you're writing in Markdown, I recommend Rocket, an SSG that uses WebComponents!
Rocket is an SSG that allows seamless integration of Markdown and WebComponents. There is a project to support the development of web standard technologies called Modern Web, and rocket is a subproject of that project. Other sub-projects are test runner and development server, modern-web for development server, and open-wc for WebComponents development, testing, and linter.
-
Introducing: Custom Elements Manifest
It's unlikely that developers will write their custom-elements.json file by hand. So at Open Web Components, we worked hard on a tool that does it for you!
-
We Use Web Components at GitHub
Check out https://open-wc.org/
Especially their code examples
-
Ask HN: Offering bounty for bugs in an open source project – or?
https://github.com/open-wc/open-wc
custom-elements-manifest
-
The Block Protocol
If you want to promote portability, then blocks should be web components based, full stop. React-based blocks won't be usable without setting up React on the page.
I think the FAQ around leaves a lot more open questions. Like:
> but they do not standardize the interface between those blocks and the applications using them
I'm not sure this is entirely true. Most reusable components these will have an interface described by a type system - this is how IDEs offer code completion and JSX and other template systems are type-checked.
In the Web Components Community Group we're also standardizing a format for describing the entire interface of a web component, including its attributes, properties, events, methods, CSS variables and parts, etc. This is called the Custom Element Manifest: https://github.com/webcomponents/custom-elements-manifest
Instead of being tied to json-ld, the manifest just documents what JS/TS type a property, etc., has. If a component has a person property that accepts a Person type, a tool can understand that.
This manifest will give tools like catalogs, linters, and visual UI builders enough information to do high-level operations like generate demos, lint templates, assemble components without code, etc.
The Web Components Community Group is developing such a format to describe the types of components here: https://github.com/webcomponents/custom-elements-manifest
People have already built tools that generate wrappers based on it.
-
Reactifying Custom Elements using a Custom Elements Manifest
TL;DR: A Custom Elements Manifest is a JSON file that contains all metadata about the custom elements in your project. You can read all about it here.
-
Introducing: Custom Elements Manifest
Custom Elements Manifest is a file format that describes the custom elements in your project. This format will allow tooling and IDEs to give rich information about the custom elements in a given project. A custom-elements.json contains metadata about the custom elements in your project; their properties, methods, attributes, inheritance, slots, CSS Shadow Parts, CSS custom properties, and a modules exports. If you're interested in following the specification of the schema, or contributing to it, you can find the repository here: webcomponents/custom-elements-manifest.
What are some alternatives?
catalyst - Catalyst is a set of patterns and techniques for developing components within a complex application.
turborepo - Incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust – including Turborepo and Turbopack. [Moved to: https://github.com/vercel/turbo]
rocket - The modern web setup for static sites with a sprinkle of JavaScript
web3-sign-msg - web3-sign-msg is a modern web component built with ficusjs to sign messages with your eth private key in Metamask
web - Guides, tools and libraries for modern web development.
storybook - Storybook is a frontend workshop for building UI components and pages in isolation. Made for UI development, testing, and documentation.
ficusjs - FicusJS is a set of lightweight functions for developing applications using web components
api-viewer-element - API documentation and live playground for Web Components. Based on Custom Elements Manifest format
lit - Lit is a simple library for building fast, lightweight web components.
chakra-ui - ⚡️ Simple, Modular & Accessible UI Components for your React Applications
eleventy 🕚⚡️ - A simpler site generator. Transforms a directory of templates (of varying types) into HTML.
webcomponents - Web Components specifications [Moved to: https://github.com/WICG/webcomponents]