Skip to content

Private class fields break build #499

@dominiklessel

Description

@dominiklessel

I have a project, which uses hapi. With their latest 19.x release they dropped support for node 10 and make use of for example private class fields, which now breaks my ncc build :

> ncc build

ncc: Version 0.20.5
ncc: Compiling file index.js
Error: Module parse failed: Unexpected character '#' (17:4)
File was processed with these loaders:
 * ./node_modules/@zeit/ncc/dist/ncc/loaders/empty-loader.js
 * ./node_modules/@zeit/ncc/dist/ncc/loaders/relocate-loader.js
 * ./node_modules/@zeit/ncc/dist/ncc/loaders/shebang-loader.js
You may need an additional loader to handle the result of these loaders.
| exports = module.exports = internals.Auth = class {
| 
>     #core = null;
|     #schemes = {};
|     #strategies = {};
Module parse failed: Unexpected token (51:12)
File was processed with these loaders:
 * ./node_modules/@zeit/ncc/dist/ncc/loaders/empty-loader.js
 * ./node_modules/@zeit/ncc/dist/ncc/loaders/relocate-loader.js
 * ./node_modules/@zeit/ncc/dist/ncc/loaders/shebang-loader.js
You may need an additional loader to handle the result of these loaders.
| exports = module.exports = internals.Core = class {
| 
>     actives = new WeakMap();                                                   // Active requests being processed
|     app = {};
|     auth = new Auth(this);
Module parse failed: Unexpected token (12:9)
File was processed with these loaders:
 * ./node_modules/@zeit/ncc/dist/ncc/loaders/empty-loader.js
 * ./node_modules/@zeit/ncc/dist/ncc/loaders/relocate-loader.js
 * ./node_modules/@zeit/ncc/dist/ncc/loaders/shebang-loader.js
You may need an additional loader to handle the result of these loaders.
| exports = module.exports = internals.Ext = class {
| 
>     type = null;
|     nodes = null;
| 
Module parse failed: Unexpected token (246:10)
File was processed with these loaders:
 * ./node_modules/@zeit/ncc/dist/ncc/loaders/empty-loader.js
 * ./node_modules/@zeit/ncc/dist/ncc/loaders/relocate-loader.js
 * ./node_modules/@zeit/ncc/dist/ncc/loaders/shebang-loader.js
You may need an additional loader to handle the result of these loaders.
| exports.ValidationError = class extends Error {
| 
>     isJoi = true;
|     name = 'ValidationError';
| 
Module parse failed: Unexpected character '#' (8:4)
File was processed with these loaders:
 * ./node_modules/@zeit/ncc/dist/ncc/loaders/empty-loader.js
 * ./node_modules/@zeit/ncc/dist/ncc/loaders/relocate-loader.js
 * ./node_modules/@zeit/ncc/dist/ncc/loaders/shebang-loader.js
You may need an additional loader to handle the result of these loaders.
| exports.Team = internals.Team = class {
| 
>     #meetings = null;
|     #count = null;
|     #notes = null;
    at evalmachine.<anonymous>:1:1501918
    at eval (eval at create (evalmachine.<anonymous>:1:273391), <anonymous>:13:1)
    at processTicksAndRejections (internal/process/task_queues.js:94:5)

Please see their changelogs:

Is there any way around it?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions