MCPcopy
hub / github.com/stenciljs/core

github.com/stenciljs/core @v4.43.5 sqlite

repository ↗ · DeepWiki ↗ · release v4.43.5 ↗
7,178 symbols 21,059 edges 1,638 files 341 documented · 5%
README

stencil-logo

Stencil

A compiler for generating Web Components using technologies like TypeScript and JSX, built by the Ionic team.

StencilJS is released under the MIT license. StencilJS is released under the MIT license. PRs welcome! Follow @stenciljs Official Ionic Discord

Quick Start · Documentation · Contribute · Blog Community: Discord · Forums · Twitter

Getting Started

Start a new project by following our quick Getting Started guide. We would love to hear from you! If you have any feedback or run into issues using Stencil, please file an issue on this repository.

Examples

A Stencil component looks a lot like a class-based React component, with the addition of TypeScript decorators:

import { Component, Prop, h } from '@stencil/core';

@Component({
  tag: 'my-component',            // the name of the component's custom HTML tag
  styleUrl: 'my-component.css',   // css styles to apply to the component
  shadow: true,                   // this component uses the ShadowDOM
})
export class MyComponent {
  // The component accepts two arguments:
  @Prop() first: string;
  @Prop() last: string;

   //The following HTML is rendered when our component is used
  render() {
    return (



        Hello, my name is {this.first} {this.last}



    );
  }
}

The component above can be used like any other HTML element:

<my-component first="Stencil" last="JS"></my-component>

Since Stencil generates web components, they work in any major framework or with no framework at all. In many cases, Stencil can be used as a drop in replacement for traditional frontend framework, though using it as such is certainly not required.

Contributing

Thanks for your interest in contributing! Please take a moment to read up on our guidelines for contributing. We've created comprehensive technical documentation for contributors that explains Stencil's internal architecture, including the compiler, runtime, build system, and other core components in the /docs directory. Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Extension points exported contracts — how you extend this code

HTMLAnotherCarListElement (Interface)
* Component that helps display a list of cars [4 implementers]
test/end-to-end/src/components.d.ts
ComponentWillLoad (Interface)
(no doc) [54 implementers]
src/declarations/stencil-public-runtime.ts
JestFacade (Interface)
(no doc) [6 implementers]
src/testing/jest/jest-facade.ts
HTMLCompositionCheckboxGroupElement (Interface)
(no doc) [4 implementers]
test/wdio/ts-target/components.d.ts
HTMLTodoInputElement (Interface)
(no doc) [4 implementers]
test/todo-app/src/components.d.ts
ComponentCompilerPropertyComplexType (Interface)
* This is an autogenerated file created by the Stencil compiler. * DO NOT MODIFY IT MANUALLY
test/docs-json/docs.d.ts
ParseCSSReturn (Interface)
* Interface describing the return value of `parseCSSImports`
src/compiler/style/css-imports.ts
DepVersionRange (Interface)
* The version range that we support for a given package. The strings should be * standard semver strings.
src/sys/node/node-lazy-require.ts

Core symbols most depended-on inside this repo

querySelector
called by 1146
src/mock-doc/node.ts
push
called by 1129
src/testing/puppeteer/puppeteer-events.ts
e
called by 962
src/client/polyfills/core-js.js
join
called by 739
src/declarations/stencil-public-compiler.ts
join
called by 615
src/utils/path.ts
replace
called by 378
src/runtime/styles.ts
createElement
called by 368
src/mock-doc/document.ts
forEach
called by 352
src/mock-doc/headers.ts

Shape

Function 2,907
Method 2,170
Class 1,155
Interface 923
Enum 23

Languages

TypeScript100%

Modules by API surface

test/wdio/slot-ng-if/assets/angular.min.js285 symbols
src/declarations/stencil-public-compiler.ts225 symbols
src/mock-doc/node.ts205 symbols
src/declarations/stencil-private.ts190 symbols
src/mock-doc/window.ts157 symbols
src/mock-doc/element.ts148 symbols
test/end-to-end/src/components.d.ts138 symbols
src/declarations/stencil-public-runtime.ts108 symbols
test/wdio/ts-target/components.d.ts101 symbols
src/client/polyfills/core-js.js64 symbols
src/testing/puppeteer/puppeteer-declarations.ts53 symbols
src/testing/puppeteer/puppeteer-element.ts51 symbols

Dependencies from manifests, versioned

@ionic/core6.0.10 · 1×
@ionic/prettier-config4.0.0 · 1×
@rollup/plugin-commonjs28.0.2 · 1×
@rollup/plugin-json6.1.0 · 1×
@rollup/plugin-node-resolve16.0.0 · 1×
@rollup/plugin-replace6.0.2 · 1×
@rollup/pluginutils5.1.4 · 1×
@stencil/corefile:../../ · 1×
@stencil/react-output-target0.0.9 · 1×
@stencil/sass1.3.2 · 1×
@types/eslint8.4.6 · 1×

For agents

$ claude mcp add core \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact