diff options
author | 2021-04-30 16:33:35 -0500 | |
---|---|---|
committer | 2021-04-30 16:33:35 -0500 | |
commit | 4df1347156cf2632ea2f3475d3a5f8f08d197cc3 (patch) | |
tree | 9d50de89dfe62827c32a8a4046120af4ab61dc0c /src/parser/interfaces.ts | |
parent | 1d498facc8f78a3ffbfecd05cc6ecd45e8a4a1ae (diff) | |
download | astro-4df1347156cf2632ea2f3475d3a5f8f08d197cc3.tar.gz astro-4df1347156cf2632ea2f3475d3a5f8f08d197cc3.tar.zst astro-4df1347156cf2632ea2f3475d3a5f8f08d197cc3.zip |
Migrate to `yarn` monorepo (#157)
* chore: use monorepo
* chore: scaffold astro-scripts
* chore: move tests inside packages/astro
* chore: refactor tests, add scripts
* chore: move parser to own module
* chore: move runtime to packages/astro
* fix: move parser to own package
* test: fix prettier-plugin-astro tests
* fix: tests
* chore: update package-lock
* chore: add changesets
* fix: cleanup examples
* fix: starter example
* chore: update changeset config
* chore: update changeset config
* chore: setup changeset release workflow
* chore: bump lockfiles
* chore: prism => astro-prism
* fix: tsc --emitDeclarationOnly
* chore: final cleanup, switch to yarn
* chore: add lerna
* chore: update workflows to yarn
* chore: update workflows
* chore: remove lint workflow
* chore: add astro-dev script
* chore: add symlinked README
Diffstat (limited to 'src/parser/interfaces.ts')
-rw-r--r-- | src/parser/interfaces.ts | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/src/parser/interfaces.ts b/src/parser/interfaces.ts deleted file mode 100644 index 3273b8be1..000000000 --- a/src/parser/interfaces.ts +++ /dev/null @@ -1,145 +0,0 @@ -import type { SourceMap } from 'magic-string'; - -export interface BaseNode { - start: number; - end: number; - type: string; - children?: TemplateNode[]; - [prop_name: string]: any; -} - -export interface Fragment extends BaseNode { - type: 'Fragment'; - children: TemplateNode[]; -} - -export interface Text extends BaseNode { - type: 'Text'; - data: string; - raw: string; -} - -export interface Attribute extends BaseNode { - type: 'Attribute'; - name: string; - value: Text[]; -} - -export interface MustacheTag extends BaseNode { - type: 'MustacheTag'; - content: string; -} - -export type DirectiveType = 'Action' | 'Animation' | 'Binding' | 'Class' | 'EventHandler' | 'Let' | 'Ref' | 'Transition'; - -interface BaseDirective extends BaseNode { - type: DirectiveType; - expression: null | Node; - name: string; - modifiers: string[]; -} - -export interface Transition extends BaseDirective { - type: 'Transition'; - intro: boolean; - outro: boolean; -} - -export type Directive = BaseDirective | Transition; - -export type TemplateNode = Text | MustacheTag | BaseNode | Directive | Transition; - -export interface Expression { - type: 'Expression'; - start: number; - end: number; - codeChunks: string[]; - children: BaseNode[]; -} - -export interface Parser { - readonly template: string; - readonly filename?: string; - - index: number; - stack: Node[]; - - html: Node; - css: Node; - js: Node; - meta_tags: Map<string, string>; -} - -export interface Script extends BaseNode { - type: 'Script'; - context: 'runtime' | 'setup'; - content: string; -} - -export interface Style extends BaseNode { - type: 'Style'; - attributes: any[]; // TODO - content: { - start: number; - end: number; - styles: string; - }; -} - -export interface Ast { - html: TemplateNode; - css: Style; - module: Script; - // instance: Script; -} - -export interface Warning { - start?: { line: number; column: number; pos?: number }; - end?: { line: number; column: number }; - pos?: number; - code: string; - message: string; - filename?: string; - frame?: string; - toString: () => string; -} - -export type ModuleFormat = 'esm' | 'cjs'; - -export type CssHashGetter = (args: { name: string; filename: string | undefined; css: string; hash: (input: string) => string }) => string; - -export interface Visitor { - enter: (node: Node) => void; - leave?: (node: Node) => void; -} - -export interface AppendTarget { - slots: Record<string, string>; - slot_stack: string[]; -} - -export interface Var { - name: string; - export_name?: string; // the `bar` in `export { foo as bar }` - injected?: boolean; - module?: boolean; - mutated?: boolean; - reassigned?: boolean; - referenced?: boolean; // referenced from template scope - referenced_from_script?: boolean; // referenced from script - writable?: boolean; - - // used internally, but not exposed - global?: boolean; - internal?: boolean; // event handlers, bindings - initialised?: boolean; - hoistable?: boolean; - subscribable?: boolean; - is_reactive_dependency?: boolean; - imported?: boolean; -} - -export interface CssResult { - code: string; - map: SourceMap; -} |