playcanvas / playcanvas-sync

Real-time synchronization of files between PlayCanvas and your local machine
https://playcanvas.com/
MIT License
75 stars 19 forks source link

Project in npm registry #46

Closed matthewvroman closed 1 year ago

matthewvroman commented 2 years ago

Related to this issue https://github.com/playcanvas/playcanvas-sync/issues/30

We currently use this project as an npm module installed via the direct GitHub link. This causes deployment issues with CI/CD pipelines on npm v7 and later, where the deployment server requires an SSH key for public repositories. This is a known issue tracked here.

I published this playcanvas-sync repository to the npm registry without realizing it wouldn't associate the project with the Github owners. In hindsight that does make sense. I've invited the 'playcanvas' account to become a maintainer and eventual owner of the npm package, but wanted to open this line of dialogue here in case the maintainers would prefer alternative actions such as renaming the package or removing it altogether.

yaustar commented 2 years ago

@willeastcott or @slimbuck, you are probably best placed for this

querielo commented 2 years ago

We have the same issue. Could you prioritize it?

yaustar commented 2 years ago

Let me ask internally in the team about this and see who's best placed to handle this

yaustar commented 2 years ago

@querielo When you say, you have the same issue, what do you mean? The OP has published the NPM module (accidentally here: https://www.npmjs.com/package/playcanvas-sync), do you also need to an NPM module for playcanvas-sync and want it to be official?

querielo commented 2 years ago

@yaustar Yes. I think having official NPM module would be nice.

playanvas-sync is defined as devDependency in package.json:

{
  . . .
  "devDependencies": {
    . . .
    "playcanvas-sync": "https://github.com/playcanvas/playcanvas-sync.git#1f3c179fb96a9efe4ba8e0f78638193db5d17949",
    . . .
  },
  . . .
}

And CI/CD pipelines return next:

[4] npm ERR! Error while executing:
[5] npm ERR! /usr/bin/git ls-remote -h -t ssh://[USER]@github.com/playcanvas/playcanvas-sync.git
[6] npm ERR! 
[7] npm ERR! Warning: Permanently added the ECDSA host key for IP address [IP] to the list of known hosts.
[8] npm ERR! Permission denied (publickey).
[9] npm ERR! fatal: Could not read from remote repository.
[10] npm ERR! 
[11] npm ERR! Please make sure you have the correct access rights
[12] npm ERR! and the repository exists.
[13] npm ERR! 
[14] npm ERR! exited with error code: 128
yaustar commented 2 years ago

For the short term, use the version that @matthewvroman (assuming security allows) has posted while we look at how to resolve ownership

querielo commented 2 years ago

@matthewvroman The direct GitHub link works for me with *_nodejs 16._**

nyan-left commented 1 year ago

Hi @yaustar / @isumygin-sc ,

We're currently utilizing this project as a git submodule, however, we would greatly prefer to use an npm package due to ease of versioning, dependency management, and smoother CI/CD integrations.

I'm wondering if you reached an agreement internally about publishing this package on npm? If it helps speed things along, I can put together a PR that adds a GitHub workflow for building and deploying the project to npm.

Looking forward to hearing your thoughts.

willeastcott commented 1 year ago

A PR would be great. I have always said playcanvas-sync belongs on NPM! I can help review and get it deployed.