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..
Hello! I have a question regarding the _spryker/state-machine_ package. In version 2.15.1 the _pack
Hello!
I have a question regarding the spryker/state-machine package. In version 2.15.1 the package-lock.json in assets/Zed got removed. Please note that version 2.15.0 still has it. This change causes the vendor/bin/console frontend:zed:install-dependencies command to fail with an exception when installing the dependencies in "/data/vendor/spryker/state-machine/assets/Zed" (cipm can only install packages with an existing package-lock.json or npm-shrinkwrap.json with lockfileVersion >= 1. Run an install with npm@5 or later to generate it, then try again).
Therefore, there is a PATCH update from version 2.15.0 to 2.15.1 that has a breaking change which caused our pipeline and subsequently deploy to start failing after this small update.
I see this as a problem and a violation of Semantic Versioning.
How can it be fixed? Is there a better place to report this issue?
Thanks!
https://github.com/spryker/state-machine/commit/89daede7e09d26a7aa7eb83ad683dbb04a6e71b7
Comments
-
This release was a part of https://api.release.spryker.com/release-group/4173.
One can argue if this should be a major version or not probably.
To fix this, please roll back the change or migrate from Yarn to NPM.0 -
Thank you for your answer, @valerii.trots!
I don't believe there is an argument here.
Spryker's documentation clearly states that "The Spryker Commerce OS versioning of modules relies on the semantic versioning approach, which implies a clear set of rules and requirements that dictate how version numbers are assigned and incremented." (https://docs.spryker.com/docs/scos/dev/architecture/module-api/semantic-versioning-major-vs.-minor-vs.-patch-release.html).
Removing an asset is considered as a non-backward-compatible change and therefore requires a major version.
I would like to report this violation and ask for a fix. Can you please let me know can I do that?
Thank you!
0 -
Didn't find anything about assets in mentioned document. But I'm not a dev, sorry if I don't get obvious for devs things.
@UN6T8SEM7 are you able to take a look and express your opinion here? π0 -
The specific place where this is mentioned and where the violation occurs is in https://docs.spryker.com/docs/scos/dev/architecture/module-api/declaration-of-module-apis-public-and-private.html#public-api ("In general, there is a BC break whenever an existing contract is changed. A contract is what the user of the API expects. This includes the signature of methods as well as the expected behavior.").
The expected behavior of the Spryker\Zed\SetupFrontend\Business\SetupFrontendFacadeInterface's installZedDependencies method is broken since it states that "Installs needed Zed dependencies.". However, migrating from 2.15.0 to 2.15.1 for the state-machine package causes this method to not behave as expected since it locates the json file that got removed, thus making that removal backward INcompatible.
0 -
From one perspective we donβt have an agreement on frontend public API for Zed, but from another - itβs a BC break in a patch release, so I assume it have to be a major or a minor with migration guide. I think @UQRP02SP2 was taking care about this release, so maybe he has some insights.
0 -
We discussed this internally and came to the conclusion that those files should be left for BC. We will prepare patch releases shortly to bring them back for all those modules.
Thank you for bringing this BC break to our attention.0 -
Thank you!
0 -
Please check if https://api.release.spryker.com/release-group/4354 solves it for you.
0 -
It does! Thank you for addressing this in such a short time! π
0 -
Seems to be a similar issue on my side
[info] Install dependencies in β/data/vendor/spryker/gui/assets/Zedβ
[info] npm ERR! cipm can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file withnpm install
before continuing.
npm ERR!
[info]
npm ERR!
npm ERR! Missing: autonumeric@~4.6.0
npm ERR!Seems to be autonumeric package was added in spryker/gui in version 3.45.0 two days ago β¦ any idea?
0 -
Okay, package-lock.json does not seem to include the new autonumeric package β¦ i think it was just missed to generate the package.lock again.
I successfully tried to execute npm install in the spryker/gui vendor folder and it did the trick. Should i create a ticket?
0
Categories
- All Categories
- 42 Getting Started & Guidelines
- 7 Getting Started in the Community
- 8 Additional Resources
- 7 Community Ideas and Feedback
- 76 Spryker News
- 929 Developer Corner
- 787 Spryker Development
- 89 Spryker Dev Environment
- 362 Spryker Releases
- 3 Oryx frontend framework
- 35 Propel ORM
- 68 Community Projects
- 3 Community Ideation Board
- 30 Hackathon
- 3 PHP Bridge
- 6 Gacela Project
- 26 Job Opportunities
- 3.2K π Slack Archives
- 116 Academy
- 5 Business Users
- 370 Docker
- 551 Slack General
- 2K Help
- 75 Knowledge Sharing
- 6 Random Stuff
- 4 Code Testing
- 32 Product & Business Questions
- 70 Spryker Safari Questions
- 50 Random