Question:
How can I take a list of paths to files Array<string>
:
// ['apps/morningharwood/src/app/app.component.ts',
// 'apps/morningharwood/src/app/app-shell/app-shell.component.ts']
And for each path, call a static method on them ref.SomeStaticMethod()
in node?
Note: I'm using typescript for node (if that matters) AND windows 10.
async function prePublish() {
const componentPaths = await globby('apps/morningharwood/src/app/**/*.component.ts');
const dirPaths = componentPaths.map(i => `./${i.split('.ts')[ 0 ]}`);
console.log(dirPaths);
/**
* Logs out this
* [ './apps/morningharwood/src/app/app.component',
* './apps/morningharwood/src/app/app-shell/app-shell.component' ]
*/
const ref = await import('./apps/morningharwood/src/app/app.component');
const ref2 = await import('./apps/morningharwood/src/app/app-shell/app-shell.component');
console.log(ref, ref2); // WORKS AS INTENDED
for (const dp of dirPaths) {
console.log(dp); // ./apps/morningharwood/src/app/app.component
const ref3 = await import(dp); // ERROR?
console.log(ref); // Never runs.
}
}
prepublish();
Full error stacktrace:
./apps/morningharwood/src/app/app.component
Unhandled Promise rejection: Cannot find module './apps/morningharwood/src/app/app.component' ; Zone: <root> ; Task: Promise.then ; Value: { Error: Cannot find module './apps/morningharwood/src/app/app.component'
at webpackEmptyContext (webpack:///._sync?:2:10)
at eval (webpack:///./prerender.ts?:126:126)
at ZoneDelegate.invoke (webpack:///./node_modules/zone.js/dist/zone-node.js?:387:26)
at Zone.run (webpack:///./node_modules/zone.js/dist/zone-node.js?:137:43)
at eval (webpack:///./node_modules/zone.js/dist/zone-node.js?:871:34)
at ZoneDelegate.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:420:31)
at Zone.runTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:187:47)
at drainMicroTaskQueue (webpack:///./node_modules/zone.js/dist/zone-node.js?:594:35)
at ZoneTask.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:499:21)
at ZoneTask.invoke (webpack:///./node_modules/zone.js/dist/zone-node.js?:484:48) code: 'MODULE_NOT_FOUND' } Error: Cannot find module './apps/morningharwood/src/app/app.component'
at webpackEmptyContext (webpack:///._sync?:2:10)
at eval (webpack:///./prerender.ts?:126:126)
at ZoneDelegate.invoke (webpack:///./node_modules/zone.js/dist/zone-node.js?:387:26)
at Zone.run (webpack:///./node_modules/zone.js/dist/zone-node.js?:137:43)
at eval (webpack:///./node_modules/zone.js/dist/zone-node.js?:871:34)
at ZoneDelegate.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:420:31)
at Zone.runTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:187:47)
at drainMicroTaskQueue (webpack:///./node_modules/zone.js/dist/zone-node.js?:594:35)
at ZoneTask.invokeTask (webpack:///./node_modules/zone.js/dist/zone-node.js?:499:21)
at ZoneTask.invoke (webpack:///./node_modules/zone.js/dist/zone-node.js?:484:48)