isomorphic-region-loader 21.0.17 → 21.0.19
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/browser/package.json +1 -1
- package/browser-prod/README.md +24 -0
- package/browser-prod/fesm2022/isomorphic-region-loader-browser.mjs +331 -0
- package/browser-prod/fesm2022/isomorphic-region-loader-browser.mjs.map +1 -0
- package/browser-prod/types/isomorphic-region-loader-browser.d.ts +64 -0
- package/lib/build-info._auto-generated_.d.ts +5 -1
- package/lib/build-info._auto-generated_.js +6 -2
- package/lib/build-info._auto-generated_.js.map +1 -1
- package/lib/env/env.angular-node-app.d.ts +30 -30
- package/lib/env/env.angular-node-app.js +32 -32
- package/lib/env/env.angular-node-app.js.map +1 -1
- package/lib/env/env.docs-webapp.d.ts +30 -30
- package/lib/env/env.docs-webapp.js +32 -32
- package/lib/env/env.docs-webapp.js.map +1 -1
- package/lib/env/env.electron-app.d.ts +30 -30
- package/lib/env/env.electron-app.js +32 -32
- package/lib/env/env.electron-app.js.map +1 -1
- package/lib/env/env.mobile-app.d.ts +30 -30
- package/lib/env/env.mobile-app.js +32 -32
- package/lib/env/env.mobile-app.js.map +1 -1
- package/lib/env/env.npm-lib-and-cli-tool.d.ts +30 -30
- package/lib/env/env.npm-lib-and-cli-tool.js +32 -32
- package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
- package/lib/env/env.vscode-plugin.d.ts +30 -30
- package/lib/env/env.vscode-plugin.js +32 -32
- package/lib/env/env.vscode-plugin.js.map +1 -1
- package/lib/index._auto-generated_.js +1 -1
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib-prod/build-info._auto-generated_.d.ts +24 -0
- package/lib-prod/build-info._auto-generated_.js +30 -0
- package/lib-prod/build-info._auto-generated_.js.map +1 -0
- package/lib-prod/env/env.angular-node-app.d.ts +64 -0
- package/lib-prod/env/env.angular-node-app.js +71 -0
- package/lib-prod/env/env.angular-node-app.js.map +1 -0
- package/lib-prod/env/env.docs-webapp.d.ts +64 -0
- package/lib-prod/env/env.docs-webapp.js +71 -0
- package/lib-prod/env/env.docs-webapp.js.map +1 -0
- package/lib-prod/env/env.electron-app.d.ts +64 -0
- package/lib-prod/env/env.electron-app.js +71 -0
- package/lib-prod/env/env.electron-app.js.map +1 -0
- package/lib-prod/env/env.mobile-app.d.ts +64 -0
- package/lib-prod/env/env.mobile-app.js +71 -0
- package/lib-prod/env/env.mobile-app.js.map +1 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +64 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.js +71 -0
- package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -0
- package/lib-prod/env/env.vscode-plugin.d.ts +64 -0
- package/lib-prod/env/env.vscode-plugin.js +71 -0
- package/lib-prod/env/env.vscode-plugin.js.map +1 -0
- package/lib-prod/env/index.d.ts +6 -0
- package/lib-prod/env/index.js +23 -0
- package/lib-prod/env/index.js.map +1 -0
- package/lib-prod/index._auto-generated_.d.ts +0 -0
- package/lib-prod/index._auto-generated_.js +6 -0
- package/lib-prod/index._auto-generated_.js.map +1 -0
- package/lib-prod/index.d.ts +6 -0
- package/lib-prod/index.js +34 -0
- package/lib-prod/index.js.map +1 -0
- package/lib-prod/models.d.ts +14 -0
- package/lib-prod/models.js +18 -0
- package/lib-prod/models.js.map +1 -0
- package/lib-prod/region-remover.d.ts +15 -0
- package/lib-prod/region-remover.js +130 -0
- package/lib-prod/region-remover.js.map +1 -0
- package/lib-prod/region.d.ts +29 -0
- package/lib-prod/region.js +194 -0
- package/lib-prod/region.js.map +1 -0
- package/package.json +2 -1
- package/package.json_devDependencies.json +3 -0
- package/package.json_tnp.json5 +38 -0
- package/tmp-environment.json +8 -4
- package/websql/package.json +1 -1
- package/websql-prod/README.md +24 -0
- package/websql-prod/fesm2022/isomorphic-region-loader-websql.mjs +331 -0
- package/websql-prod/fesm2022/isomorphic-region-loader-websql.mjs.map +1 -0
- package/websql-prod/types/isomorphic-region-loader-websql.d.ts +64 -0
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
import { _, TAGS, path, REGEX_REGION } from 'tnp-core/websql-prod';
|
|
2
|
+
import { UtilsTypescript } from 'tnp-helpers/websql-prod';
|
|
3
|
+
|
|
4
|
+
const labelReplacementCode = {
|
|
5
|
+
browserCode: '/* */', // '/* browser code */',
|
|
6
|
+
backendCode: '/* */', // '/* backend code */',
|
|
7
|
+
notForNpmCode: '/* */', //'/* not for npm lib code */',
|
|
8
|
+
onlyForGithubDocs: '/* */', // '/* only for github docs */',
|
|
9
|
+
flatenImportExportRequred: '/* */', // '/* only for github docs */',
|
|
10
|
+
};
|
|
11
|
+
const ReplacementStringArr = [
|
|
12
|
+
'@bac' + 'kend',
|
|
13
|
+
'@bac' + 'kendFunc',
|
|
14
|
+
'@cut' + 'CodeIfTrue',
|
|
15
|
+
'@cut' + 'CodeIfFalse',
|
|
16
|
+
"@not'+'ForNpm",
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
//#region imports
|
|
20
|
+
//#endregion
|
|
21
|
+
class Region {
|
|
22
|
+
constructor(context, replacementss, parent, startIndex, endIndex, lineStart, lineEnd, contentLines = []) {
|
|
23
|
+
this.context = context;
|
|
24
|
+
this.replacementss = replacementss;
|
|
25
|
+
this.parent = parent;
|
|
26
|
+
this.startIndex = startIndex;
|
|
27
|
+
this.endIndex = endIndex;
|
|
28
|
+
this.lineStart = lineStart;
|
|
29
|
+
this.lineEnd = lineEnd;
|
|
30
|
+
this.contentLines = contentLines;
|
|
31
|
+
this.regionsOrStrings = [];
|
|
32
|
+
}
|
|
33
|
+
get hasEnd() {
|
|
34
|
+
return this.endIndex !== void 0;
|
|
35
|
+
}
|
|
36
|
+
get lastRegionWithoutEnd() {
|
|
37
|
+
const last = _.last(this.regionsOrStrings);
|
|
38
|
+
if (last instanceof Region && !last.hasEnd) {
|
|
39
|
+
return last;
|
|
40
|
+
}
|
|
41
|
+
return void 0;
|
|
42
|
+
}
|
|
43
|
+
get regions() {
|
|
44
|
+
return this.regionsOrStrings.filter(f => f instanceof Region);
|
|
45
|
+
}
|
|
46
|
+
setEnd(endIndex, lineEnd) {
|
|
47
|
+
this.endIndex = endIndex;
|
|
48
|
+
this.lineEnd = lineEnd;
|
|
49
|
+
}
|
|
50
|
+
get isRoot() {
|
|
51
|
+
return !this.parent;
|
|
52
|
+
}
|
|
53
|
+
addNormalLine(l, lineIndex) {
|
|
54
|
+
this.contentLines[lineIndex] = void 0;
|
|
55
|
+
this.regionsOrStrings.push(l);
|
|
56
|
+
}
|
|
57
|
+
addNormalLineToLastRegion(l, lineIndex) {
|
|
58
|
+
this.contentLines[lineIndex] = void 0;
|
|
59
|
+
this.lastRegionWithoutEnd.contentLines.push(l);
|
|
60
|
+
}
|
|
61
|
+
addRegion(context, parent, startIndex, lineStart) {
|
|
62
|
+
this.contentLines[startIndex] = void 0;
|
|
63
|
+
const newReg = new Region(context, this.replacementss, parent, startIndex, void 0, lineStart, void 0, [lineStart]);
|
|
64
|
+
this.regionsOrStrings.push(newReg);
|
|
65
|
+
}
|
|
66
|
+
endLastRegion(endIndex, lineEnd) {
|
|
67
|
+
this.contentLines[endIndex] = void 0;
|
|
68
|
+
const regionWithoutEnd = this.regionsOrStrings.find(r => r instanceof Region && !r.hasEnd);
|
|
69
|
+
regionWithoutEnd.contentLines.push(lineEnd);
|
|
70
|
+
regionWithoutEnd.setEnd(endIndex, lineEnd);
|
|
71
|
+
}
|
|
72
|
+
containsTitle(s) {
|
|
73
|
+
const res = this.titleString.search(s) !== -1;
|
|
74
|
+
// Helpers.log(`checking tag (${res}): "${s}" in line: "${this.titleString}"`)
|
|
75
|
+
return res;
|
|
76
|
+
}
|
|
77
|
+
get titleString() {
|
|
78
|
+
let line = this.lineStart;
|
|
79
|
+
const regionWord = '#region';
|
|
80
|
+
const indexOfRegion = line.search(regionWord);
|
|
81
|
+
line = line.replace(line.slice(0, indexOfRegion + regionWord.length), '');
|
|
82
|
+
return line.replace('-->', '').replace('<!--', ''); // TODO not necessery ?
|
|
83
|
+
}
|
|
84
|
+
toString() {
|
|
85
|
+
if (this.tmpOutput !== void 0) {
|
|
86
|
+
return this.tmpOutput;
|
|
87
|
+
}
|
|
88
|
+
let previous = '';
|
|
89
|
+
this.tmpOutput = this.regionsOrStrings
|
|
90
|
+
.map(regionOrString => {
|
|
91
|
+
if (regionOrString instanceof Region) {
|
|
92
|
+
//#region handle region
|
|
93
|
+
const replacements = this.replacementss;
|
|
94
|
+
for (let index = 0; index < replacements.length; index++) {
|
|
95
|
+
const rep = replacements[index];
|
|
96
|
+
const isArr = _.isArray(replacements[index]);
|
|
97
|
+
const regionTag = (isArr ? _.first(rep) : rep);
|
|
98
|
+
let out = (isArr ? rep[1] : '');
|
|
99
|
+
const verticalLength = regionOrString.toString().split('\n').length - 1;
|
|
100
|
+
if (regionOrString.containsTitle(regionTag)) {
|
|
101
|
+
if (regionTag.toLowerCase() === TAGS.WEBSQL.toLowerCase()) {
|
|
102
|
+
out = `${_.times(verticalLength)
|
|
103
|
+
.map(() => labelReplacementCode.backendCode + '\n')
|
|
104
|
+
.join('')} ${out}`;
|
|
105
|
+
}
|
|
106
|
+
if (regionTag.toLowerCase() === TAGS.BACKEND.toLowerCase()) {
|
|
107
|
+
out = `${_.times(verticalLength)
|
|
108
|
+
.map(() => labelReplacementCode.backendCode + '\n')
|
|
109
|
+
.join('')} ${out}`;
|
|
110
|
+
}
|
|
111
|
+
if (regionTag.toLowerCase() === TAGS.NOT_FOR_NPM.toLowerCase()) {
|
|
112
|
+
out = `${_.times(verticalLength)
|
|
113
|
+
.map(() => labelReplacementCode.notForNpmCode + '\n')
|
|
114
|
+
.join('')} ${out}`;
|
|
115
|
+
}
|
|
116
|
+
if (regionTag.toLowerCase() === TAGS.BROWSER.toLowerCase()) {
|
|
117
|
+
out = `${_.times(verticalLength)
|
|
118
|
+
.map(() => labelReplacementCode.browserCode + '\n')
|
|
119
|
+
.join('')} ${out}`;
|
|
120
|
+
}
|
|
121
|
+
if (regionTag.toLowerCase() === TAGS.WEBSQL_ONLY.toLowerCase()) {
|
|
122
|
+
out = `${_.times(verticalLength)
|
|
123
|
+
.map(() => labelReplacementCode.backendCode + '\n')
|
|
124
|
+
.join('')} ${out}`;
|
|
125
|
+
}
|
|
126
|
+
if (regionTag.toLowerCase() === TAGS.BACKEND_FUNC.toLowerCase()) {
|
|
127
|
+
let spacesPrevious = previous.search(/\S/);
|
|
128
|
+
spacesPrevious = spacesPrevious < 0 ? 0 : spacesPrevious;
|
|
129
|
+
out =
|
|
130
|
+
`${_.times(verticalLength)
|
|
131
|
+
.map(() => labelReplacementCode.backendCode + '\n')
|
|
132
|
+
.join('')}` +
|
|
133
|
+
`${_.times(spacesPrevious)
|
|
134
|
+
.map(n => ' ')
|
|
135
|
+
.join('')} ${out}`;
|
|
136
|
+
}
|
|
137
|
+
if (regionTag.toLowerCase() === TAGS.WEBSQL_FUNC.toLowerCase()) {
|
|
138
|
+
let spacesPrevious = previous.search(/\S/);
|
|
139
|
+
spacesPrevious = spacesPrevious < 0 ? 0 : spacesPrevious;
|
|
140
|
+
out =
|
|
141
|
+
`${_.times(verticalLength)
|
|
142
|
+
.map(() => labelReplacementCode.backendCode + '\n')
|
|
143
|
+
.join('')}` +
|
|
144
|
+
`${_.times(spacesPrevious)
|
|
145
|
+
.map(n => ' ')
|
|
146
|
+
.join('')} ${out}`;
|
|
147
|
+
}
|
|
148
|
+
if (regionTag.toLowerCase() ===
|
|
149
|
+
TAGS.CUT_CODE_IF_TRUE.toLowerCase() ||
|
|
150
|
+
regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()) {
|
|
151
|
+
const fn = out; // as ReturnType<typeof codeCuttFn>;
|
|
152
|
+
let expressionToExecute = regionOrString.titleString;
|
|
153
|
+
// Helpers.log(`LINE: "${regionOrString.lineStart}"`);
|
|
154
|
+
expressionToExecute = expressionToExecute.replace(regionTag, '');
|
|
155
|
+
// Helpers.log(`Expresion to evaluate "${expressionToExecute}"`);
|
|
156
|
+
// Helpers.log(`this.project "${this.project.name}"`);
|
|
157
|
+
const configForProject = this.project && this.project.env.config;
|
|
158
|
+
// Helpers.log(`configForProject "${configForProject}"`);
|
|
159
|
+
const cutCode = fn(expressionToExecute, configForProject, this.realtiveOrAbsFilePAth);
|
|
160
|
+
// Helpers.info(`Cut code: "${cutCode}"`);
|
|
161
|
+
if (cutCode === null) {
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
if ((cutCode &&
|
|
165
|
+
regionTag.toLowerCase() ===
|
|
166
|
+
TAGS.CUT_CODE_IF_TRUE.toLowerCase()) ||
|
|
167
|
+
(!cutCode &&
|
|
168
|
+
regionTag.toLowerCase() ===
|
|
169
|
+
TAGS.CUT_CODE_IF_FALSE.toLowerCase())) {
|
|
170
|
+
out = '';
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
regionOrString.tmpOutput = out;
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
//#endregion
|
|
181
|
+
}
|
|
182
|
+
const res = regionOrString.toString();
|
|
183
|
+
previous = res;
|
|
184
|
+
return res;
|
|
185
|
+
})
|
|
186
|
+
.join('\n');
|
|
187
|
+
return this.tmpOutput;
|
|
188
|
+
}
|
|
189
|
+
get project() {
|
|
190
|
+
return this.context.project;
|
|
191
|
+
}
|
|
192
|
+
get realtiveOrAbsFilePAth() {
|
|
193
|
+
return this.context.realtiveOrAbsFilePAth;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
//#region imports
|
|
198
|
+
//#endregion
|
|
199
|
+
class RegionRemover {
|
|
200
|
+
static from(realtiveOrAbsFilePAth, content, replacementss, // Models.dev.Replacement[],
|
|
201
|
+
project) {
|
|
202
|
+
let fileExtension = path.extname(realtiveOrAbsFilePAth);
|
|
203
|
+
if (!replacementss) {
|
|
204
|
+
replacementss = [
|
|
205
|
+
[TAGS.BACKEND_FUNC, `return (void 0);`],
|
|
206
|
+
TAGS.BACKEND,
|
|
207
|
+
];
|
|
208
|
+
}
|
|
209
|
+
return new RegionRemover(realtiveOrAbsFilePAth, fileExtension, content, replacementss, project);
|
|
210
|
+
}
|
|
211
|
+
matchStartRegion(l) {
|
|
212
|
+
const res = !_.isUndefined(this.START_REGION.find(r => l.match(r)));
|
|
213
|
+
return res;
|
|
214
|
+
}
|
|
215
|
+
matchEndRegion(l) {
|
|
216
|
+
const res = !_.isUndefined(this.END_REGION.find(r => l.match(r)));
|
|
217
|
+
return res;
|
|
218
|
+
}
|
|
219
|
+
constructor(realtiveOrAbsFilePAth, fileExtension, content, replacementss, // Models.dev.Replacement[],
|
|
220
|
+
project) {
|
|
221
|
+
this.realtiveOrAbsFilePAth = realtiveOrAbsFilePAth;
|
|
222
|
+
this.content = content;
|
|
223
|
+
this.project = project;
|
|
224
|
+
this.START_REGION = [];
|
|
225
|
+
this.END_REGION = [];
|
|
226
|
+
if (REGEX_REGION.TS_JS_SCSS_SASS.EXT.includes(fileExtension)) {
|
|
227
|
+
this.START_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.START);
|
|
228
|
+
this.END_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.END);
|
|
229
|
+
}
|
|
230
|
+
if (REGEX_REGION.HTML.EXT.includes(fileExtension)) {
|
|
231
|
+
this.START_REGION.push(REGEX_REGION.HTML.START);
|
|
232
|
+
this.END_REGION.push(REGEX_REGION.HTML.END);
|
|
233
|
+
}
|
|
234
|
+
if (REGEX_REGION.CSS.EXT.includes(fileExtension)) {
|
|
235
|
+
this.START_REGION.push(REGEX_REGION.CSS.START);
|
|
236
|
+
this.END_REGION.push(REGEX_REGION.CSS.END);
|
|
237
|
+
}
|
|
238
|
+
this.content =
|
|
239
|
+
UtilsTypescript.removeTaggedImportExport(this.content, replacementss) || '';
|
|
240
|
+
const lines = this.content.split('\n');
|
|
241
|
+
this.root = new Region(this, replacementss, void 0, 0, lines.length - 1, _.first(lines), _.last(lines), lines);
|
|
242
|
+
this.tree(this.root);
|
|
243
|
+
}
|
|
244
|
+
tree(node) {
|
|
245
|
+
const contentLines = node.contentLines;
|
|
246
|
+
// if (contentLines.length <= 3) {
|
|
247
|
+
// for (let i = 0; i < contentLines.length; i++) {
|
|
248
|
+
// const l = contentLines[i];
|
|
249
|
+
// node.addNormalLine(l, i);
|
|
250
|
+
// }
|
|
251
|
+
// } else {
|
|
252
|
+
let stack = 0;
|
|
253
|
+
for (let i = 0; i < contentLines.length; i++) {
|
|
254
|
+
const l = contentLines[i];
|
|
255
|
+
if (!node.isRoot) {
|
|
256
|
+
if (i === 0) {
|
|
257
|
+
node.addNormalLine(l, 0);
|
|
258
|
+
continue;
|
|
259
|
+
}
|
|
260
|
+
if (i === node.contentLines.length - 1) {
|
|
261
|
+
node.addNormalLine(l, i);
|
|
262
|
+
continue;
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
if (node.lastRegionWithoutEnd) {
|
|
266
|
+
if (this.matchStartRegion(l)) {
|
|
267
|
+
node.addNormalLineToLastRegion(l, i);
|
|
268
|
+
stack++;
|
|
269
|
+
}
|
|
270
|
+
else if (this.matchEndRegion(l)) {
|
|
271
|
+
if (stack === 0) {
|
|
272
|
+
node.endLastRegion(i, l);
|
|
273
|
+
}
|
|
274
|
+
else if (stack > 0) {
|
|
275
|
+
node.addNormalLineToLastRegion(l, i);
|
|
276
|
+
stack--;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
if (i === node.contentLines.length - (node.isRoot ? 1 : 2)) {
|
|
281
|
+
stack = 0;
|
|
282
|
+
node.endLastRegion(i, l);
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
node.addNormalLineToLastRegion(l, i);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
if (this.matchStartRegion(l)) {
|
|
291
|
+
node.addRegion(this, node, i, l);
|
|
292
|
+
}
|
|
293
|
+
else if (this.matchEndRegion(l)) {
|
|
294
|
+
node.addNormalLine(l, i);
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
node.addNormalLine(l, i);
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
// }
|
|
302
|
+
const children = node.regions;
|
|
303
|
+
if (children.length > 0) {
|
|
304
|
+
for (let index = 0; index < children.length; index++) {
|
|
305
|
+
const child = children[index];
|
|
306
|
+
this.tree(child);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
get output() {
|
|
311
|
+
return this.root.toString();
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
//#region imports
|
|
316
|
+
function StripBrowserCode(content) {
|
|
317
|
+
// @ts-ignore
|
|
318
|
+
content =
|
|
319
|
+
RegionRemover.from(this.resourcePath, content, ['@browser']).output + '\n';
|
|
320
|
+
if (this.cacheable) {
|
|
321
|
+
this.cacheable(true);
|
|
322
|
+
}
|
|
323
|
+
return content;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* Generated bundle index. Do not edit.
|
|
328
|
+
*/
|
|
329
|
+
|
|
330
|
+
export { Region, RegionRemover, ReplacementStringArr, StripBrowserCode as StripBlockLoader, labelReplacementCode };
|
|
331
|
+
//# sourceMappingURL=isomorphic-region-loader-websql.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isomorphic-region-loader-websql.mjs","sources":["../../../tmp-libs-for-dist-websql-prod/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/models.ts","../../../tmp-libs-for-dist-websql-prod/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/region.ts","../../../tmp-libs-for-dist-websql-prod/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/region-remover.ts","../../../tmp-libs-for-dist-websql-prod/isomorphic-region-loader/projects/isomorphic-region-loader/src/lib/index.ts","../../../tmp-libs-for-dist-websql-prod/isomorphic-region-loader/projects/isomorphic-region-loader/src/isomorphic-region-loader-websql.ts"],"sourcesContent":["export const labelReplacementCode = {\n browserCode: '/* */', // '/* browser code */',\n backendCode: '/* */', // '/* backend code */',\n notForNpmCode: '/* */', //'/* not for npm lib code */',\n onlyForGithubDocs: '/* */', // '/* only for github docs */',\n flatenImportExportRequred: '/* */', // '/* only for github docs */',\n};\n\nexport type ReplacementString =\n | '@backend'\n | '@backendFunc'\n | '@cutCodeIfTrue'\n | '@cutCodeIfFalse'\n | '@notForNpm';\nexport const ReplacementStringArr = [\n '@bac' + 'kend',\n '@bac' + 'kendFunc',\n '@cut' + 'CodeIfTrue',\n '@cut' + 'CodeIfFalse',\n \"@not'+'ForNpm\",\n] as ReplacementString[];\n\nexport type Replacement<EnvConfig = any> =\n | ReplacementString\n | [ReplacementString, string]\n | [ReplacementString, (expression: any, env: EnvConfig) => () => boolean];\n\nexport interface ReplaceOptionsExtended<EnvConfig = any> {\n replacements: Replacement[];\n env?: EnvConfig;\n}","//#region imports\nimport { Helpers, _ } from 'tnp-core/websql-prod';\nimport { TAGS } from 'tnp-core/websql-prod';\n\nimport { Replacement, ReplacementString, labelReplacementCode } from './models';\n// import { codeCuttFn } from '../code-cut';\nimport type { RegionRemover } from './region-remover';\n//#endregion\n\nexport class Region {\n constructor(\n private context: RegionRemover,\n public replacementss: Replacement[],\n public parent: Region,\n public startIndex: number,\n public endIndex: number,\n public lineStart: string,\n public lineEnd: string,\n public contentLines: string[] = [],\n ) {}\n\n private tmpOutput: string;\n\n public get hasEnd() {\n return this.endIndex !== void 0;\n }\n\n public get lastRegionWithoutEnd() {\n const last = _.last(this.regionsOrStrings);\n if (last instanceof Region && !last.hasEnd) {\n return last;\n }\n return void 0;\n }\n\n private regionsOrStrings: (Region | string)[] = [];\n\n get regions() {\n return this.regionsOrStrings.filter(f => f instanceof Region);\n }\n\n private setEnd(endIndex: number, lineEnd: string) {\n this.endIndex = endIndex;\n this.lineEnd = lineEnd;\n }\n\n get isRoot() {\n return !this.parent;\n }\n\n addNormalLine(l: string, lineIndex: number) {\n this.contentLines[lineIndex] = void 0;\n this.regionsOrStrings.push(l);\n }\n\n addNormalLineToLastRegion(l: string, lineIndex: number) {\n this.contentLines[lineIndex] = void 0;\n this.lastRegionWithoutEnd.contentLines.push(l);\n }\n\n addRegion(\n context: RegionRemover,\n parent: Region,\n startIndex: number,\n lineStart: string,\n ) {\n this.contentLines[startIndex] = void 0;\n const newReg = new Region(\n context,\n this.replacementss,\n parent,\n startIndex,\n void 0,\n lineStart,\n void 0,\n [lineStart],\n );\n this.regionsOrStrings.push(newReg);\n }\n\n endLastRegion(endIndex: number, lineEnd: string) {\n this.contentLines[endIndex] = void 0;\n const regionWithoutEnd = this.regionsOrStrings.find(\n r => r instanceof Region && !r.hasEnd,\n ) as Region;\n regionWithoutEnd.contentLines.push(lineEnd);\n regionWithoutEnd.setEnd(endIndex, lineEnd);\n }\n\n private containsTitle(s: ReplacementString) {\n const res = this.titleString.search(s) !== -1;\n // Helpers.log(`checking tag (${res}): \"${s}\" in line: \"${this.titleString}\"`)\n return res;\n }\n\n private get titleString() {\n let line = this.lineStart;\n const regionWord = '#region';\n const indexOfRegion = line.search(regionWord);\n line = line.replace(line.slice(0, indexOfRegion + regionWord.length), '');\n return line.replace('-->', '').replace('<!--', ''); // TODO not necessery ?\n }\n\n public toString() {\n if (this.tmpOutput !== void 0) {\n return this.tmpOutput;\n }\n let previous = '';\n this.tmpOutput = this.regionsOrStrings\n .map(regionOrString => {\n if (regionOrString instanceof Region) {\n //#region handle region\n const replacements = this.replacementss;\n for (let index = 0; index < replacements.length; index++) {\n const rep = replacements[index];\n const isArr = _.isArray(replacements[index]);\n\n const regionTag = (\n isArr ? _.first(rep as string[]) : rep\n ) as ReplacementString;\n\n let out = (isArr ? rep[1] : '') as string;\n\n const verticalLength =\n regionOrString.toString().split('\\n').length - 1;\n\n if (regionOrString.containsTitle(regionTag)) {\n if (regionTag.toLowerCase() === TAGS.WEBSQL.toLowerCase()) {\n out = `${_.times(verticalLength)\n .map(() => labelReplacementCode.backendCode + '\\n')\n .join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.BACKEND.toLowerCase()) {\n out = `${_.times(verticalLength)\n .map(() => labelReplacementCode.backendCode + '\\n')\n .join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.NOT_FOR_NPM.toLowerCase()) {\n out = `${_.times(verticalLength)\n .map(() => labelReplacementCode.notForNpmCode + '\\n')\n .join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.BROWSER.toLowerCase()) {\n out = `${_.times(verticalLength)\n .map(() => labelReplacementCode.browserCode + '\\n')\n .join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.WEBSQL_ONLY.toLowerCase()) {\n out = `${_.times(verticalLength)\n .map(() => labelReplacementCode.backendCode + '\\n')\n .join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.BACKEND_FUNC.toLowerCase()) {\n let spacesPrevious = previous.search(/\\S/);\n spacesPrevious = spacesPrevious < 0 ? 0 : spacesPrevious;\n out =\n `${_.times(verticalLength)\n .map(() => labelReplacementCode.backendCode + '\\n')\n .join('')}` +\n `${_.times(spacesPrevious)\n .map(n => ' ')\n .join('')} ${out}`;\n }\n if (regionTag.toLowerCase() === TAGS.WEBSQL_FUNC.toLowerCase()) {\n let spacesPrevious = previous.search(/\\S/);\n spacesPrevious = spacesPrevious < 0 ? 0 : spacesPrevious;\n out =\n `${_.times(verticalLength)\n .map(() => labelReplacementCode.backendCode + '\\n')\n .join('')}` +\n `${_.times(spacesPrevious)\n .map(n => ' ')\n .join('')} ${out}`;\n }\n if (\n regionTag.toLowerCase() ===\n TAGS.CUT_CODE_IF_TRUE.toLowerCase() ||\n regionTag.toLowerCase() === TAGS.CUT_CODE_IF_FALSE.toLowerCase()\n ) {\n const fn = out as any; // as ReturnType<typeof codeCuttFn>;\n let expressionToExecute = regionOrString.titleString;\n // Helpers.log(`LINE: \"${regionOrString.lineStart}\"`);\n expressionToExecute = expressionToExecute.replace(\n regionTag,\n '',\n );\n // Helpers.log(`Expresion to evaluate \"${expressionToExecute}\"`);\n // Helpers.log(`this.project \"${this.project.name}\"`);\n const configForProject =\n this.project && this.project.env.config;\n // Helpers.log(`configForProject \"${configForProject}\"`);\n const cutCode = fn(\n expressionToExecute,\n configForProject,\n this.realtiveOrAbsFilePAth,\n );\n // Helpers.info(`Cut code: \"${cutCode}\"`);\n if (cutCode === null) {\n continue;\n }\n if (\n (cutCode &&\n regionTag.toLowerCase() ===\n TAGS.CUT_CODE_IF_TRUE.toLowerCase()) ||\n (!cutCode &&\n regionTag.toLowerCase() ===\n TAGS.CUT_CODE_IF_FALSE.toLowerCase())\n ) {\n out = '';\n } else {\n continue;\n }\n }\n regionOrString.tmpOutput = out;\n break;\n }\n }\n //#endregion\n }\n const res = regionOrString.toString();\n previous = res;\n return res;\n })\n .join('\\n');\n return this.tmpOutput;\n }\n\n private get project() {\n return this.context.project;\n }\n\n private get realtiveOrAbsFilePAth() {\n return this.context.realtiveOrAbsFilePAth;\n }\n}","//#region imports\nimport { REGEX_REGION, TAGS } from 'tnp-core/websql-prod';\nimport { _, path } from 'tnp-core/websql-prod';\nimport { Helpers } from 'tnp-core/websql-prod';\nimport { CoreModels } from 'tnp-core/websql-prod';\nimport { UtilsTypescript } from 'tnp-helpers/websql-prod';\n\nimport { Region } from './region';\n//#endregion\n\nexport class RegionRemover {\n private root: Region;\n\n private readonly START_REGION: RegExp[] = [];\n\n private readonly END_REGION: RegExp[] = [];\n\n public static from(\n realtiveOrAbsFilePAth: string,\n content: string,\n replacementss?: any, // Models.dev.Replacement[],\n project?: any, // Project,\n // debug = false,\n ) {\n let fileExtension = path.extname(realtiveOrAbsFilePAth);\n\n if (!replacementss) {\n replacementss = [\n [TAGS.BACKEND_FUNC, `return (void 0);`],\n TAGS.BACKEND as any,\n ];\n }\n return new RegionRemover(\n realtiveOrAbsFilePAth,\n fileExtension as any,\n content,\n replacementss,\n project,\n // debug,\n );\n }\n\n private matchStartRegion(l: string) {\n const res = !_.isUndefined(this.START_REGION.find(r => l.match(r)));\n return res;\n }\n\n private matchEndRegion(l: string) {\n const res = !_.isUndefined(this.END_REGION.find(r => l.match(r)));\n return res;\n }\n\n private constructor(\n public readonly realtiveOrAbsFilePAth: string,\n fileExtension: CoreModels.CutableFileExt,\n private content: string,\n replacementss?: any, // Models.dev.Replacement[],\n public readonly project?: any, // Project\n // public readonly debug = false,\n ) {\n if (REGEX_REGION.TS_JS_SCSS_SASS.EXT.includes(fileExtension)) {\n this.START_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.START);\n this.END_REGION.push(REGEX_REGION.TS_JS_SCSS_SASS.END);\n }\n if (REGEX_REGION.HTML.EXT.includes(fileExtension)) {\n this.START_REGION.push(REGEX_REGION.HTML.START);\n this.END_REGION.push(REGEX_REGION.HTML.END);\n }\n if (REGEX_REGION.CSS.EXT.includes(fileExtension)) {\n this.START_REGION.push(REGEX_REGION.CSS.START);\n this.END_REGION.push(REGEX_REGION.CSS.END);\n }\n\n this.content =\n UtilsTypescript.removeTaggedImportExport(\n this.content,\n replacementss,\n // debug,\n ) || '';\n\n const lines = this.content.split('\\n');\n this.root = new Region(\n this,\n replacementss,\n void 0,\n 0,\n lines.length - 1,\n _.first(lines),\n _.last(lines),\n lines,\n );\n this.tree(this.root);\n }\n\n private tree(node: Region) {\n const contentLines = node.contentLines;\n // if (contentLines.length <= 3) {\n // for (let i = 0; i < contentLines.length; i++) {\n // const l = contentLines[i];\n // node.addNormalLine(l, i);\n // }\n // } else {\n let stack = 0;\n for (let i = 0; i < contentLines.length; i++) {\n const l = contentLines[i];\n if (!node.isRoot) {\n if (i === 0) {\n node.addNormalLine(l, 0);\n continue;\n }\n if (i === node.contentLines.length - 1) {\n node.addNormalLine(l, i);\n continue;\n }\n }\n if (node.lastRegionWithoutEnd) {\n if (this.matchStartRegion(l)) {\n node.addNormalLineToLastRegion(l, i);\n stack++;\n } else if (this.matchEndRegion(l)) {\n if (stack === 0) {\n node.endLastRegion(i, l);\n } else if (stack > 0) {\n node.addNormalLineToLastRegion(l, i);\n stack--;\n }\n } else {\n if (i === node.contentLines.length - (node.isRoot ? 1 : 2)) {\n stack = 0;\n node.endLastRegion(i, l);\n } else {\n node.addNormalLineToLastRegion(l, i);\n }\n }\n } else {\n if (this.matchStartRegion(l)) {\n node.addRegion(this, node, i, l);\n } else if (this.matchEndRegion(l)) {\n node.addNormalLine(l, i);\n } else {\n node.addNormalLine(l, i);\n }\n }\n }\n // }\n\n const children = node.regions;\n if (children.length > 0) {\n for (let index = 0; index < children.length; index++) {\n const child = children[index] as Region;\n this.tree(child);\n }\n }\n }\n\n get output() {\n return this.root.toString();\n }\n}","//#region imports\nimport { RegionRemover } from './region-remover';\n//#endregion\n\nexport * from './models';\n\nfunction StripBrowserCode(content) {\n // @ts-ignore\n content =\n RegionRemover.from(this.resourcePath, content, ['@browser']).output + '\\n';\n\n if (this.cacheable) {\n this.cacheable(true);\n }\n\n return content;\n}\n\nexport { StripBrowserCode as StripBlockLoader };\n\nexport * from './region-remover';\nexport * from './region';\n\nexport default StripBrowserCode;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
declare const labelReplacementCode: {
|
|
3
|
+
browserCode: string;
|
|
4
|
+
backendCode: string;
|
|
5
|
+
notForNpmCode: string;
|
|
6
|
+
onlyForGithubDocs: string;
|
|
7
|
+
flatenImportExportRequred: string;
|
|
8
|
+
};
|
|
9
|
+
type ReplacementString = '@backend' | '@backendFunc' | '@cutCodeIfTrue' | '@cutCodeIfFalse' | '@notForNpm';
|
|
10
|
+
declare const ReplacementStringArr: ReplacementString[];
|
|
11
|
+
type Replacement<EnvConfig = any> = ReplacementString | [ReplacementString, string] | [ReplacementString, (expression: any, env: EnvConfig) => () => boolean];
|
|
12
|
+
interface ReplaceOptionsExtended<EnvConfig = any> {
|
|
13
|
+
replacements: Replacement[];
|
|
14
|
+
env?: EnvConfig;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
declare class RegionRemover {
|
|
18
|
+
readonly realtiveOrAbsFilePAth: string;
|
|
19
|
+
private content;
|
|
20
|
+
readonly project?: any;
|
|
21
|
+
private root;
|
|
22
|
+
private readonly START_REGION;
|
|
23
|
+
private readonly END_REGION;
|
|
24
|
+
static from(realtiveOrAbsFilePAth: string, content: string, replacementss?: any, // Models.dev.Replacement[],
|
|
25
|
+
project?: any): RegionRemover;
|
|
26
|
+
private matchStartRegion;
|
|
27
|
+
private matchEndRegion;
|
|
28
|
+
private constructor();
|
|
29
|
+
private tree;
|
|
30
|
+
get output(): string;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
declare class Region {
|
|
34
|
+
private context;
|
|
35
|
+
replacementss: Replacement[];
|
|
36
|
+
parent: Region;
|
|
37
|
+
startIndex: number;
|
|
38
|
+
endIndex: number;
|
|
39
|
+
lineStart: string;
|
|
40
|
+
lineEnd: string;
|
|
41
|
+
contentLines: string[];
|
|
42
|
+
constructor(context: RegionRemover, replacementss: Replacement[], parent: Region, startIndex: number, endIndex: number, lineStart: string, lineEnd: string, contentLines?: string[]);
|
|
43
|
+
private tmpOutput;
|
|
44
|
+
get hasEnd(): boolean;
|
|
45
|
+
get lastRegionWithoutEnd(): Region;
|
|
46
|
+
private regionsOrStrings;
|
|
47
|
+
get regions(): Region[];
|
|
48
|
+
private setEnd;
|
|
49
|
+
get isRoot(): boolean;
|
|
50
|
+
addNormalLine(l: string, lineIndex: number): void;
|
|
51
|
+
addNormalLineToLastRegion(l: string, lineIndex: number): void;
|
|
52
|
+
addRegion(context: RegionRemover, parent: Region, startIndex: number, lineStart: string): void;
|
|
53
|
+
endLastRegion(endIndex: number, lineEnd: string): void;
|
|
54
|
+
private containsTitle;
|
|
55
|
+
private get titleString();
|
|
56
|
+
toString(): string;
|
|
57
|
+
private get project();
|
|
58
|
+
private get realtiveOrAbsFilePAth();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
declare function StripBrowserCode(content: any): any;
|
|
62
|
+
|
|
63
|
+
export { Region, RegionRemover, ReplacementStringArr, StripBrowserCode as StripBlockLoader, labelReplacementCode };
|
|
64
|
+
export type { ReplaceOptionsExtended, Replacement, ReplacementString };
|