Commit graph

1132 commits

Author SHA1 Message Date
Jesse Rosenberger
9500205e59 docs: Remove develop-theme script, now managed elsewhere.
Rather than developing the theme on individual docs deployments, that work
should now be done on the theme repository[0] and the example doc
deployment[1] since those repositories contain the infrastructure for testing
and deploying changes across all docs properties.  More information on
developing the theme can be found on those repository's `README.md`s.

[0] https://github.com/meteor/hexo-theme-meteor
[1] https://github.com/meteor/theme-example
2018-03-23 20:08:31 +02:00
Jesse Rosenberger
42ae12437d docs: Remove unnecessary showdown dependency.
While I'm aware of the need for the `showdown` package for rendering some
content on the Meteor Docs, I'm not aware of any Apollo repository that uses
it.  I've searched through the source, and cannot find any usage.

If there is a repository that uses it directly (in its `scripts/` directory),
it should be switched to using a plugin, which can explicitly declare
`showdown` as a dependency, rather than depending on it at the root of the
repository. (This is how `hexo-typescript-api-box` does it on the
`apollo-client` docs, which has correctly removed the direct dependency.)

Luckily, these repositories now have tests so if any of these fail, we should
know pretty easily and be able to add the dependency back to just those that
need it.
2018-03-23 20:08:31 +02:00
Jesse Rosenberger
616632ffdb docs: Remove unnecessary hexo-generator-* plugins.
Generators are used for generating additional content in Hexo.  While these
are great for making a blog (for example, `hexo-generator-index` to put all
your blog posts on an index page, `hexo-generator-tag` to keep a page updated
with all your trending blog tags, and `hexo-generator-archive` if you want to
store your aging content somewhere where nobody will find it), they don't seem
to be at all necessary for our purposes, which are documentation.

Unfortunately, they are in the default skeleton of a new Hexo project and they
don't seem to have ever been removed from our non-blog docs deployments,
despite the fact that they seem unnecessary.

In an effort to drastically reduce the overhead of maintaining these docs
deployments, I'm removing these as "unnecessary" until proven otherwise.
2018-03-23 20:08:31 +02:00
Renovate Bot
c941702253 chore(deps): update dependency @types/node to v9.6.0 2018-03-23 08:02:26 +00:00
Renovate Bot
a4e2e3e893 chore(deps): update dependency @types/graphql to v0.12.6 2018-03-23 07:02:17 +00:00
Renovate Bot
abb946a123 chore(deps): update dependency @types/aws-lambda to v0.0.34 2018-03-23 06:48:37 +00:00
Renovate Bot
e8058f812d chore(deps): update dependency sinon to v4.4.8 2018-03-22 07:03:34 +00:00
Renovate Bot
d9f1db12bd chore(deps): update dependency apollo-hexo-config to v1.0.5 2018-03-22 06:54:24 +00:00
Sashko Stubailo
4cf8200983
Improve related section (#901) 2018-03-21 13:31:46 -07:00
Renovate Bot
ce49ff6132 chore(deps): update dependency meteor-theme-hexo to v1.0.3 2018-03-21 13:10:06 +00:00
Renovate Bot
0e0663d68e chore(deps): update dependency apollo-hexo-config to v1.0.4 2018-03-21 11:25:12 +00:00
Renovate Bot
92d37794d7 chore(deps): update dependency apollo-hexo-config to v1.0.3 2018-03-21 06:24:12 +00:00
Renovate Bot
13b1d0803d chore(deps): update dependency remap-istanbul to v0.11.0 2018-03-17 10:00:56 +00:00
renovate[bot]
1bf6d1939f chore(deps): update dependency graphql to v0.13.2 (#891) 2018-03-17 11:35:52 +02:00
renovate[bot]
baf312bb6a chore(deps): update dependency meteor-theme-hexo to v1.0.2 (#892) 2018-03-17 11:18:14 +02:00
renovate[bot]
444ad69f56 chore(deps): update dependency nodemon to v1.17.2 (#889) 2018-03-16 15:49:29 +02:00
Renovate Bot
01c6bce7e8 chore(deps): update dependency hapi to v17.2.3 2018-03-16 13:13:56 +00:00
renovate[bot]
a3045fedcb chore(deps): update dependency sinon to v4.4.6 (#890) 2018-03-16 14:20:51 +02:00
renovate[bot]
5eae20e92f chore(deps): update dependency @types/graphql to v0.12.5 (#887) 2018-03-16 14:06:15 +02:00
Lukwago Allan
c9a372839d Re-export out GraphQLOptions in apollo-server-express (#871)
* Export `GraphQLOptions` type directly from `apollo-server-express`.

Directly export `GraphQLOptions` from the `apollo-server-express` (and
synonymously, `graphql-server-express`) main module, rather than exporting
it only from `./expressApollo`.
2018-03-16 12:48:40 +02:00
renovate[bot]
709f6c227b chore(deps): pin dependency lint-staged to v6.1.1 (#879)
* chore(deps): update dependency lint-staged to v6.1.1

* Keep pinned versions + ensure `lint-staged` remains pre-7.x.

Follows-up on 17eab2d25c.

But makes sure that RenovateApp doesn't update this on our behalf.

Ref: https://renovateapp.com/docs/configuration-reference/configuration-options#allowedversions
2018-03-16 12:44:30 +02:00
Jesse Rosenberger
889f87ca4a
Switch to using CircleCI 2.0 Workflows. (#882)
By using CircleCI 2.0's new Workflow feature, we can more delicately
orchestrate how the test suite runs.

Specifically, we can have individual groups of tests report their status
independently to pull-requests, and react accordingly.  For example, rather
than the linting tests being lumped into the individual tests ran on each
Node.js platform version, we can now run them on their own (and also avoid
unnecessarily running them over and over again for each Node.js version!).

Each jobs test results will be reported to the pull-request directly and, if
desired, the repository's branch merge rules can be modified to allow specific
types of test failures (like linting) to be allowed.

This need for greater test granularity became quite relevant recently when many
of the outstanding PRs on this repository were failing because of "prettier"
failures which were not directly related to the files changed by the PR but
by other changes on the `master` branch.  In order to confidently review and
merge those PRs, it was necessary to look through each PRs four platform
test runs and ensure _each_ was a prettier failure and not something more
substantial.  This manual step left way too much room for error and was not
a confidence builder, at all!

I've also added a new test for the documentation generation to ensure that
no changes in the PR have caused the documentation to not generate, which
would result in stale documentation since the existing documentation would
simply remain in place until the problem was eventually noticed.

As a last benefit, in my observations so far, CircleCI is running more
tests, more quickly and with greater parallelisation than our previous test
provider.  Recently I've seen tests finishing in about two minutes rather than
what was sometimes 5 minutes.
2018-03-16 11:38:39 +02:00
Jesse Rosenberger
721ee0ce37
Further remove .json from prettier-ing.
Follow up on apollographql/apollo-server#886.

Ref: d4becdf6be
2018-03-16 11:09:15 +02:00
Jesse Rosenberger
d4becdf6be
Stop prettier-ing JSON files. (#886)
With a lack of comments and a fairly strict structure, it's arguable if JSON
files were ever meant to be pretty, but the method we're using right now is
a bit futile, especially considering that tools that we use to automatically
update JSON (specifically, package.json) don't run prettier themselves.

The most problematic rule is the 80 characters line limit.

Lines in JSON can be wrapped in, at most, one place: after the colon in the
key.  This means that as soon as a single npm-script declaration exceeds the
line-length rule a second time, it can't be wrapped again, resulting in a
violation of the very rule being enforced.

Clearly, I've always thought that prettying JSON is a bit silly, but the
straw that broke the camel's back here is automated package.json changes by
bots which update the repository via their automated PRs.

Perhaps in a day where the JavaScript package manifest finds a new file
extension (.js?, .yaml, .toml?), it will be able to reap the glitz and glamour
of being eloquently formatted, but until then we'll have to use long-line
wrapping in our editors.

...or shorten our npm scripts.
2018-03-16 10:47:08 +02:00
Sashko Stubailo
2f80d0680e Update index.md (#883) 2018-03-16 10:46:24 +02:00
Jesse Rosenberger
3a0608ebc5
Tick off Prettier checkmarks, which were present on CI but not locally. (#880)
For reasons unbeknownst to me, the changes below were only being complained
about in the CI environment but _not_ when I ran `npm run lint` locally.

It seems partially related to the OS its ran on, so I imagine there might be
some other sub-dependency at play here.  In an effort to fix this, I just
spawned a Ubuntu docker image, checked out this repository and ran the same
`npm run lint`.  This produced identical results to Travis, so I ran
`npm run lint-fix`, then saved the `git diff` results and have applied this
locally.

This should allow us to re-enable `prettier` in CI, though I have plans to
separate that from the actual `npm test` runs.  This should result in a better
workflow for managing PRs.
2018-03-16 10:25:07 +02:00
Sashko Stubailo
489c418efb
Update example.md 2018-03-15 13:05:32 -07:00
apollo-bot[bot]
22e699018d
[apollo-bot] Update the Templates with docs label (#877) 2018-03-14 18:21:52 +00:00
ericvera
d32695824a Fixed the link to the requests doc (#876) 2018-03-13 19:38:01 +02:00
renovate[bot]
17eab2d25c chore(deps): pin lint-staged to v6.x range (#840)
* Pin `lint-staged` to maintain Node.js 4 support.

The newer version of `lint-staged` (v7) drops support for Node.js 4, a version of Node.js which is still under Maintenance LTS support and therefore we still need to test against.  Since this npm would be used in our Node.js 4 test matrix, it's imperative that we not jump to v7.
2018-03-13 18:10:34 +02:00
Renovate Bot
d50b6b6fb2 chore(deps): update dependency graphql to v0.13.1 2018-03-13 16:01:14 +00:00
Sashko Stubailo
281392c3f0 Update to graphql@0.12 (#726)
* Update peer deps and tests for 0.12
* v1.3.2
2018-03-13 17:10:37 +02:00
renovate[bot]
8324a46903 chore(deps): update dependency express to v4.16.3 (#874) 2018-03-13 16:36:45 +02:00
Jesse Rosenberger
b0ac2015a7
Stop running prettier in Travis tests.
Primarily because the results that prettier is giving on Travis are not the
same as those that are exhibited locally.  Namely, the result of running the
`npm run lint` command locally returns different files than on TravisCI.

This makes it almost entirely impossible to determine what is wrong with the
files.  It's likely enough that it's running in post-commit, but I'd be
happy to re-introduce this commit if someone can figure out what is wrong!

For now though, it's interfering with the ability to merge PRs.

As another option, perhaps CircleCI workflows would allow us to have
separate fail badges for Lint tests rather than testing the linting in every
Node.js version of the build matrix and polluting the true success and
failure of the unarguably more important tests themselves (rather than the
formatting of the code which is being tested).
2018-03-13 15:44:25 +02:00
Jesse Rosenberger
96c65a4e16
Add docs/db.json to the root .gitignore so prettier will ignore it.
While this file is actually ignored by a `.gitignore` which lives inside the
`docs` directory (as is consistent with the various docs repositories or
sub-trees), prettier is being told to ignore files in the top-level
`.gitignore` and only supports a single `--ignore-path` file.

This will allow it to skip trying to format this `.json` file.
2018-03-13 15:41:36 +02:00
renovate[bot]
792d6d1542 chore(deps): update dependency sinon to v4.4.4 (#875) 2018-03-13 15:25:34 +02:00
renovate[bot]
2ac6057f8a chore(deps): update dependency mocha to v5 (#776) 2018-03-13 15:24:21 +02:00
renovate[bot]
8b961eba24 chore(deps): update dependency prettier to v1.11.1 (#846) 2018-03-13 11:54:27 +02:00
renovate[bot]
84926f137a chore(deps): pin dependencies (#873) 2018-03-13 10:49:28 +02:00
Marvin Hagemeister
9e8984c2ee Inline all possible functions that are used only once (#821)
* Inline isFunction type-guard

* Don't redefine functions on doRunQuery

* Update CHANGELOG
2018-03-12 21:25:12 +02:00
Jesse Rosenberger
fbdcac1a0f
[docs] Use package-based Hexo theme, rather than a Git submodule. (#869)
* docs: Use `devDependencies` instead of `dependencies`.

It's safe to mark all dependencies of this theme as 'dev' dependencies, as
none of them are needed to be installed in a production setting.

This was done automatically, so in some cases, this merges existing
`devDependencies`, and may also have added a missing `nodemon` `devDependency`
in cases where it was missing.  In other cases, this commit may not have
made such a change.

* docs: Remove _config.yml options now covered by global theme config.

* docs: Add `_multiconfig.yml`, a build artifact, to docs `.gitignore`.

* docs: Use theme from npm, rather than submodule, using `chexo`.

The theme which the docs in this repository are based on
([`hexo-theme-meteor`](https://github.com/meteor/hexo-theme-meteor)) has been
published to npm.

Additionally, most of the configuration which was once present in this
repository's `_config.yml` file, has been moved into an Apollo-centric theme
configuration npm,
[`apollo-hexo-config`](https://www.npmjs.com/package/apollo-hexo-config) (and
similarly, [GitHub](https://github.com/apollographql/apollo-hexo-config)).

The theme bundled in this npm is a converged version of the two `apollo`
and `master` branches on the `hexo-theme-meteor` repository, which is a result
of the work undertaken in https://github.com/meteor/hexo-theme-meteor/pull/51.

Lastly, this makes use of a new `chexo` npm which acts as a wrapper for `hexo`
but permits the use of an inherited configuration from npm, rather than a
statically defined CLI file parameter (previously with `--config a,b`).

* docs: Upgrade Hexo generator/tag/server dependencies.

* docs: Add missing `meteor-theme-hexo` package.

This was apparently missed, only on this repository (???) in my automated
commits, probably due to my own error.
2018-03-12 21:13:22 +02:00
renovate[bot]
6f3e373049 chore(deps): update dependency @types/koa-bodyparser to v4 (#777) 2018-03-12 21:00:55 +02:00
Jesse Rosenberger
7b0999f636
Remove trailing space on .md file, to satisfy prettier.
Originally introduced by apollographql/apollo-server#740.

Ref: https://github.com/apollographql/apollo-server/pull/740
2018-03-12 19:45:19 +02:00
Matt Donovan
715ce7b98f Fix sample in Azure function README.md (#747)
* Fix sample in Azure function README.md

The sample was missing a parameter in the calls to the apollo server. I also added a note about a current issue with local development of Azure functions on Macs.

* docs(apollo-server-azure): Remove schema option from graphiql

* Remove testing note Re: Azure functions on macOS.
2018-03-12 18:33:13 +02:00
Martin d'Allens
5fb6bf7215 Add missing options to README.md (#740) 2018-03-12 18:24:48 +02:00
Sashko Stubailo
9fce827fa7
Update .travis.yml 2018-03-12 09:17:28 -07:00
renovate[bot]
2fa4f77b51 chore(deps): update dependency @types/node to v9 (#820) 2018-03-12 18:17:05 +02:00
Renovate Bot
b395a52962 chore(deps): update dependency sinon to v4.4.3 2018-03-12 07:31:52 +00:00
Renovate Bot
cc3ac4db9c chore(deps): update dependency @types/node to v8.9.5 2018-03-09 07:00:42 +00:00
Renovate Bot
f27dc434c5 chore(deps): update dependency hapi to v17.2.2 2018-03-07 10:28:55 +00:00