| 31 Jul 2023 |
Lily Foster | I wonder if we should support caching from multiple lockfiles | 20:31:55 |
dotlambda | In reply to @lily:lily.flowers If you really are needing deps from both in the same cache Webpack (from /packages/pyright/package.json) needs glob (from /package.json). No idea why it's not automatically included as a dependency of the former | 20:50:34 |
gdamjan | In reply to @hexa:lossy.network cc gdamjan they want the package.json this Martin guy lied me | 20:52:01 |
Lily Foster | In reply to @robert:funklause.de Webpack (from /packages/pyright/package.json) needs glob (from /package.json). No idea why it's not automatically included as a dependency of the former Because lerna is hell | 20:53:56 |
Lily Foster | Wait you need from two package-lock.json files right? Two package.json files is normal for monorepos with npm workspaces or something | 20:54:40 |
dotlambda | In reply to @lily:lily.flowers Wait you need from two package-lock.json files right? Two package.json files is normal for monorepos with npm workspaces or something Yes indeed. Glob is not present in packages/pyright/package-lock.json. | 20:56:04 |
Lily Foster | Alright. I might make a PR to support passing multiple lockfiles for the same hash though | 20:57:08 |
Lily Foster | * Alright. I might make a PR to support passing multiple lockfiles for the same hash then | 20:57:15 |
Lily Foster | * Alright. I might make a PR to support passing multiple lockfiles for the same cache then | 20:59:20 |
dotlambda | Actually glob does exist in packages/pyright/package-lock.json so I'm not sure why I get
[webpack-cli] Failed to load '/build/source/packages/pyright/webpack.config.js' config
[webpack-cli] Error: Cannot find module 'glob'
Require stack:
- /build/source/build/lib/webpack.js
- /build/source/packages/pyright/webpack.config.js
- /build/source/packages/pyright/node_modules/webpack-cli/lib/webpack-cli.js
- /build/source/packages/pyright/node_modules/webpack-cli/lib/bootstrap.js
- /build/source/packages/pyright/node_modules/webpack-cli/bin/cli.js
- /build/source/packages/pyright/node_modules/webpack/bin/webpack.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
at Module._load (node:internal/modules/cjs/loader:922:27)
at Module.require (node:internal/modules/cjs/loader:1143:19)
at require (node:internal/modules/cjs/helpers:110:18)
at Object.<anonymous> (/build/source/build/lib/webpack.js:3:14)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Module.require (node:internal/modules/cjs/loader:1143:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/build/source/build/lib/webpack.js',
'/build/source/packages/pyright/webpack.config.js',
'/build/source/packages/pyright/node_modules/webpack-cli/lib/webpack-cli.js',
'/build/source/packages/pyright/node_modules/webpack-cli/lib/bootstrap.js',
'/build/source/packages/pyright/node_modules/webpack-cli/bin/cli.js',
'/build/source/packages/pyright/node_modules/webpack/bin/webpack.js'
]
}
| 21:04:39 |
Lily Foster | In reply to @robert:funklause.de
Actually glob does exist in packages/pyright/package-lock.json so I'm not sure why I get
[webpack-cli] Failed to load '/build/source/packages/pyright/webpack.config.js' config
[webpack-cli] Error: Cannot find module 'glob'
Require stack:
- /build/source/build/lib/webpack.js
- /build/source/packages/pyright/webpack.config.js
- /build/source/packages/pyright/node_modules/webpack-cli/lib/webpack-cli.js
- /build/source/packages/pyright/node_modules/webpack-cli/lib/bootstrap.js
- /build/source/packages/pyright/node_modules/webpack-cli/bin/cli.js
- /build/source/packages/pyright/node_modules/webpack/bin/webpack.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
at Module._load (node:internal/modules/cjs/loader:922:27)
at Module.require (node:internal/modules/cjs/loader:1143:19)
at require (node:internal/modules/cjs/helpers:110:18)
at Object.<anonymous> (/build/source/build/lib/webpack.js:3:14)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12)
at Module.require (node:internal/modules/cjs/loader:1143:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/build/source/build/lib/webpack.js',
'/build/source/packages/pyright/webpack.config.js',
'/build/source/packages/pyright/node_modules/webpack-cli/lib/webpack-cli.js',
'/build/source/packages/pyright/node_modules/webpack-cli/lib/bootstrap.js',
'/build/source/packages/pyright/node_modules/webpack-cli/bin/cli.js',
'/build/source/packages/pyright/node_modules/webpack/bin/webpack.js'
]
}
Hmm it's trying to require it without installing it first. When is it trying to call webpack? Do you have a derivation I can play with? | 21:06:12 |
dotlambda | In reply to @lily:lily.flowers Hmm it's trying to require it without installing it first. When is it trying to call webpack? Do you have a derivation I can play with? https://github.com/dotlambda/nixpkgs/tree/pyright-buildNpmPackage | 21:08:42 |
dotlambda | It happens after Executing npmBuildHook so it should be installed | 21:09:48 |
Lily Foster | Yeah it's correctly trying in build phase | 21:10:08 |
Lily Foster | Hmmm | 21:10:11 |
dotlambda | I think I got it | 21:11:15 |
Lily Foster | Oh I bet doing the cd in the postPatch is too late | 21:13:43 |
dotlambda | The problem is this line: https://github.com/microsoft/pyright/blob/1.1.319/packages/pyright/webpack.config.js#L8 | 21:14:00 |
Lily Foster | Oh. Or that | 21:14:11 |
dotlambda | In reply to @lily:lily.flowers Oh I bet doing the cd in the postPatch is too late also tried sourceRoot | 21:14:14 |
dotlambda | Now I get Error: Cannot find module 'jsonc-parser' and would need /package-lock.json though I can patch out the dependency on jsonc-parser. Doing so leads to lots of missing modules required from packages/pyright-internal :( | 21:21:18 |
gdamjan | In reply to @hexa:lossy.network
ERROR:CLI Error: Could not find package.json up from /nix/store/qvpjwskw6j9n4g8749snwj5b6nk9xsb1-matrix-appservice-irc-1.0.1/bin/matrix-appservice-irc
why didn't I see this though?! | 21:22:12 |
hexa | i havent got the feintest idea | 21:23:13 |
Lily Foster | In reply to @robert:funklause.de Now I get Error: Cannot find module 'jsonc-parser' and would need /package-lock.json though I can patch out the dependency on jsonc-parser. Doing so leads to lots of missing modules required from packages/pyright-internal :( Yeah I figured if they were using lerna you'd run into issues with intra-repo dependencies. Which lerna does custom handling for :/ | 21:24:32 |
Lily Foster | And splits them across package-lock.json files because they hate nice things | 21:25:19 |
dotlambda | I pushed all my changes, feel free to play around with it. I'll stop investing time in pyright for now | 21:26:06 |
Lily Foster | In reply to @robert:funklause.de I pushed all my changes, feel free to play around with it. I'll stop investing time in pyright for now I may. The problem is lerna is gonna need work on our side to be actually usable instead of being able to hack around it | 21:27:29 |
Lily Foster | And I was going to say you could maybe get away with packaging the tarball for pyright in the npm registry, but it looks like that doesn't contain a lockfile | 21:27:56 |
dotlambda | In reply to @lily:lily.flowers I may. The problem is lerna is gonna need work on our side to be actually usable instead of being able to hack around it Then I guess there are more important things to work on | 21:28:01 |
Lily Foster | * And I was going to say you could maybe get away with packaging the tarball for pyright from the npm registry, but it looks like that doesn't contain a lockfile | 21:28:03 |