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

Repository infrastructure setup #1

Merged
merged 6 commits into from Mar 24, 2021
Merged

Repository infrastructure setup #1

merged 6 commits into from Mar 24, 2021

Conversation

scalvert
Copy link
Collaborator

@scalvert scalvert commented Mar 23, 2021

This PR adds initial repository setup, including

  • A workspaces architecture for multi-package support
  • A workspaces typescript configuration
  • Basic top-level setup
    • npm scripts
    • repo-wide devDependencies
    • root-level eslint/prettier setup to keep packages consistent
    • volta to manage tool dependencies
  • A skeleton of the sarif-builder package

All infrastructure choices and naming conventions are open to feedback and changes.

@scalvert
Copy link
Collaborator Author

cc/ @jeffersonking - you don't seem to be added as a contributor to the repo yet.

@jeffersonking
Copy link
Collaborator

@scalvert Re yarn vs npm, it sounds like release-it will be the deciding factor. Will try to test it out sometime.

@scalvert
Copy link
Collaborator Author

@jeffersonking correct. The current plugin operates on yarn workspaces, and hasn't been tested with npm. That said, we own that plugin and can update/adjust it to work with both.

@jeffersonking
Copy link
Collaborator

@scalvert If all else is equal, the path with one less installation wins? So npm?

@scalvert
Copy link
Collaborator Author

Yep, we can certainly explore either making that plugin work for npm, or make a similar plugin for npm.

@scalvert
Copy link
Collaborator Author

Looking at our plugin, I think it will work out-of-the-box, as it's not doing anything yarn specific. It likely could use a rename though...

@scalvert
Copy link
Collaborator Author

OK I've updated to use npm vs. yarn. I also pinned tool dependencies with volta. If you aren't familiar with it, it's a tool that manages your project's tool dependencies.

@jeffersonking
Copy link
Collaborator

@scalvert Thanks! Not familiar with volta, interested in trying it out.

I think the there's still the big question of if the sarif-builder goes in it's own repo (and if anything ends up in this repo). But, signing off on this PR nevertheless.

@scalvert
Copy link
Collaborator Author

Ya I think the question of 'what else goes here' is for sure up for debate, but I can imagine the following:

  • Moving the types from @types/sarif to this repository, effectively making them first-party types vs. third-party
  • A SARIF log validator utility
  • A partial fingerprint utility to enable SARIF log authors to generate consistent fingerprints
  • Any additional documentation or reference material related specifically to using SARIF in JavaScript.

Happy to defer these discussions until they present themselves later.

@jeffersonking jeffersonking self-requested a review March 24, 2021 16:56
.eslintrc Outdated Show resolved Hide resolved
@scalvert
Copy link
Collaborator Author

@jeffersonking volta is pretty great. It was developed at LinkedIn by folks from my team. It is gaining a lot of traction as a replacement to nvm, mainly due to speed since it's written in Rust.

@scalvert scalvert merged commit 030fd32 into main Mar 24, 2021
@scalvert scalvert deleted the repo-setup branch March 24, 2021 20:25
@michaelcfanning
Copy link
Member

Wahoo! Every GitHub open source journey starts with a single merge!

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

Successfully merging this pull request may close these issues.

None yet

5 participants