-
Notifications
You must be signed in to change notification settings - Fork 465
Improved Docs & Removed monorepo-scripts from packages #924
Conversation
…ggregate release note publishing to publish script
…y positioned div to work correctly. See: fisshy/react-scroll#330
… the longest match
@fabioberger 👍 sounds good to me. I'll take any chance we can get to reduce maintenance burden right now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is amazing but also a lot. Really hard to get some confidence that there aren't any bugs. Overall looks good -- I'm down to ship and then discover what bugs there are since it doesn't touch critical pieces toooo much. Must've been a lot of work so 🙏🏼
packages/connect/package.json
Outdated
@@ -82,7 +74,7 @@ | |||
"nyc": "^11.0.1", | |||
"shx": "^0.2.2", | |||
"tslint": "5.11.0", | |||
"typedoc": "~0.8.0", | |||
"typedoc": "0xProject/typedoc", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What does this do?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed this just so that we are using the same version everywhere. There used to be a bug in Typedoc that was causing us grief. Refactors since then have made it a non-issue so I changed all versions to the latest one of 0.12.0
.
@@ -1,9 +1,9 @@ | |||
// tslint:disable:no-consecutive-blank-lines ordered-imports align trailing-comma whitespace class-name | |||
// tslint:disable:no-unused-variable | |||
// tslint:disable:no-unbound-method |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do you suddenly need to add these?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I upgraded our tslint-eslint-rules
dependency since it's dep tsutils@^1.4.0
wasn't playing nicely with TS 3.0. I believe this rule was added to it.
); | ||
}); | ||
} else if (_.isObject(nodeValue)) { | ||
updatedReferenceNames = updatedReferenceNames = DocGenerateAndUploadUtils._getAllReferenceNames( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Woah this compiles?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yikes, good catch.
}); | ||
if (!_.isEmpty(externalExportsWithoutLinks)) { | ||
throw new Error( | ||
`Found the following external exports in ${ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice.
const changelogs = JSON.parse(changelogJSON); | ||
const latestLog = changelogs[0]; | ||
// If only has a `Dependencies updated` changelog, we don't include it in release notes | ||
if (latestLog.changes.length === 1 && latestLog.changes[0].note === constants.dependenciesUpdatedMessage) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we make this more explicit and put a shouldOmitFromReleaseNotes
boolean in CHANGELOG.json
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, the thing is that dev's don't add the Dependencies updated
entry in CHANGELOG.json
, it's automatically added if no entry was manually added to the CHANGELOG.
@@ -48,7 +48,7 @@ export const utils = { | |||
}; | |||
packages.push(pkg); | |||
} catch (err) { | |||
utils.log(`Couldn't find a 'package.json' for ${subpackageName}. Skipping.`); | |||
// Couldn't find a 'package.json' for package. Skipping. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Too noisy?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, too noisy and very unlikely to be an issue.
@@ -1,84 +0,0 @@ | |||
/* Basscss Responsive Type Scale */ | |||
/* Modified by Fabio Berger to include xs prefix */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why delete all these files?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
when I created the react-docs-example
package, we had just separated out the docs rendering code from the website and were under the impression that others would want to use it. This didn't pan out. Additionally, I just don't feel confident given this most recent refactor that this package is ready for prime-time. We can always add it back once it is, but right now, I'd rather not give the impression that it's ready.
@@ -13,7 +13,7 @@ | |||
"TRADITIONAL_ASSETS": "传统资产", | |||
"DIGITAL_GOODS": "数字商品", | |||
"OFFCHAIN_ORDER_RELAY": "链下订单中继", | |||
"OONCHAIN_SETTLEMENT": "链上最终结算", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was wondering about this lol
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lol, silly typo.
Description
Currently
monorepo-scripts
is a dependency of every public package. The reason? We are using Lerna'spostpublish.js
script hook to generate/upload docs and publish release notes to Github. This PR changes that.As the number of packages published in the repo has grown, it has become untenable to have an individual release note for each package. This PR therefore aggregates them into a single release note that looks like:
Additionally the doc generation/upload step has been moved to the
publish.ts
script and happens after the packages are published. Importantly, the way we generate the doc JSON representations has changed. It now does the following:index.ts
index.ts
.These steps have resulted in our doc JSON files being 3X smaller then they used to be! 🍾 🎆
Additionally, we've gotten rid of a lot of package specific configurations using the above procedure. This PR also adds checks to make sure that any types that are present in the package's public interface are exported by it's
index.ts
file. It will even complain if the package exports superfluous type declarations. These checks now happen in every CircleCI run.In order to make all package's pass these new constraints, I had to modify their
index.ts
. Some larger changes were also needed, like moving types fromsol-compiler
totypes
that are used by many packages now.Miscelaneous fixes:
yarn install
twice in CircleCI since I was encountering the same issue as locally.Testing instructions
Run the tests. Render the doc pages.
Types of changes
Checklist:
[WIP]
if it is a work in progress.[sol-cov] Fixed bug
.