liferay / liferay-frontend-projects

A monorepo containing assorted Frontend Infrastructure Team projects
Other
69 stars 69 forks source link

Add support for the workspaces folder in liferay-npm-scripts #1056

Closed allen-ziegenfus closed 1 year ago

allen-ziegenfus commented 1 year ago

Currently liferay-npm-scripts cannot be used in the liferay-portal workspaces folder.

izaera commented 1 year ago

Mmm, IINM it will never be, since it targets the liferay-portal build and that's quite different from Workspace builds.

In other words, if we want to make npm-scripts work in both environments we would have to fork constantly between two very different configurations.

Can you describe why you need to use npm-scripts inside Worspaces?

bryceosterhaus commented 1 year ago

@izaera, sorry I should have added some follow up here. I talked to Allen on Slack. The primary need here is to support SF on the workspaces directory, which now includes JS and CSS resources. So really we just need to add support for format and lint, which I think we might be able to explicitly include the workspaces path to check

izaera commented 1 year ago

Mmm, in that case, perhaps we could do something similar to what the Workspace does: modularizing the npm-scripts commands (the same way the Workspace reuses the gradle plugins from liferay-portal).

That way, we can separate agnostic code from liferay-portal code, instead of having a mixed codebase where we have to be constantly aware of what platform the code is running in.

Of course, if we decide to do that we need to first think how, since we don't have any equivalent of gradle plugins, but if we will be starting with SF and because that's implemented by eslint, it may be easy :crossed_fingers: .

bryceosterhaus commented 1 year ago

yeah thats probably a good idea to modularize it. Another option here is to use this as an excuse to try moving npm-scripts inside of portal

bryceosterhaus commented 1 year ago

we added it to workspaces for formatting https://github.com/liferay/liferay-portal/blob/master/workspaces/package.json#L8