Comments (3)
First of all: What third-party tools do you envision accessing .braids.json directly? We wouldn't want to encourage users to commit to tools that would make it difficult for them to upgrade to newer versions of Braid that change the configuration format.
Assuming we decide it is in fact in the community's best interests to have an official JSON schema for .braids.json: I'm not aware of an existing one; your web search is as good as mine. It won't be a priority for me to write a schema, but I imagine we would accept a contribution, and it sounds like you might be prepared to write one. Here's our informal documentation of the current format; I'll be happy to answer questions. Is there a best practice for where we put the schema in the repository?
from braid.
Thank you for your fast reply.
I am thinking about any tool which is based on the same information like braid, e.g. as most simple example I think about a python script analyzing the json files and drawing a dependency graph. Therefore it would be helpful to have a well-defined schema for the json file. This helps that the config file will be reused by other open source projects, instead of creating a new file with almost equal content, and as a result maybe a new standard is agreed. Of course the schema could/should then also be used by braid as a check to ensure an always valid json file.
I am compeletly new to ruby, so the implementation I am most likely not able to do. I try to have a look on the schema at the weekend and contribute. I will also check for best practices regarding the location.
from braid.
Drawing a dependency graph sounds reasonable. I don't think there's much chance of convincing Braid and other dependency management tools to migrate to a common format for their primary configuration since they all have different feature sets: that's why they are different tools in the first place. Extracting a subset of the data from the primary configuration of each tool into a common format for analysis would be more realistic.
To write a schema, you wouldn't have to write any Ruby. At most you might need to read a little Ruby in order to understand what Braid is doing. But the format is pretty straightforward and I suspect you can translate the comment I linked above to a JSON schema without much difficulty.
from braid.
Related Issues (20)
- Git 2.36.0 breaks push HOT 5
- `index file open failed` messages when running tests under `bundle exec` in a linked worktree
- Support path with Spaces HOT 1
- Improve documentation for "braiding" a single file HOT 4
- Ability to specify a commit message for a non-interactive `braid push` HOT 3
- Cannot run braid add in a repo with only one commit HOT 1
- https://cristibalan.github.io/braid/ no longer has a direct link to the repository HOT 1
- Filtering/removing some files or subdirectories HOT 4
- Shell error when trying to update one of the braids HOT 2
- Line breaking at char #80? HOT 3
- doc: clarify version control use HOT 1
- Braid: Shell error: fatal: 'master/braid/.any-dot-file' is not a valid remote name HOT 1
- Support for default branch names other than `master` HOT 3
- Spaces in command arguments break things HOT 5
- Move to `braid help COMMAND` and `braid COMMAND --help`
- "git clone" error message is useless HOT 3
- ssh running under Braid fails to prompt for passphrase on Windows HOT 5
- `braid add` should fail if the destination already exists
- Support nested vendor repositories HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from braid.