Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build command is broken with @nrwl/workspace >= 13.10.0 #48

Closed
hendrickson-tyler opened this issue Apr 13, 2022 · 17 comments
Closed

Build command is broken with @nrwl/workspace >= 13.10.0 #48

hendrickson-tyler opened this issue Apr 13, 2022 · 17 comments

Comments

@hendrickson-tyler
Copy link

When running the build command through NX when @nrwl/workspace is installed with a version of 13.10.0 or greater, the following error occurs:

assets_1.copyAssetFiles is not a function

It seems as though the copyAssetFiles function was removed from @nrwl/workspace/src/utilities/assets in 13.10.0, looking at this commit. I'm not sure if this is an intentional change on their part; I can't seem to find any notes on it.

Tested with both 13.10.0 and 13.10.1 (the latest at time of writing). This doesn't appear to be addressed as part of #45, so I figured I would open a separate issue for this.

@pascalbe-humanize
Copy link

I can reproduce this error.

@anandsathe67
Copy link

Changing line 74 of src/executors/build/build.js to
yield Promise.all(normalizedOptions.files.map((file) => copy(file.input, file.output)));
instead of
assets_1.copyAssetFiles ....
and adding an import
const { copy } = require("fs-extra/lib/copy");

fixes this issue

@anandsathe67
Copy link

anandsathe67 commented Apr 15, 2022

@simondotm+nx-firebase+0.3.3.patch.txt

This is a cumulative patch for this issue and #44

@anandsathe67
Copy link

@simondotm @BraunreutherA please review

@drmikecrowe
Copy link

drmikecrowe commented Apr 16, 2022

So, does nrwl/nx#9086 break a bunch of stuff here? I was trying to run on 13.10, but I'm thinking there are some major changes needed?

What versions of nx can we lock down to still use this plugin?

@anandsathe67
Copy link

@drmikecrowe Am using 13.10.2 - other than a patch for this plugin and switching over to using the js:tsc executor instead of the package executor, things work ok

@drmikecrowe
Copy link

@anandsathe67 -- see https://gist.github.com/drmikecrowe/8bcfc88a0ee29d6c3535e6460c014144 -- with the recent #45, I don't think the patch is needed now. However, I'm still getting problems (yeah, this should have gone on #44, sorry).

Regarding your executor change, do you mean:

"executor": "@simondotm/nx-firebase:build",

to

"executor": "@nrwl/js:tsc",

?

@anandsathe67
Copy link

@anandsathe67 -- see https://gist.github.com/drmikecrowe/8bcfc88a0ee29d6c3535e6460c014144 -- with the recent #45, I don't think the patch is needed now. However, I'm still getting problems (yeah, this should have gone on #44, sorry).

Regarding your executor change, do you mean:

"executor": "@simondotm/nx-firebase:build",

to

"executor": "@nrwl/js:tsc",

?

@nrwl/node:package -> @nrwl/js:tsc.

I was using this executor in my workspace json and hence had to make the change when I migrated to nx 13.x
Not sure why patch-package is telling you the patch isnt required. The issues you are seeing in your gist are the ones which the patch (which I had earlier uploaded to #44) includes. I did not see this when i applied it to #45 - the patch did get applied

@simondotm
Copy link
Owner

I've been reviewing the latest nx code for 13.10.x this afternoon and it seems there's been a fair few changes since I last released this plugin against nx 12.x

Most significantly they've merged the node:package functionality into the js:tsc package so I'm going to need to take a good look over that to bring the plugin code upto spec with the latest nx code.

The patches and comments above have been really useful, thanks everyone.

That said, I dont (yet) see how I can use them in the plugin source code - it really feels like I need to update the plugin to use the latest nx plugin apis, so thats what'll I'm doing atm.

@hendrickson-tyler
Copy link
Author

@simondotm+nx-firebase+0.3.3.patch.txt

This is a cumulative patch for this issue and #44

Thanks @anandsathe67, the patch works beautifully! Looking forward to an official fix, thanks to everyone contributing to this.

@adamstret
Copy link

adamstret commented Aug 15, 2022

@anandsathe67 can you please share with us how to apply the patch? Do I just drop that txt file somewhere in the node_modules in the project? Or do I have to run it somehow? Thanks.

ALSO, PLEASE SHARE:
petition for an official Firebase/Nx plugin

@anandsathe67
Copy link

@anandsathe67 can you please share with us how to apply the patch? Do I just drop that txt file somewhere in the node_modules in the project? Or do I have to run it somehow? Thanks.

ALSO, PLEASE SHARE: petition for an official Firebase/Nx plugin

Hi - please see https://www.npmjs.com/package/patch-package - since I have already generated the package you could download it - rename it appropriately and use it. You will have to make the modifications to package.json and install patch_package though as mentioned in the link. Hope that helps

@adamstret
Copy link

@anandsathe67 way too complicated for me :( guess I will have to wait until this plugin gets fixed, or until some good soul forks & fixes it... :(

@snorreks
Copy link

snorreks commented Sep 4, 2022

Just created a package to help with deploying cloud functions for firebase https://www.npmjs.com/package/nx-cloud-functions-deployer.
It is heavy opinionated with how you structure the project, but with this approach each function will have separate index file that will reduce size (by using esbuild). Feedback and help would be appreciated 👍

@dkhunt27
Copy link

what I did to get anandsathe67 patch-package working:

  • Create a new folder in your project called "patches" as a sibling/same level as node_modules
  • Download the patch file listed above @simondotm+nx-firebase+0.3.3.patch.txt to /patches/@simondotm+nx-firebase+0.3.3.patch (notice dropped ".txt")
  • yarn add patch-package -D
  • add "postinstall": "patch-package" to the package.json scripts section
  • run yarn install

now whenever you run yarn install, you should see in the output something from patch-package like so

yarn install v1.22.15
[1/4] 🔍 Resolving packages...
success Already up-to-date.
$ patch-package
patch-package 6.4.7
Applying patches...
@simondotm/nx-firebase@0.3.3 ✔
✨ Done in 1.40s.

@simondotm
Copy link
Owner

This appears to be fixed in v0.3.4, tested running in Nx 13.10.6

@hendrickson-tyler
Copy link
Author

@simondotm Can confirm, the build command is working for me too with Nx 15.2.3. Thanks for the fix!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants