Skip to content

Commit

Permalink
Merge pull request #159 from jasonmit/u/jasonmit/e-auto-import
Browse files Browse the repository at this point in the history
feat: Switch custom webpack build step to ember-auto-import
  • Loading branch information
bgentry committed Sep 14, 2018
2 parents 1bc8c6d + fdaa49e commit a721d67
Show file tree
Hide file tree
Showing 7 changed files with 732 additions and 312 deletions.
16 changes: 0 additions & 16 deletions README.md
Expand Up @@ -70,22 +70,6 @@ let ENV = {
}
```

In `ember-cli-build.js`, you can specify additional Apollo packages to include, as well as packages to exclude from the build.

_Note: included packages must also be explicitly installed as development dependencies in `package.json`._

Valid package names can be found [here](https://github.com/apollographql/apollo-link/tree/master/packages).

```js
let app = new EmberApp(defaults, {
...
apollo: {
include: ['apollo-link-batch-http'],
exclude: ['graphql-tag'],
},
})
```

Additional configuration of the ApolloClient can be done by extending the Apollo
service and overriding the `clientOptions` property. See the
[Apollo Service API][apollo-service-api] for more info.
Expand Down
2 changes: 1 addition & 1 deletion blueprints/ember-apollo-client/index.js
Expand Up @@ -10,7 +10,7 @@ module.exports = {
*/
afterInstall() {
return this.addPackagesToProject([
{ name: 'ember-fetch', target: '^3.4.4' },
{ name: 'ember-fetch', target: '^5.1.1' },
]);
},
};
55 changes: 17 additions & 38 deletions index.js
@@ -1,46 +1,24 @@
'use strict';

const apolloClientDefaultPackages = [
'apollo-cache',
'apollo-cache-inmemory',
'apollo-client',
'apollo-link',
'apollo-link-context',
'apollo-link-http',
'graphql',
'graphql-tools',
'graphql-tag',
];

module.exports = {
name: 'ember-apollo-client',

included() {
this._super.included.apply(this, arguments);

this.import('vendor/-apollo-client-bundle.js');
this.import('vendor/-apollo-client-shims.js');
},

addonConfig() {
return this._findHost().options['apollo'] || {};
},

treeForVendor() {
const WebpackDependencyPlugin = require('./lib/webpack-dependency-plugin');
const {
include: userPackages = [],
exclude: excludedPackages = [],
} = this.addonConfig();

const includedPackages = apolloClientDefaultPackages.filter(
p => !excludedPackages.includes(p)
);

return new WebpackDependencyPlugin({
outputName: 'apollo-client',
expose: [...includedPackages, ...userPackages],
});
options: {
autoImport: {
webpack: {
module: {
rules: [
/* fixes issue with graphql-js's mjs entry */
/* see: https://github.com/graphql/graphql-js/issues/1272#issuecomment-393903706 */
{
test: /\.mjs$/,
include: /node_modules\/graphql/,
type: 'javascript/auto',
},
],
},
},
},
},

setupPreprocessorRegistry(type, registry) {
Expand All @@ -50,6 +28,7 @@ module.exports = {
ext: 'graphql',
toTree(tree) {
const GraphQLFilter = require('broccoli-graphql-filter');

return new GraphQLFilter(tree);
},
});
Expand Down
6 changes: 0 additions & 6 deletions lib/.eslintrc.js

This file was deleted.

100 changes: 0 additions & 100 deletions lib/webpack-dependency-plugin.js

This file was deleted.

25 changes: 11 additions & 14 deletions package.json
Expand Up @@ -25,25 +25,20 @@
"test:all": "ember try:each"
},
"dependencies": {
"apollo-cache": "^1.0.2",
"apollo-cache": "^1.1.13",
"apollo-cache-inmemory": "^1.1.4",
"apollo-client": "^2.0.4",
"apollo-link": "^1.0.7",
"apollo-link-context": "^1.0.3",
"apollo-link-http": "^1.3.2",
"apollo-client": "^2.3.7",
"apollo-link": "^1.2.2",
"apollo-link-context": "^1.0.8",
"apollo-link-http": "^1.5.4",
"broccoli-graphql-filter": "^0.2.4",
"broccoli-merge-trees": "^1.2.1",
"broccoli-plugin": "^1.3.0",
"ember-cli-babel": "^6.11.0",
"graphql": "^0.13.2",
"graphql-tag": "^2.6.1",
"graphql-tools": ">2.14.1",
"webpack": "^2.2.1"
"ember-auto-import": "^1.2.5",
"ember-cli-babel": "^6.16.0",
"graphql": "^0.13.2"
},
"devDependencies": {
"@playlyfe/gql": "^2.6.0",
"broccoli-asset-rev": "^2.7.0",
"ember-ajax": "^3.0.0",
"ember-cli": "~3.3.0",
"ember-cli-dependency-checker": "^2.0.0",
"ember-cli-eslint": "^4.2.1",
Expand All @@ -58,7 +53,7 @@
"ember-common-tags": "0.1.2",
"ember-disable-prototype-extensions": "^1.1.2",
"ember-export-application-global": "^2.0.0",
"ember-fetch": "^3.4.4",
"ember-fetch": "^5.1.1",
"ember-load-initializers": "^1.1.0",
"ember-maybe-import-regenerator": "^0.1.6",
"ember-resolver": "^4.0.0",
Expand All @@ -69,6 +64,8 @@
"eslint-plugin-ember": "^5.0.0",
"eslint-plugin-node": "^6.0.1",
"eslint-plugin-prettier": "2.6.0",
"graphql-tag": "^2.9.2",
"graphql-tools": ">2.14.1",
"loader.js": "^4.2.3",
"prettier": "^1.13.7",
"qunit-dom": "^0.6.2"
Expand Down

0 comments on commit a721d67

Please sign in to comment.