Installing several workspaced npm (yarn) packages from a git repository - yarn-workspaces

I have two repositories. The first one contains is a monorepo with two packages:
- bsconfig.json
- package.json
- packages/
- transaction/
- package.json
- transaction.js
- reindexed/
- package.json
- src/
- IDB.res
- ReIndexed.res
The packages/reindexed actually depends on packages/transaction. The contents of packages/transaction/packages.json is like this (fragment):
{
"name": "#kaiko-internal/transaction",
"version": "1.0.0",
"main": "transaction.js"
}
The file packages/reindexed/package.json is more or less like this:
{
"name": "#kaiko/reindexed",
"version": "0.2.0",
"license": "MIT",
"devDependencies": {
"esbuild": "^0.12.9",
"qunit": "^2.16.0",
"rescript": "^9.1.4"
},
"dependencies": {
"#kaiko-internal/transaction": "1.0.0"
}
}
Notice the second project uses ReScript as the main language and includes this line:
#module("#kaiko-internal/transaction") external transaction: 'a = "default"
(The file transaction.js is a little hard to write in ReScript at the moment)
Now in a second project I depend on #kaiko/reindexed like this:
{
"dependencies": {
"#kaiko/reindexed": "git+ssh://git#gitlab.com:kaiko-systems/ReIndexed.git#workspaces"
}
}
But when I run yarn and try to compile this project I'm not getting the proper #kaiko/reindexed and its dependency and it basically fails to install the #kaiko-internal/transaction, i.e import * from '#kaiko-internal/transaction'; fails.
Is there a way to install several dependencies from a workspaced monorepo?

You can add transaction as local package:
"dependencies": {
"#kaiko-internal/transaction": "file:../transaction"
}
After you need to do yarn install or npm install
And then you will have link in node_modules to the transaction

Related

npm run make is not working in electron-forge

I have created and electron application and trying to use electron forge for building purpose.
Please find below command which i have run it for creating the electron application:
#npm i -g create-react-app
#npm i -g #electron-forge/cli
#npx create-electron-app my-ele-app
The above last command created a project my-ele-app. and now i am able to start the application as well.
#npm start.
content of package.json file is:
{
"name": "my-ele-app",
"productName": "my-ele-app",
"version": "1.0.0",
"description": "My Electron application description",
"main": "src/index.js",
"scripts": {
"start": "electron-forge start",
"package": "electron-forge package",
"make": "electron-forge make",
"publish": "electron-forge publish",
"lint": "echo \"No linting configured\""
},
"keywords": [],
"author": {
"name": "rohit",
"email": "rohit#xyz.com"
},
"license": "MIT",
"config": {
"forge": {
"packagerConfig": {},
"makers": [
{
"name": "#electron-forge/maker-squirrel",
"config": {
"name": "my_ele_app"
}
},
{
"name": "#electron-forge/maker-zip",
"platforms": [
"darwin"
]
},
{
"name": "#electron-forge/maker-deb",
"config": {}
},
{
"name": "#electron-forge/maker-rpm",
"config": {}
}
]
}
},
"dependencies": {
"electron-squirrel-startup": "^1.0.0"
},
"devDependencies": {
"#electron-forge/cli": "^6.0.0-beta.55",
"#electron-forge/maker-deb": "^6.0.0-beta.55",
"#electron-forge/maker-rpm": "^6.0.0-beta.55",
"#electron-forge/maker-squirrel": "^6.0.0-beta.55",
"#electron-forge/maker-zip": "^6.0.0-beta.55",
"electron": "12.0.9"
}
}
Now when i am running below command, it is throwing error:
#npm run make
Error is:
> my-ele-app#1.0.0 make
> electron-forge make
√ Checking your system
√ Resolving Forge Config
An unhandled rejection has occurred inside Forge:
Error: Could not find module with name: #electron-forge/maker-squirrel. Make sure it's listed in the devDependencies of your package.json
at _default (C:\Users\212807091\Desktop\Rohit\Office Note\RBAC\Electron_project\npx_electrong\my-ele-app\node_modules\#electron-forge\core\src\api\make.ts:125:15)
at C:\Users\212807091\Desktop\Rohit\Office Note\RBAC\Electron_project\npx_electrong\my-ele-app\node_modules\#electron-forge\cli\src\electron-forge-make.ts:44:5
Electron Forge was terminated. Location:
{}
NOTE: i can see there is module available in node_modules folder:
my-ele-app\node_modules#electron-forge\maker-squirrel
If anyone here has any idea how to fix this issue. please provide the answer. Thanks!
In my cases, it makes error when the description or author is empty in package.json file.
I got the same error after following the "Getting Started" instructions. Nothing resolved it until I ran npm install -g #electron-forge/cli#beta -- after that finished I was able to successfully run electron-forge make.
Also running npm run make did the same as electron-forge make as I didn't appear to have it installed. Another thing I noticed is that if I run npm run make with maker-squirrel at version 6.0.0-beta.55 then I get this error: Could not find module with name: #electron-forge/maker-squirrel. However, if I re-install maker-squirrel as npm install --save-dev #electron-forge/maker-squirrel#6.0.0-beta.33 and re-run npm run make then I get an out folder with an exe.
you have installed all the required dependencies so just run this command
npm run package
And after this a folder with name out is generated and inside that your .exe file will be present
I had a similar issue but I followed the instructions from here: https://www.electronjs.org/docs/latest/tutorial/quick-start#package-and-distribute-your-application
I missed calling npx electron-forge import. So the full pipeline looks like this:
npm install --save-dev #electron-forge/cli
npx electron-forge import
npm run make
Check the documentation. i solve same problem with this
If you are using Windows, this works for me:
Run npm i electron-winstaller --save-dev --ignore-scripts
Install 7zip x86 in your computer. After installed, go to C:\Program Files (x86)\7-Zip and copy both 7z.dll and 7z.exe files to /path/to/your_project/node_modules/electron-winstaller/vendor if they are not still there.
Run npm electron-forge import again
Then try run npm run make again. I hope it works.

aurelia-dialog error with the release version and CLI

I'm facing a problem when using the new aurelai release :
I created a new app using : au new myApp
I installed aurelia-dialog via npm
When I import aurelia-dialog and try to run the app using
au run --watch
I get htis error :
[Error: ENOENT: no such file or directory, open 'C:\src\ai-dialog.js']
Any idea ?
The reason this is happening is because the package is a CommonJS package.
See: http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/the-aurelia-cli/10
Edit your aurelia_project/aurelia.json file from
"dependencies": [
"aurelia-dialog"
]
to
"dependencies": [
{
"name": "aurelia-dialog",
"path": "../node_modules/aurelia-dialog/dist/amd",
"main": "aurelia-dialog"
}
]
and that should solve your problem.
I got into the same issue. I have installed the aurelia dialog using below npm command
npm install aurelia-dialog --save
then just adding below dependencies to aurelia.json, resolved the issue
{
"name": "aurelia-dialog",
"path": "../node_modules/aurelia-dialog/dist/amd",
"main": "aurelia-dialog"
}
Things have changed a little bit since the release of aurelia-dialog 2.0.0.
The block you need to add in the aurelia.json dependencies definition is now the following one:
"dependencies": [
{
"name": "aurelia-dialog",
"path": "../node_modules/aurelia-dialog/dist/amd",
"main": "aurelia-dialog",
"resources": ["**/*.js"]
}
]

ASP.NET 5 Client Side Depdency Management - Bower

I'm trying out the new ASP.NET 5 with MVC 6, and I'm using bower to manage all my client-side dependencies. Everything is working fine.
But I have a question: When I add a dependency (let's say jQuery). It adds both the /dist and /src along with bower configuration files to the /lib folder of wwwroot. How do I make it include just the compiled source for usage? (So I can reference it in my pages via /lib/jquery/jquery.js?
I have recently been playing in this space and following is something that I have tried:
Deleted the .bowerrrc file to enable installing in the default bower_components folder under the project folder rather than under wwwroor\lib as anything under wwwroot tends to get published.
Added "main-bower-files": "2.9.0" to package.json. This package gets all the files mentioned in the main property of each installed package's bower.json files.
Created a gulp task using the above package
gulp.task('copyMainFiles', function () {
return gulp.src(mainBowerFiles(), { base: 'bower_components' })
.pipe(gulp.dest('wwwroot/lib'));
});
Added a postrestore step to your application's project.json file
"scripts": {
"postrestore": "gulp copyMainFiles",
"prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
}
Updated my application's bower.json to copy files which are not listed in main (like some packages do not have min files as main files..ex: jQuery). The following settings are read by main-bower-files:
"overrides": {
"jquery": {
"main": [ "dist/jquery.js", "dist/jquery.min.js" ]
},
"hammer.js": {
"main": [ "hammer.js", "hammer.min.js" ]
},
"bootstrap": {
"main": [
"./dist/js/bootstrap.js",
"./dist/js/bootstrap.min.js",
"./dist/css/bootstrap.css",
"./dist/css/bootstrap.min.css"
]
}
}
Finally had to update the jquery-validation package to use 1.14.0 instead of 1.11.1 as the previous version does not dist folder and indeed no bower.json...

Yeoman Angular generator - bower_components missing in app folder

Im on windows and when I use Angular generator to scaffold my application bower_components is missing in app directory - instead its in the root directory
This is my app directory after fresh scaffolding:
So I have to manually put bower components in the app directory...
Any ideas why is this happening?
P.S in bower.json I have:
"appPath": "app"
But that option is not respected, when I run bower install it doesnt add bower_components into the app directory.
Made it work - edited .bowerrc
{
"directory": "app/bower_components"
}
and then bower install.
Now all dependencies are in app directory.
try edit your bower.json file, then run bower install
{
"name": "mi-portfolio",
"version": "0.0.0",
"directory": "bower_components/"
"dependencies":
{
"angular": "1.2.6",
"json3": "~3.2.6",
"es5-shim": "~2.1.0",
"jquery": "~1.10.2",
"bootstrap": "~3.0.3",
"angular-cookies": "1.2.6",
"angular-sanitize": "1.2.6"
},
"devDependencies":
{
"angular-mocks": "1.2.6",
"angular-scenario": "1.2.6"
}
}
look here bower code

bower install fails silently on any package

I can install Bower and it seems just fine via npm. I create a bower.json file using bower init, and add dependencies. Then when I use bower install, literally nothing happens in the terminal. I can use bower update to install packages, but bower install does not work and I cannot get any error to produce, even with --verbose. I've included bower.json below:
{
"name": "testing",
"version": "0.0.0",
"authors": [
"AJ"
],
"main": "index.html",
"license": "private",
"private": true,
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"polymer": "Polymer/polymer#~0.3.0",
"core-menu": "Polymer/core-menu",
"core-ajax": "Polymer/core-ajax"
}
}
edit: using 1.3.3, but I've reproduced this using 1.3.2 as well
Try removing the bower_components directory and running bower install again.
Edit:
This is also related to a circular dependency in Polymer see: https://github.com/bower/bower/issues/1324#issuecomment-44436595

Resources