@stackbit/cms-core 0.0.3
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/annotator/html.d.ts +1 -0
- package/dist/annotator/html.js +54 -0
- package/dist/annotator/html.js.map +1 -0
- package/dist/annotator/index.d.ts +13 -0
- package/dist/annotator/index.js +120 -0
- package/dist/annotator/index.js.map +1 -0
- package/dist/annotator/react.d.ts +1 -0
- package/dist/annotator/react.js +53 -0
- package/dist/annotator/react.js.map +1 -0
- package/dist/consts.d.ts +27 -0
- package/dist/consts.js +43 -0
- package/dist/consts.js.map +1 -0
- package/dist/encoder.d.ts +8 -0
- package/dist/encoder.js +272 -0
- package/dist/encoder.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/stackbit/index.d.ts +4 -0
- package/dist/stackbit/index.js +54 -0
- package/dist/stackbit/index.js.map +1 -0
- package/dist/utils/index.d.ts +172 -0
- package/dist/utils/index.js +928 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +43 -0
- package/src/annotator/html.js +55 -0
- package/src/annotator/index.js +135 -0
- package/src/annotator/react.js +56 -0
- package/src/consts.js +41 -0
- package/src/encoder.js +315 -0
- package/src/index.js +13 -0
- package/src/stackbit/index.js +55 -0
- package/src/utils/index.js +997 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.js"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@stackbit/cms-core",
|
|
3
|
+
"version": "0.0.3",
|
|
4
|
+
"description": "stackbit-dev",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"/dist",
|
|
9
|
+
"/src"
|
|
10
|
+
],
|
|
11
|
+
"scripts": {
|
|
12
|
+
"test": "jest --passWithNoTests",
|
|
13
|
+
"build": "rm -rf dist && tsc",
|
|
14
|
+
"watch": "rm -rf dist && tsc -w",
|
|
15
|
+
"prettier": "prettier --write src",
|
|
16
|
+
"prepack": "npm test && npm run build"
|
|
17
|
+
},
|
|
18
|
+
"author": "Stackbit Inc.",
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"jest": "^27.4.7",
|
|
22
|
+
"prettier": "^2.5.1",
|
|
23
|
+
"ts-jest": "^27.1.3",
|
|
24
|
+
"typescript": "^4.5.4"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@babel/parser": "^7.11.5",
|
|
28
|
+
"@babel/traverse": "^7.11.5",
|
|
29
|
+
"@iarna/toml": "^2.2.3",
|
|
30
|
+
"@stackbit/sdk": "^0.2.22",
|
|
31
|
+
"chalk": "^4.0.1",
|
|
32
|
+
"esm": "^3.2.25",
|
|
33
|
+
"fs-extra": "^8.1.0",
|
|
34
|
+
"glob": "^7.1.6",
|
|
35
|
+
"htmlparser": "^1.7.7",
|
|
36
|
+
"js-yaml": "^3.13.1",
|
|
37
|
+
"lodash": "^4.17.20",
|
|
38
|
+
"micromatch": "^4.0.2",
|
|
39
|
+
"moment": "^2.29.1",
|
|
40
|
+
"parse5": "^6.0.1"
|
|
41
|
+
},
|
|
42
|
+
"gitHead": "c11e30670c8a59ed67503af36febe8fccfd1e2cc"
|
|
43
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
const _ = require('lodash');
|
|
4
|
+
const parser = require('parse5');
|
|
5
|
+
|
|
6
|
+
async function createAnnotations(filePath, data, logger) {
|
|
7
|
+
if (!data) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
let document;
|
|
11
|
+
try {
|
|
12
|
+
// See https://astexplorer.net for example parser output
|
|
13
|
+
document = parser.parse(data, {
|
|
14
|
+
sourceCodeLocationInfo: true
|
|
15
|
+
});
|
|
16
|
+
} catch (err) {
|
|
17
|
+
logger.warn('[annotator] error parsing html file', { filePath, err });
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
const annotations = [];
|
|
21
|
+
const traverse = (node) => {
|
|
22
|
+
if (!node || _.isEmpty(node.childNodes)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (node.sourceCodeLocation && node.tagName) {
|
|
26
|
+
annotations.push({
|
|
27
|
+
sourceLocation: {
|
|
28
|
+
/// node.sourceCodeLocation contains the location for the entire node
|
|
29
|
+
start: {
|
|
30
|
+
line: node.sourceCodeLocation.startLine,
|
|
31
|
+
column: node.sourceCodeLocation.startCol - 1
|
|
32
|
+
},
|
|
33
|
+
end: {
|
|
34
|
+
line: node.sourceCodeLocation.endLine,
|
|
35
|
+
column: node.sourceCodeLocation.endCol
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
// Example: <p>text</p>
|
|
39
|
+
// node.sourceCodeLocation.startTag.endOffset == ↑
|
|
40
|
+
// The global charactar offset of the ending of the opening tag
|
|
41
|
+
insertOffset: node.sourceCodeLocation.startTag.endOffset - 1
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
node.childNodes.forEach((childNode) => traverse(childNode));
|
|
45
|
+
};
|
|
46
|
+
traverse(document);
|
|
47
|
+
if (_.isEmpty(annotations)) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
return annotations;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
module.exports = {
|
|
54
|
+
createAnnotations
|
|
55
|
+
};
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
|
|
2
|
+
const _ = require('lodash');
|
|
3
|
+
const fse = require('fs-extra');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
|
|
6
|
+
const {
|
|
7
|
+
mapPromise,
|
|
8
|
+
replaceInRange,
|
|
9
|
+
readDirRec
|
|
10
|
+
} = require('../utils');
|
|
11
|
+
const { LOADER_EXCLUDED_FILES, LOADER_EXCLUDED_DIRS } = require('../consts');
|
|
12
|
+
|
|
13
|
+
const reactAnnotator = require('./react');
|
|
14
|
+
const htmlAnnotator = require('./html');
|
|
15
|
+
|
|
16
|
+
module.exports = {
|
|
17
|
+
annotateDir,
|
|
18
|
+
annotateFiles,
|
|
19
|
+
decodeSourcemap
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const FILE_TYPES = ['js', 'jsx', 'ts', 'tsx', 'html', 'htm'];
|
|
23
|
+
const MAX_FILE_SIZE = 500 * 1024; // 500kb
|
|
24
|
+
|
|
25
|
+
async function encodeSourcemap(filePath, data, annotations) {
|
|
26
|
+
let annotatedData = data;
|
|
27
|
+
const sortedAnnotations = _.orderBy(annotations, ['insertOffset'], ['desc']);
|
|
28
|
+
sortedAnnotations.forEach((annotation) => {
|
|
29
|
+
const loc = annotation.sourceLocation;
|
|
30
|
+
const attribute = ` data-sb-source-file="${filePath}" data-sb-source-position="${loc.start.line},${loc.start.column}:${loc.end.line},${loc.end.column}"`;
|
|
31
|
+
annotatedData = replaceInRange(annotatedData, [annotation.insertOffset, annotation.insertOffset], attribute);
|
|
32
|
+
});
|
|
33
|
+
return annotatedData;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async function annotateFile(filePath, inputDir, outputDir, annotator, logger, options = {}) {
|
|
37
|
+
const data = (await fse.readFile(path.join(inputDir, filePath))).toString();
|
|
38
|
+
if (!data || data.length > MAX_FILE_SIZE) {
|
|
39
|
+
logger.debug(`[annotator] skipping file: ${filePath}`, { dataLength: _.get(data, 'length') });
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
// annotator.createAnnotations returns annotations with the following structure:
|
|
43
|
+
// {
|
|
44
|
+
// insertOffset: number - global character offset in the data where we can insert the annotation data
|
|
45
|
+
// sourceLocation: { start: Position, end: Position } - span of the entire source block in line+column format
|
|
46
|
+
// }
|
|
47
|
+
const annotations = await annotator.createAnnotations(filePath, data, logger);
|
|
48
|
+
if (_.isEmpty(annotations)) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
const annotatedData = await encodeSourcemap(_.get(options, 'pathPrefix') ? path.join(options.pathPrefix, filePath) : filePath, data, annotations);
|
|
52
|
+
if (_.isEqual(data, annotatedData)) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
const outputFilePath = path.join(outputDir, filePath);
|
|
56
|
+
const existingData = (await fse.pathExists(outputFilePath)) ? (await fse.readFile(outputFilePath)).toString() : null;
|
|
57
|
+
if (_.isEqual(annotatedData, existingData) || (existingData && existingData.includes('data-sb-source-position'))) {
|
|
58
|
+
logger.debug(`[annotator] annotating, but skipping write: ${filePath}`, { annotations: annotations.length });
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
logger.debug(`[annotator] annotating: ${filePath}`, { annotations: annotations.length });
|
|
62
|
+
await fse.writeFile(outputFilePath, annotatedData);
|
|
63
|
+
return outputFilePath;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function decodePosition(positionString) {
|
|
67
|
+
const parts = positionString.split(',');
|
|
68
|
+
return {
|
|
69
|
+
line: parseInt(parts[0]),
|
|
70
|
+
column: parseInt(parts[1])
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function decodeSourcemap(attributes) {
|
|
75
|
+
const sourceFile = _.get(attributes, 'data-sb-source-file');
|
|
76
|
+
const sourcePosition = _.get(attributes, 'data-sb-source-position');
|
|
77
|
+
let sourcemap;
|
|
78
|
+
if (sourceFile) {
|
|
79
|
+
let start, end;
|
|
80
|
+
if (sourcePosition) {
|
|
81
|
+
const parts = sourcePosition.split(':');
|
|
82
|
+
start = decodePosition(parts[0]);
|
|
83
|
+
end = decodePosition(parts[1]);
|
|
84
|
+
}
|
|
85
|
+
sourcemap = {
|
|
86
|
+
file: sourceFile,
|
|
87
|
+
start,
|
|
88
|
+
end
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
return sourcemap;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
async function annotateFiles(filePaths, inputDir, outputDir, logger = console, options = {}) {
|
|
95
|
+
const result = await mapPromise(filePaths, async (filePath) => {
|
|
96
|
+
const ext = path.extname(filePath).substring(1);
|
|
97
|
+
let annotator = null;
|
|
98
|
+
if (['js', 'jsx', 'ts', 'tsx'].includes(ext)) {
|
|
99
|
+
annotator = reactAnnotator;
|
|
100
|
+
} else if (['html', 'htm'].includes(ext)) {
|
|
101
|
+
annotator = htmlAnnotator;
|
|
102
|
+
}
|
|
103
|
+
if (annotator) {
|
|
104
|
+
return annotateFile(filePath, inputDir, outputDir, annotator, logger, options);
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
return _.compact(result);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
async function annotateDir(inputDir, outputDir, logger = console, options = {}) {
|
|
111
|
+
logger.debug('[annotator] annotating dir', { inputDir });
|
|
112
|
+
const filePaths = await readDirRec(inputDir, {
|
|
113
|
+
filter: (filePath, stats) => {
|
|
114
|
+
const p = path.parse(filePath);
|
|
115
|
+
const fileName = p.name;
|
|
116
|
+
const dirName = p.dir;
|
|
117
|
+
const ext = path.extname(filePath).substring(1);
|
|
118
|
+
return (
|
|
119
|
+
!filePath.startsWith('.') &&
|
|
120
|
+
!filePath.includes('node_modules') &&
|
|
121
|
+
(!stats.isFile() ||
|
|
122
|
+
(FILE_TYPES.includes(ext) &&
|
|
123
|
+
!['config', '_config'].includes(fileName) &&
|
|
124
|
+
!_.some(LOADER_EXCLUDED_FILES, (f) => filePath.endsWith(f)) &&
|
|
125
|
+
!_.some(LOADER_EXCLUDED_DIRS, (f) => dirName.endsWith(f)) &&
|
|
126
|
+
!fileName.includes('webpack')))
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
return annotateFiles(filePaths, inputDir, outputDir, logger, options);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
if (require.main === module) {
|
|
134
|
+
annotateDir([process.argv[2]], process.argv[3]);
|
|
135
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
const _ = require('lodash');
|
|
4
|
+
|
|
5
|
+
const parser = require('@babel/parser');
|
|
6
|
+
const traverse = require('@babel/traverse');
|
|
7
|
+
|
|
8
|
+
const utils = require('../utils');
|
|
9
|
+
|
|
10
|
+
async function createAnnotations(filePath, data, logger) {
|
|
11
|
+
if (!utils.isRelevantReactData(data)) {
|
|
12
|
+
// not suitable for react parsing, stop quickly
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
let ast;
|
|
16
|
+
try {
|
|
17
|
+
// See https://astexplorer.net for example parser output
|
|
18
|
+
ast = parser.parse(data, {
|
|
19
|
+
sourceType: 'module',
|
|
20
|
+
plugins: ['jsx', 'typescript', 'classProperties'],
|
|
21
|
+
ranges: true
|
|
22
|
+
});
|
|
23
|
+
} catch (err) {
|
|
24
|
+
logger.warn('[annotator] error parsing react file', {filePath, err});
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
let foundReact = false;
|
|
28
|
+
const annotations = [];
|
|
29
|
+
traverse.default(ast, {
|
|
30
|
+
ImportDeclaration(path) {
|
|
31
|
+
if (!foundReact) {
|
|
32
|
+
foundReact = _.get(path, 'node.source.value', '').trim().toLowerCase() === 'react';
|
|
33
|
+
}
|
|
34
|
+
path.skip();
|
|
35
|
+
},
|
|
36
|
+
JSXElement(path) {
|
|
37
|
+
const children = path.node.children;
|
|
38
|
+
const elementName = _.get(path, 'node.openingElement.name.name');
|
|
39
|
+
if (!children || !path.node.loc || !elementName) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
annotations.push({
|
|
43
|
+
sourceLocation: path.node.loc,
|
|
44
|
+
insertOffset: _.get(path, 'node.openingElement.name.end')
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
if (!foundReact || _.isEmpty(annotations)) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
return annotations;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
module.exports = {
|
|
55
|
+
createAnnotations
|
|
56
|
+
};
|
package/src/consts.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
SIMPLE_VALUE_FIELDS: ['string', 'text', 'markdown', 'number', 'url', 'slug', 'boolean', 'date', 'datetime', 'color'],
|
|
3
|
+
RICH_TEXT_HINT_MAX_LENGTH: 200,
|
|
4
|
+
RICH_TEXT_NODE_TYPES: {
|
|
5
|
+
DOCUMENT: 'document',
|
|
6
|
+
PARAGRAPH: 'p',
|
|
7
|
+
HEADING_1: 'h1',
|
|
8
|
+
HEADING_2: 'h2',
|
|
9
|
+
HEADING_3: 'h3',
|
|
10
|
+
HEADING_4: 'h4',
|
|
11
|
+
HEADING_5: 'h5',
|
|
12
|
+
HEADING_6: 'h6',
|
|
13
|
+
OL: 'ol',
|
|
14
|
+
UL: 'ul',
|
|
15
|
+
LIST_ITEM: 'li',
|
|
16
|
+
HR: 'hr',
|
|
17
|
+
BLOCKQUOTE: 'blockquote',
|
|
18
|
+
LINK: 'a',
|
|
19
|
+
REFERENCE: 'reference'
|
|
20
|
+
},
|
|
21
|
+
RICH_TEXT_MARK_TYPES: {
|
|
22
|
+
BOLD: 'bold',
|
|
23
|
+
ITALIC: 'italic',
|
|
24
|
+
UNDERLINE: 'underline',
|
|
25
|
+
CODE: 'code'
|
|
26
|
+
},
|
|
27
|
+
LOADER_EXCLUDED_FILES: [
|
|
28
|
+
'LICENSE.md',
|
|
29
|
+
'README.md',
|
|
30
|
+
'README.theme.md',
|
|
31
|
+
'CONTRIBUTING.md',
|
|
32
|
+
'CHANGELOG.md',
|
|
33
|
+
'stackbit.yaml',
|
|
34
|
+
'netlify.toml',
|
|
35
|
+
'theme.toml',
|
|
36
|
+
'package.json',
|
|
37
|
+
'package-lock.json',
|
|
38
|
+
'yarn-lock.json'
|
|
39
|
+
],
|
|
40
|
+
LOADER_EXCLUDED_DIRS: ['src/pages']
|
|
41
|
+
};
|