collaborationFactory/cplace-asc

Error when a plugin has an empty assets/less folder

Closed this issue · 0 comments

When a plugin has an empty assets/less folder, compilation fails.

✗ [cf.cplace.projectplanning.testAll] cannot determine path to LESS entry file
C:\Users\csemrau\AppData\Roaming\npm\node_modules\@cplace\asc\dist\compiler\index.js:70
            throw Error(e);
            ^

Error: Error: [cf.cplace.projectplanning.testAll] cannot determine path to LESS entry file
    at handleRequest (C:\Users\csemrau\AppData\Roaming\npm\node_modules\@cplace\asc\dist\compiler\index.js:70:19)
    at process.<anonymous> (C:\Users\csemrau\AppData\Roaming\npm\node_modules\@cplace\asc\dist\compiler\index.js:18:9)
    at process.emit (events.js:200:13)
    at emit (internal/child_process.js:876:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:9)

Similarly, when the assets/ts folder exsists but is empty, compilation fails.

⟲ [cf.cplace.projectplanning.testAll] starting cplace TypeScript (UI) compilation...
⇢ [cf.cplace.projectplanning.testAll] cplace TypeScript (UI) compiled, starting bundling... (00m00s)
C:\Users\csemrau\AppData\Roaming\npm\node_modules\@cplace\asc\dist\compiler\CplaceTypescriptCompiler.js:57
                    throw Error(stats.toString());
                    ^

Error: Hash: 46fa71a0dd4b5984d17a
Version: webpack 4.35.3
Time: 10ms
Built at: 2019-07-16 14:39:38

ERROR in Entry module not found: Error: Can't resolve './app.js' in 'C:\dev\cplace\repos\cplace-project-planning\cf.cplace.projectplanning.testAll\assets\generated_js'
    at C:\Users\csemrau\AppData\Roaming\npm\node_modules\@cplace\asc\dist\compiler\CplaceTypescriptCompiler.js:57:27
    at finalCallback (C:\Users\csemrau\AppData\Roaming\npm\node_modules\@cplace\asc\node_modules\webpack\lib\Compiler.js:220:39)
    at C:\Users\csemrau\AppData\Roaming\npm\node_modules\@cplace\asc\node_modules\webpack\lib\Compiler.js:269:14
    at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\csemrau\AppData\Roaming\npm\node_modules\@cplace\asc\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
    at AsyncSeriesHook.lazyCompileHook (C:\Users\csemrau\AppData\Roaming\npm\node_modules\@cplace\asc\node_modules\tapable\lib\Hook.js:154:20)
    at C:\Users\csemrau\AppData\Roaming\npm\node_modules\@cplace\asc\node_modules\webpack\lib\Compiler.js:267:22
    at Compiler.emitRecords (C:\Users\csemrau\AppData\Roaming\npm\node_modules\@cplace\asc\node_modules\webpack\lib\Compiler.js:449:39)
    at C:\Users\csemrau\AppData\Roaming\npm\node_modules\@cplace\asc\node_modules\webpack\lib\Compiler.js:261:10
    at C:\Users\csemrau\AppData\Roaming\npm\node_modules\@cplace\asc\node_modules\webpack\lib\Compiler.js:435:14
    at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\csemrau\AppData\Roaming\npm\node_modules\@cplace\asc\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)

What is the current condition which makes cplace-asc try to compile LESS resp. TS? The mere existence of the folder? My understanding is that in order to successfully compile LESS or TS, files of specific names must exist in the plugin. Why not make those files a marker, instead of checking the folder?