@markuplint/pug-parser 3.6.2 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export { parse } from './parse';
2
- export declare const endTag = 'never';
2
+ export declare const endTag = "never";
@@ -1,21 +1,7 @@
1
1
  export declare function pugParse(pug: string): ASTBlock;
2
2
  export type ASTBlock = PugAST<ASTNode>;
3
- export type ASTNode =
4
- | ASTTagNode
5
- | ASTTextNode
6
- | ASTCodeNode
7
- | ASTComment
8
- | ASTDoctype
9
- | ASTIncludeNode
10
- | ASTMixinNode
11
- | ASTMixinSlotNode
12
- | ASTFilterNode
13
- | ASTEachNode
14
- | ASTConditionalNode
15
- | ASTCaseNode
16
- | ASTCaseWhenNode;
17
- export type ASTTagNode = Omit<PugASTTagNode<ASTAttr, ASTBlock>, 'attributeBlocks' | 'selfClosing' | 'isInline'> &
18
- AdditionalASTData;
3
+ export type ASTNode = ASTTagNode | ASTTextNode | ASTCodeNode | ASTComment | ASTDoctype | ASTIncludeNode | ASTMixinNode | ASTMixinSlotNode | ASTFilterNode | ASTEachNode | ASTConditionalNode | ASTCaseNode | ASTCaseWhenNode;
4
+ export type ASTTagNode = Omit<PugASTTagNode<ASTAttr, ASTBlock>, 'attributeBlocks' | 'selfClosing' | 'isInline'> & AdditionalASTData;
19
5
  export type ASTTextNode = Omit<PugASTTextNode, 'val'> & AdditionalASTData;
20
6
  export type ASTCodeNode = PugASTCodeNode & AdditionalASTData;
21
7
  export type ASTComment = PugASTCommentNode & AdditionalASTData;
@@ -26,135 +12,135 @@ export type ASTMixinSlotNode = PugASTMixinSlotNode & AdditionalASTData;
26
12
  export type ASTFilterNode = PugASTFilterNode<ASTAttr, ASTBlock> & AdditionalASTData;
27
13
  export type ASTEachNode = PugASTEachNode<ASTBlock> & AdditionalASTData;
28
14
  export type ASTConditionalNode = Omit<PugASTConditionalNode<ASTBlock>, 'consequent' | 'alternate'> & {
29
- block: ASTBlock;
15
+ block: ASTBlock;
30
16
  } & AdditionalASTData;
31
17
  export type ASTCaseNode = PugASTCaseNode<ASTBlock> & AdditionalASTData;
32
18
  export type ASTCaseWhenNode = PugASTCaseWhenNode<ASTBlock> & AdditionalASTData;
33
19
  export type ASTAttr = PugASTAttr & AdditionalASTData;
34
20
  type AdditionalASTData = {
35
- raw: string;
36
- offset: number;
37
- endOffset: number;
38
- endLine: number;
39
- endColumn: number;
21
+ raw: string;
22
+ offset: number;
23
+ endOffset: number;
24
+ endLine: number;
25
+ endColumn: number;
40
26
  };
41
27
  interface PugAST<N> {
42
- type: 'Block';
43
- nodes: N[];
44
- line: number;
28
+ type: 'Block';
29
+ nodes: N[];
30
+ line: number;
45
31
  }
46
32
  type PugASTTagNode<A, B> = {
47
- type: 'Tag';
48
- name: string;
49
- selfClosing: boolean;
50
- attrs: A[];
51
- attributeBlocks: never[];
52
- isInline: boolean;
53
- line: number;
54
- column: number;
55
- block: B;
33
+ type: 'Tag';
34
+ name: string;
35
+ selfClosing: boolean;
36
+ attrs: A[];
37
+ attributeBlocks: never[];
38
+ isInline: boolean;
39
+ line: number;
40
+ column: number;
41
+ block: B;
56
42
  };
57
43
  type PugASTTextNode = {
58
- type: 'Text';
59
- val: string;
60
- isHtml?: true;
61
- line: number;
62
- column: number;
44
+ type: 'Text';
45
+ val: string;
46
+ isHtml?: true;
47
+ line: number;
48
+ column: number;
63
49
  };
64
50
  type PugASTCodeNode = {
65
- type: 'Code';
66
- val: string;
67
- buffer: boolean;
68
- mustEscape: boolean;
69
- isInline: boolean;
70
- line: number;
71
- column: number;
51
+ type: 'Code';
52
+ val: string;
53
+ buffer: boolean;
54
+ mustEscape: boolean;
55
+ isInline: boolean;
56
+ line: number;
57
+ column: number;
72
58
  };
73
59
  type PugASTCommentNode = {
74
- type: 'Comment';
75
- val: string;
76
- buffer: boolean;
77
- line: number;
78
- column: number;
60
+ type: 'Comment';
61
+ val: string;
62
+ buffer: boolean;
63
+ line: number;
64
+ column: number;
79
65
  };
80
66
  type PugASTDoctypeNode = {
81
- type: 'Doctype';
82
- val: string;
83
- line: number;
84
- column: number;
67
+ type: 'Doctype';
68
+ val: string;
69
+ line: number;
70
+ column: number;
85
71
  };
86
72
  type PugASTIncludeNode<B> = {
87
- type: 'Include';
88
- file: {
89
- type: 'FileReference';
90
- path: string;
91
- line: number;
92
- column: number;
93
- };
94
- block: B;
95
- line: number;
96
- column: number;
73
+ type: 'Include';
74
+ file: {
75
+ type: 'FileReference';
76
+ path: string;
77
+ line: number;
78
+ column: number;
79
+ };
80
+ block: B;
81
+ line: number;
82
+ column: number;
97
83
  };
98
84
  type PugASTEachNode<B> = {
99
- type: 'Each';
100
- obj: string;
101
- val: string;
102
- key: string | null;
103
- block: B;
104
- line: number;
105
- column: number;
85
+ type: 'Each';
86
+ obj: string;
87
+ val: string;
88
+ key: string | null;
89
+ block: B;
90
+ line: number;
91
+ column: number;
106
92
  };
107
93
  type PugASTMixinNode<A, B> = {
108
- type: 'Mixin';
109
- name: string;
110
- args: string;
111
- call: boolean;
112
- block: B | null;
113
- attrs?: A[];
114
- attributeBlocks: never[];
115
- line: number;
116
- column: number;
94
+ type: 'Mixin';
95
+ name: string;
96
+ args: string;
97
+ call: boolean;
98
+ block: B | null;
99
+ attrs?: A[];
100
+ attributeBlocks: never[];
101
+ line: number;
102
+ column: number;
117
103
  };
118
104
  type PugASTMixinSlotNode = {
119
- type: 'MixinBlock';
120
- line: number;
121
- column: number;
105
+ type: 'MixinBlock';
106
+ line: number;
107
+ column: number;
122
108
  };
123
109
  type PugASTFilterNode<A, B> = {
124
- type: 'Filter';
125
- name: string;
126
- block: B;
127
- attrs: A[];
128
- line: number;
129
- column: number;
110
+ type: 'Filter';
111
+ name: string;
112
+ block: B;
113
+ attrs: A[];
114
+ line: number;
115
+ column: number;
130
116
  };
131
117
  type PugASTConditionalNode<B> = {
132
- type: 'Conditional';
133
- test: string;
134
- consequent: B;
135
- alternate?: B | PugASTConditionalNode<B>;
136
- line: number;
137
- column: number;
118
+ type: 'Conditional';
119
+ test: string;
120
+ consequent: B;
121
+ alternate?: B | PugASTConditionalNode<B>;
122
+ line: number;
123
+ column: number;
138
124
  };
139
125
  type PugASTCaseNode<B> = {
140
- type: 'Case';
141
- expr: string;
142
- block: B;
143
- line: number;
144
- column: number;
126
+ type: 'Case';
127
+ expr: string;
128
+ block: B;
129
+ line: number;
130
+ column: number;
145
131
  };
146
132
  type PugASTCaseWhenNode<B> = {
147
- type: 'When';
148
- expr: string;
149
- block: B;
150
- line: number;
151
- column: number;
133
+ type: 'When';
134
+ expr: string;
135
+ block: B;
136
+ line: number;
137
+ column: number;
152
138
  };
153
139
  type PugASTAttr = {
154
- name: string;
155
- val: string | true;
156
- mustEscape: boolean;
157
- line: number;
158
- column: number;
140
+ name: string;
141
+ val: string | true;
142
+ mustEscape: boolean;
143
+ line: number;
144
+ column: number;
159
145
  };
160
146
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markuplint/pug-parser",
3
- "version": "3.6.2",
3
+ "version": "3.8.0",
4
4
  "description": "Pug parser for markuplint",
5
5
  "repository": "git@github.com:markuplint/markuplint.git",
6
6
  "author": "Yusuke Hirao <yusukehirao@me.com>",
@@ -16,12 +16,12 @@
16
16
  "clean": "tsc --build --clean"
17
17
  },
18
18
  "dependencies": {
19
- "@markuplint/html-parser": "3.7.0",
20
- "@markuplint/ml-ast": "3.1.0",
21
- "@markuplint/parser-utils": "3.7.0",
19
+ "@markuplint/html-parser": "3.9.0",
20
+ "@markuplint/ml-ast": "3.2.0",
21
+ "@markuplint/parser-utils": "3.9.0",
22
22
  "pug-lexer": "^5.0.1",
23
23
  "pug-parser": "^6.0.0",
24
- "tslib": "^2.4.1"
24
+ "tslib": "^2.5.3"
25
25
  },
26
- "gitHead": "adc6e432cccba7cfad0dc8bf9f92e5aaf1107359"
26
+ "gitHead": "9547b8dca20736a93e4d01af2d61bee314ba5718"
27
27
  }