mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
* ACS-5041 Changed json to js * ACS-5041 Corrected paths * ACS-5041 Changed json to js * ACS-5041 Updated eslintrc * ACS-5041 Small correction * ACS-5041 Small correction * ACS-5041 Updated license headers * ACS-5041 Updated license headers * ACS-5041 Replaced references to alfresco * ACS-5041 Added Hyland to known words * ACS-5041 Fixed coverage issue * ACS-5041 Fixed duplication issue * ACS-5041 Fixed duplications issue * ACS-5041 Fixed duplications issue * ACS-5041 Fixed duplications issue * ACS-5041 Fixed duplications issue * ACS-5041 Fixed duplications issue * ACS-5041 Fixed duplications issue * ACS-5041 Fixed duplications issue * ACS-5041 Fixed duplications issue * ACS-5041 Fixed test * ACS-5041 Fixed test * ACS-5041 Reverted one change * ACS-5041 Added missing license to files after rebase
92 lines
3.0 KiB
TypeScript
92 lines
3.0 KiB
TypeScript
/*!
|
|
* @license
|
|
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
import * as fs from 'fs';
|
|
import * as path from 'path';
|
|
import * as ejs from 'ejs';
|
|
import * as remark from 'remark';
|
|
import * as frontMatter from 'remark-frontmatter';
|
|
import * as replaceZone from 'mdast-zone';
|
|
import { graphql, buildSchema } from 'graphql';
|
|
import * as MQ from '../mqDefs';
|
|
|
|
const libNamesList = [
|
|
'content-services', 'core', 'extensions',
|
|
'insights', 'process-services', 'process-services-cloud'
|
|
];
|
|
|
|
const query = `
|
|
query libIndex($libName: String) {
|
|
documents(idFilter: $libName) {
|
|
title: metadata(key: "Title")
|
|
status: metadata(key: "Status")
|
|
id
|
|
classType: folder(depth: 2)
|
|
heading {
|
|
link {
|
|
url
|
|
}
|
|
}
|
|
paragraph {
|
|
plaintext
|
|
}
|
|
}
|
|
}
|
|
`;
|
|
|
|
export function processDocs(mdCache, aggData) {
|
|
const docset: MQ.Docset = new MQ.Docset(mdCache);
|
|
|
|
const templateFilePath = path.resolve(__dirname, '..', 'templates', 'gqIndex.ejs');
|
|
const templateSource = fs.readFileSync(templateFilePath, 'utf8');
|
|
const template = ejs.compile(templateSource);
|
|
|
|
const indexFilePath = path.resolve(aggData['rootFolder'], 'docs', 'README.md');
|
|
const indexFileText = fs.readFileSync(indexFilePath, 'utf8');
|
|
const indexMD = remark()
|
|
.use(frontMatter, ['yaml'])
|
|
.parse(indexFileText);
|
|
|
|
const schema = buildSchema(MQ.schema);
|
|
|
|
libNamesList.forEach(libName => {
|
|
graphql(schema, query, docset, null, {'libName': libName})
|
|
.then((response) => {
|
|
if (!response['data']) {
|
|
console.log(JSON.stringify(response));
|
|
} else {
|
|
// console.log(template(response['data']));
|
|
const newSection = remark().parse(template(response['data'])).children;
|
|
|
|
replaceZone(indexMD, libName, (start, _oldZone, end) => {
|
|
newSection.unshift(start);
|
|
newSection.push(end);
|
|
return newSection;
|
|
});
|
|
|
|
const outText = remark()
|
|
.use(frontMatter, {type: 'yaml', fence: '---'})
|
|
.data('settings', {paddedTable: false, gfm: false})
|
|
.stringify(indexMD);
|
|
|
|
fs.writeFileSync(indexFilePath, outText);
|
|
}
|
|
});
|
|
});
|
|
|
|
}
|