What are the Slack Archives?

It’s a history of our time together in the Slack Community! There’s a ton of knowledge in here, so feel free to search through the archives for a possible answer to your question.

Because this space is not active, you won’t be able to create a new post or comment here. If you have a question or want to start a discussion about something, head over to our categories and pick one to post in! You can always refer back to a post from Slack Archives if needed; just copy the link to use it as a reference..

Hi there, I'm currently upgrading the `spryker/discount` module and therefore need also to upgrade t

U018XELUZS9
U018XELUZS9 Posts: 167 🧑🏻‍🚀 - Cadet
edited December 2021 in Help

Hi there, I'm currently upgrading the spryker/discount module and therefore need also to upgrade the spryker/gui module. The command to build the frontend is failing now after the upgrade:

$ docker/sdk cli npm run zed:build
[...]
♈  @spryker/oryx 1.4.0
♈  @spryker/oryx 1.4.0
♈  @spryker/oryx-for-zed 2.8.1
[...]
build
● using webpack 4.41.6
● building assets...
● webpack output:

ERROR in ./vendor/spryker/discount/assets/Zed/js/modules/main.js 64:53
Module parse failed: Unexpected token (64:53)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See <https://webpack.js.org/concepts#loaders>
|     var $inputTo = $('#discount_discountGeneral_valid_to');
|     var defaultDateFormat = 'd.m.Y H:i';


| var inputToFormat = $inputTo.data('format') ?? defaultDateFormat; | @ ./vendor/spryker/discount/assets/Zed/js/spryker-zed-discount-main.entry.js 8:0-25 ✘ build failed

I didn't find anything in the docs regarding this. What is the best solution for this problem? Do we need to upgrade our nodejs version? Or use a babel plugin like babel/plugin-proposal-nullish-coalescing-operator (docs) in our project?

Comments

  • U018XELUZS9
    U018XELUZS9 Posts: 167 🧑🏻‍🚀 - Cadet

    more info: zed:build is a npm script which executes node ./frontend/build-zed

    The file build-zed.js looks like this:

    'use strict';
    
    const oryx = require('@spryker/oryx');
    
    const api = require('@spryker/oryx-for-zed/lib');
    const path = require('path');
    
    const customSettings = Object.assign({}, api.settings,{
        entry: {
            dirs: [path.resolve('./vendor/spryker'), path.resolve('./assets'), path.resolve('./vendor/spryker-eco')],
            patterns: ['**/Zed/**/*.entry.js'],
            description: 'looking for entry points...',
            defineName: p => path.basename(p, '.entry.js')
        },
        module: {
            rules: [
                {
                    test: /\.m?js$/,
                    exclude: /(node_modules|bower_components)/,
                    use: {
                        loader: 'babel-loader',
                        options: {
                            presets: ['@babel/preset-env'],
                            plugins: ['@babel/plugin-proposal-nullish-coalescing-operator']
                        }
                    }
                }
            ]
        }
    });
    
    api.getConfiguration(customSettings)
        .then(configuration => oryx.build(configuration))
        .catch(error => console.error('An error occurred while creating configuration', error));
    

    I already tried to add the babel-loader for js files and use the mentioned plugin here, but the error is still there.