Comments (4)
An interesting idea. So the "baseline" would be the JSON files that are output by dartdoc? And then are you wanting that step 4 is manual? Or a tool step?
Today, this whole process is possible with the dartdoc output and the shapeshift binary, and step 4 is manual.
I don't think I understand what is automated, then. Would you want a command that would diff the current code with the baseline JSON file, and then prepend to the CHANGELOG automatically?
from dart-shapeshift.
I don't mean automation in a big way, just streamline I guess. In the end, it would be nice if this could be part of a kind of pre-submit step. IOW: api_baseline_check
fails if the current shape of the API does not match the baseline. It's up to the user to vet and update the baseline manually. That could be streamlined too of course and I love the idea that shapeshift could generate changelog entries for you though I expect you'll always want to inspect them. Ultimately I think it's up to the user to decide how breaking an API change is (this is just too hard a judgement for the tool to fully own). The point of the build/presubmit step would really be to communicate, "hey, your API looks different, you might want to (re)consider the change(s), update your docs, version number, etc. accordingly".
Regarding shapeshift's JSON, I haven't looked but I'm guessing it contains doc comments? I wasn't thinking that those would be part of a baseline but maybe they should be...
from dart-shapeshift.
That would be very cool. But I don't think it would be part of shapeshift itself...
from dart-shapeshift.
Cool. I think we could pretty easily come up with a compact baseline for APIs if we added the notion of an element signature to the analyzer
. I've opened an issue to track the idea here.
Feel free to close. Thanks!
from dart-shapeshift.
Related Issues (19)
- Make a reusable `shapeshift_lib`. HOT 7
- Wrap DiffNode with a nicer interface
- Great tool!
- Live view: Map diff from 1.8.5 to 1.9.3 shows wonky formatting
- Live view: ArgumentError diff from 1.8.5 to 1.9.3 shows wonky formatting HOT 1
- New method code blocks are... ugly
- New method code block comments are... also ugly
- "Paginate" the version list
- Wrong subclasses difference HOT 1
- unconditionally complains about short descriptions HOT 7
- If a positional argument is renamed, don't call it a remove + add
- Boolean properties (like "abstract") that flip should be noted in one line
- Missing top-level functions and variables HOT 6
- json_diff: path dependency to /Users/srawlins/dart/json_diff HOT 1
- Need to score library-level comments.
- Bold Roboto (like Class names in coverage scores) looks terrible. HOT 1
- Clicking "See" the gaps harangs the badge HOT 1
- No coverage score for Typedefs HOT 2
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 dart-shapeshift.