@prostojs/rewrite 0.0.4 → 0.1.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/dist/index.cjs +3994 -0
- package/dist/{rewrite.d.ts → index.d.ts} +125 -147
- package/dist/index.mjs +3987 -0
- package/package.json +40 -43
- package/dist/rewrite.cjs.prod.js +0 -848
- package/dist/rewrite.esm-browser.prod.js +0 -1
- package/dist/rewrite.esm-bundler.js +0 -729
- package/dist/rewrite.global.prod.js +0 -1
- package/dist/src/__test__/html-parser.spec.d.ts +0 -2
- package/dist/src/__test__/html-parser.spec.d.ts.map +0 -1
- package/dist/src/__test__/mixed-parser.spec.d.ts +0 -2
- package/dist/src/__test__/mixed-parser.spec.d.ts.map +0 -1
- package/dist/src/__test__/rewriter.spec.d.ts +0 -2
- package/dist/src/__test__/rewriter.spec.d.ts.map +0 -1
- package/dist/src/__test__/strings.spec.d.ts +0 -2
- package/dist/src/__test__/strings.spec.d.ts.map +0 -1
- package/dist/src/__test__/text-parser.spec.d.ts +0 -2
- package/dist/src/__test__/text-parser.spec.d.ts.map +0 -1
- package/dist/src/constants.d.ts +0 -3
- package/dist/src/constants.d.ts.map +0 -1
- package/dist/src/files.d.ts +0 -8
- package/dist/src/files.d.ts.map +0 -1
- package/dist/src/index.d.ts +0 -18
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/rw-common.d.ts +0 -13
- package/dist/src/rw-common.d.ts.map +0 -1
- package/dist/src/rw-html-parser.d.ts +0 -17
- package/dist/src/rw-html-parser.d.ts.map +0 -1
- package/dist/src/rw-text-parser.d.ts +0 -31
- package/dist/src/rw-text-parser.d.ts.map +0 -1
- package/dist/src/string-expression.d.ts +0 -4
- package/dist/src/string-expression.d.ts.map +0 -1
- package/dist/src/types.d.ts +0 -96
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/utils.d.ts +0 -3
- package/dist/src/utils.d.ts.map +0 -1
- package/index.js +0 -2
|
@@ -1,147 +1,125 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
export
|
|
126
|
-
expression: string;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
export declare type TStringNodeData = {
|
|
130
|
-
quote: string;
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
export declare interface TTagNodeCustomData extends TRewriteNodeType<TTagNodeCustomData> {
|
|
134
|
-
isText?: boolean;
|
|
135
|
-
isVoid?: boolean;
|
|
136
|
-
operation?: THTMLBlockOperations;
|
|
137
|
-
tag: string;
|
|
138
|
-
endTag?: string;
|
|
139
|
-
operations?: TAttrNodeCustomData[];
|
|
140
|
-
attrs?: TAttrNodeCustomData[];
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
export declare interface TValueNodeCustomData {
|
|
144
|
-
quote: string;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
export { }
|
|
1
|
+
import { TGenericCustomDataType, ProstoParserNodeContext, ProstoParserNode } from '@prostojs/parser';
|
|
2
|
+
import { Minimatch } from 'minimatch';
|
|
3
|
+
|
|
4
|
+
interface TRewriteNodeType<T extends {
|
|
5
|
+
code: TRewriteCodeFactory<any>;
|
|
6
|
+
} = {
|
|
7
|
+
code: TRewriteCodeFactory<any>;
|
|
8
|
+
}> {
|
|
9
|
+
code: TRewriteCodeFactory<T>;
|
|
10
|
+
openCode?: string;
|
|
11
|
+
closeCode?: string;
|
|
12
|
+
}
|
|
13
|
+
type TStringNodeData = {
|
|
14
|
+
quote: string;
|
|
15
|
+
};
|
|
16
|
+
interface TStringExpressionData extends TRewriteNodeType<TStringExpressionData> {
|
|
17
|
+
expression: string;
|
|
18
|
+
}
|
|
19
|
+
type TRewriteCodeFactory<T extends TGenericCustomDataType> = (context: ProstoParserNodeContext<T>, level?: number) => string;
|
|
20
|
+
interface TValueNodeCustomData {
|
|
21
|
+
quote: string;
|
|
22
|
+
}
|
|
23
|
+
interface TAttrNodeCustomData extends TRewriteNodeType<TAttrNodeCustomData> {
|
|
24
|
+
key: string;
|
|
25
|
+
value?: string;
|
|
26
|
+
quote?: string;
|
|
27
|
+
}
|
|
28
|
+
type THTMLBlockOperations = 'if' | 'for' | 'else' | 'else-if';
|
|
29
|
+
interface TTagNodeCustomData extends TRewriteNodeType<TTagNodeCustomData> {
|
|
30
|
+
isText?: boolean;
|
|
31
|
+
isVoid?: boolean;
|
|
32
|
+
operation?: THTMLBlockOperations;
|
|
33
|
+
tag: string;
|
|
34
|
+
endTag?: string;
|
|
35
|
+
operations?: TAttrNodeCustomData[];
|
|
36
|
+
attrs?: TAttrNodeCustomData[];
|
|
37
|
+
}
|
|
38
|
+
interface THTMLBlockDescr {
|
|
39
|
+
key: THTMLBlockOperations;
|
|
40
|
+
exprRequired?: boolean;
|
|
41
|
+
compatible?: THTMLBlockOperations[];
|
|
42
|
+
opening?: boolean;
|
|
43
|
+
overtakes?: THTMLBlockOperations[];
|
|
44
|
+
closingKey?: string;
|
|
45
|
+
renderOpen: (v?: string) => string;
|
|
46
|
+
}
|
|
47
|
+
interface TProstoRewriter {
|
|
48
|
+
genRewriteCode: (source: string) => string;
|
|
49
|
+
genRewriteFunction: (source: string) => (context?: TProstoRewriteContext) => string;
|
|
50
|
+
printAsTree: (source: string) => void;
|
|
51
|
+
rewrite: (source: string, context?: TProstoRewriteContext) => string;
|
|
52
|
+
}
|
|
53
|
+
type TProstoRewriteContext = Record<string, unknown>;
|
|
54
|
+
interface TRewriteCommonOptions {
|
|
55
|
+
exprDelimeters: [string, string];
|
|
56
|
+
blockOperation: string;
|
|
57
|
+
directive: string;
|
|
58
|
+
}
|
|
59
|
+
interface TRewriteHtmlOptions extends TRewriteCommonOptions {
|
|
60
|
+
attrExpression: string;
|
|
61
|
+
voidTags: string[];
|
|
62
|
+
textTags: string[];
|
|
63
|
+
}
|
|
64
|
+
interface TRewriteTextOptions extends TRewriteCommonOptions {
|
|
65
|
+
revealLine: string;
|
|
66
|
+
}
|
|
67
|
+
interface TRewriteOptions {
|
|
68
|
+
defaultMode: TRewriteMode;
|
|
69
|
+
debug: boolean;
|
|
70
|
+
htmlPattern: Minimatch[];
|
|
71
|
+
textPattern: Minimatch[];
|
|
72
|
+
html: TRewriteHtmlOptions;
|
|
73
|
+
text: TRewriteTextOptions;
|
|
74
|
+
}
|
|
75
|
+
type TRewriteMode = 'html' | 'text' | 'auto';
|
|
76
|
+
interface TRewriteOptionsPublic {
|
|
77
|
+
defaultMode?: TRewriteMode;
|
|
78
|
+
debug?: boolean;
|
|
79
|
+
htmlPattern?: string[];
|
|
80
|
+
textPattern?: string[];
|
|
81
|
+
html?: Partial<TRewriteHtmlOptions>;
|
|
82
|
+
text?: Partial<TRewriteTextOptions>;
|
|
83
|
+
}
|
|
84
|
+
interface TRewriteFileOptions {
|
|
85
|
+
input: string;
|
|
86
|
+
output?: string;
|
|
87
|
+
mode?: TRewriteMode;
|
|
88
|
+
}
|
|
89
|
+
interface TRewriteDirOptions {
|
|
90
|
+
baseDir: string;
|
|
91
|
+
include?: string[];
|
|
92
|
+
exclude?: string[];
|
|
93
|
+
output?: string;
|
|
94
|
+
mode?: TRewriteMode;
|
|
95
|
+
onFile?: (path: string, output: string) => void;
|
|
96
|
+
renameFile?: (filename: string) => string;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
declare function genSafeFunc(code: string): (context?: TProstoRewriteContext) => string;
|
|
100
|
+
declare function pushString(s: string): string;
|
|
101
|
+
declare function renderCode(context: ProstoParserNodeContext, level?: number): string;
|
|
102
|
+
declare function getRewriter(rootNode: ProstoParserNode, debug?: boolean): TProstoRewriter;
|
|
103
|
+
declare function getStringExpressionRewriter(interpolationDelimiters?: [string, string]): {
|
|
104
|
+
genRewriteCode: (source: string) => string;
|
|
105
|
+
genRewriteFunction: (source: string) => (context?: TProstoRewriteContext) => string;
|
|
106
|
+
printAsTree: (source: string) => void;
|
|
107
|
+
rewrite: (source: string, context?: TProstoRewriteContext) => string;
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
declare class ProstoRewrite {
|
|
111
|
+
protected options: TRewriteOptions;
|
|
112
|
+
constructor(options?: TRewriteOptionsPublic);
|
|
113
|
+
get mixedRewriter(): {
|
|
114
|
+
text: TProstoRewriter;
|
|
115
|
+
html: TProstoRewriter;
|
|
116
|
+
};
|
|
117
|
+
get textRewriter(): TProstoRewriter;
|
|
118
|
+
get htmlRewriter(): TProstoRewriter;
|
|
119
|
+
rewriteFile(opts: TRewriteFileOptions, context?: TProstoRewriteContext): Promise<string>;
|
|
120
|
+
rewriteDir(opts: TRewriteDirOptions, context?: TProstoRewriteContext): Promise<void>;
|
|
121
|
+
private determineMode;
|
|
122
|
+
private debug;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export { ProstoRewrite, type TAttrNodeCustomData, type THTMLBlockDescr, type THTMLBlockOperations, type TProstoRewriteContext, type TProstoRewriter, type TRewriteCodeFactory, type TRewriteCommonOptions, type TRewriteDirOptions, type TRewriteFileOptions, type TRewriteHtmlOptions, type TRewriteMode, type TRewriteNodeType, type TRewriteOptions, type TRewriteOptionsPublic, type TRewriteTextOptions, type TStringExpressionData, type TStringNodeData, type TTagNodeCustomData, type TValueNodeCustomData, genSafeFunc, getRewriter, getStringExpressionRewriter, pushString, renderCode };
|