Closed andersk closed 2 years ago
Personally, I think installing from Git is not a good practice unless you have to, why are you using this approach instead of using the npm one?
It’s convenient for testing pull requests in the context of another project. The one I wanted to test at the time was #423:
npm i prettier/prettier-eslint-cli#dependabot/npm_and_yarn/prettier-eslint-13.0.0
Nobody’s suggesting this should replace NPM releases; it should just be possible.
@andersk
Thanks for explaining first.
I know it's not replacing npm, and I'm saying installing from Git should not be encouraged.
And the purpose you want to achieve can be done with other tools like https://ci.codesandbox.io/
Firstly, I don’t want to run it in a cloud sandbox; I want to run locally on my project.
Secondly, even if I wanted to use CodeSandbox, how is CodeSandbox supposed to know that it needs to run nps build
, if there’s no prepare
script to tell it which build command to run?
Firstly, I don’t want to run it in a cloud sandbox; I want to run locally on my project.
I don't understand why and what's the difference.
Secondly, even if I wanted to use CodeSandbox, how is CodeSandbox supposed to know that it needs to run nps build, if there’s no prepare script to tell it which build command to run?
It has buildCommand
configuration support.
Codesandbox ci is a tool we need to install as GitHub App in this repository for this case.
I don't understand why and what's the difference.
I am working on some project, say https://github.com/zulip/zulip-mobile, that uses prettier-eslint-cli. The zulip-mobile code is on my computer—I got it with git clone
on my computer, set up all its dependencies on my computer, and have been working on it for years using the development tools on my computer. Now I want to test a PR of prettier-eslint-cli within zulip-mobile. I want to run npm i prettier/prettier-eslint-cli#dependabot/npm_and_yarn/prettier-eslint-13.0.0
within my local zulip-mobile checkout, and then run zulip-mobile’s scripts that rely on prettier-eslint-cli (e.g. tools/fmt
), and inspect the formatting result with my local editor and tools like git diff
.
I’m a little baffled that I should need to explain the difference between running something locally on my computer and running it in a cloud. Perhaps we’re running into a language barrier? Or perhaps you’re someone who does all development work in a cloud and doesn’t even know that developing locally is even possible? I don’t mean to be rude—this concept is so obvious to me that I’m struggling to see how anyone with software development experience would be confused by it.
@andersk
Sorry, I may have misled you.
There is nothing related to development on cloud.
Take https://github.com/un-ts/prettier/pull/209#issuecomment-1198919254 as an example of codesandbox ci usage, it's a tool to help us test before releasing, that's exactly what you want, actually.
# yarn 1
yarn add https://pkg.csb.dev/un-ts/prettier/commit/4b3eca06/prettier-plugin-pkg https://pkg.csb.dev/un-ts/prettier/commit/4b3eca06/prettier-plugin-sh https://pkg.csb.dev/un-ts/prettier/commit/4b3eca06/prettier-plugin-sql
# yarn 2, 3
yarn add prettier-plugin-pkg@https://pkg.csb.dev/un-ts/prettier/commit/4b3eca06/prettier-plugin-pkg/_pkg.tgz prettier-plugin-sh@https://pkg.csb.dev/un-ts/prettier/commit/4b3eca06/prettier-plugin-sh/_pkg.tgz prettier-plugin-sql@https://pkg.csb.dev/un-ts/prettier/commit/4b3eca06/prettier-plugin-sql/_pkg.tgz
# npm
npm i https://pkg.csb.dev/un-ts/prettier/commit/4b3eca06/prettier-plugin-pkg https://pkg.csb.dev/un-ts/prettier/commit/4b3eca06/prettier-plugin-sh https://pkg.csb.dev/un-ts/prettier/commit/4b3eca06/prettier-plugin-sql
It has not been enabled in this repository, sadly. I'll try to apply to install the GitHub App ASAP.
CodeSandbox CI has been enabled in this repo, so it can be installed easily for every PR commit.
See https://github.com/prettier/prettier-eslint-cli/pull/437#issuecomment-1213199333
@JounQin He didn't want to use CodeSandbox. Instead of pointing to the NPM registry, you can point to a GitHub repository in your package.json
. I'll clone this PR and test it out to answer some of my questions.
@JounQin He didn't want to use CodeSandbox. Instead of pointing to the NPM registry, you can point to a GitHub repository in your
package.json
. I'll clone this PR and test it out to answer some of my questions.
He misunderstood what I'm proposing. CodeSandbox CI is not cloud development. It seems same as you.
Install from GitHub is a bad idea IMO.
# yarn 1
yarn add https://pkg.csb.dev/prettier/prettier-eslint-cli/commit/eb8e934a/prettier-eslint-cli
# yarn 2, 3
yarn add prettier-eslint-cli@https://pkg.csb.dev/prettier/prettier-eslint-cli/commit/eb8e934a/prettier-eslint-cli/_pkg.tgz
# npm
npm i https://pkg.csb.dev/prettier/prettier-eslint-cli/commit/eb8e934a/prettier-eslint-cli
It is available on your own machine. Not CodeSandbox only.
This fixes
npm i prettier/prettier-eslint-cli
, which pulls the package from GitHub instead of NPM. Before:After: