MCPcopy
hub / github.com/emberjs/ember.js / processModule

Function processModule

types/publish.mjs:222–252  ·  view source on GitHub ↗

Load the module, rewrite it, and write it back to disk. @param {string} moduleName @return {Promise<'success' | 'failure'>}

(moduleName)

Source from the content-addressed store, hash-verified

220 @return {Promise<'success' | 'failure'>}
221 */
222async function processModule(moduleName) {
223 let modulePath = path.join(TYPES_DIR, moduleName);
224
225 /** @type {string} */
226 let contents;
227 try {
228 contents = await fs.readFile(modulePath, { encoding: 'utf-8' });
229 } catch (e) {
230 console.error(`Error reading ${modulePath}: ${e}`);
231 return 'failure';
232 }
233
234 let moduleNameForDeclaration = moduleName.replace('/index.d.ts', '');
235
236 let rewrittenModule;
237 try {
238 rewrittenModule = rewriteModule(contents, moduleNameForDeclaration);
239 } catch (e) {
240 console.error(`Error rewriting ${moduleName}`, e);
241 return 'failure';
242 }
243
244 try {
245 await fs.writeFile(modulePath, rewrittenModule);
246 } catch (e) {
247 console.error(`Error writing ${modulePath}: ${e}`);
248 return 'failure';
249 }
250
251 return 'success';
252}
253
254/**
255 Rewrite a given module declaration:

Callers

nothing calls this directly

Calls 4

rewriteModuleFunction · 0.85
joinMethod · 0.80
errorMethod · 0.65
replaceMethod · 0.65

Tested by

no test coverage detected