MCPcopy Index your code
hub / github.com/subquery/subql / prepareManifest

Function prepareManifest

packages/cli/src/controller/init-controller.ts:232–266  ·  view source on GitHub ↗
(projectPath: string, project: ProjectSpecBase)

Source from the content-addressed store, hash-verified

230}
231
232export async function prepareManifest(projectPath: string, project: ProjectSpecBase): Promise<void> {
233 //load and write manifest(project.ts/project.yaml)
234 const tsPath = defaultTSManifestPath(projectPath);
235 const yamlPath = defaultYamlManifestPath(projectPath);
236 let manifestData: string;
237
238 const isTs = fs.existsSync(tsPath);
239
240 if (isTs) {
241 const tsManifest = (await fs.promises.readFile(tsPath, 'utf8')).toString();
242 //adding env config for endpoint.
243 const formattedEndpoint = `process.env.ENDPOINT!?.split(',') as string[] | string`;
244 const endpointUpdatedManifestData = findReplace(tsManifest, ENDPOINT_REG, `endpoint: ${formattedEndpoint}`);
245 const chainIdUpdatedManifestData = findReplace(
246 endpointUpdatedManifestData,
247 CHAIN_ID_REG,
248 `chainId: process.env.CHAIN_ID!`
249 );
250 manifestData = addDotEnvConfigCode(chainIdUpdatedManifestData);
251 } else {
252 //load and write manifest(project.yaml)
253 const yamlManifest = await fs.promises.readFile(yamlPath, 'utf8');
254 const data = parseDocument(yamlManifest);
255 const clonedData = data.clone();
256
257 const network = clonedData.get('network') as YAMLMap;
258 network.set('endpoint', project.endpoint);
259 clonedData.set('name', project.name);
260 if (isProjectSpecV1_0_0(project)) {
261 network.set('chainId', project.chainId);
262 }
263 manifestData = clonedData.toString();
264 }
265 await fs.promises.writeFile(isTs ? tsPath : yamlPath, manifestData, 'utf8');
266}
267
268export function addDotEnvConfigCode(manifestData: string): string {
269 // add dotenv config after imports in project.ts file

Callers 2

prepareFunction · 0.85

Calls 8

defaultTSManifestPathFunction · 0.90
defaultYamlManifestPathFunction · 0.90
findReplaceFunction · 0.90
isProjectSpecV1_0_0Function · 0.90
addDotEnvConfigCodeFunction · 0.85
cloneMethod · 0.80
getMethod · 0.65
setMethod · 0.65

Tested by

no test coverage detected