Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provided a makeServer function on config.js to allow more access to the mirageJS configurations #1994

Merged
merged 2 commits into from
Aug 14, 2020

Conversation

cah-brian-gantzler
Copy link
Collaborator

@cah-brian-gantzler cah-brian-gantzler commented Jun 19, 2020

First PR for discussion in #1989

There is really only a small bit of code in a a few files.
addon/ember-data.js
addon/index.js
addon/start-mirage.js
app/initializers/ember-cli-mirage.js

All the other files are test related with most as a clone of test project 1 into test project 3 to show makeServer working.

mirage/config.js can now be written as

import { Server } from 'miragejs';
import { discoverEmberDataModels } from 'ember-cli-mirage';

export function makeServer(options) {
  options.routes = routeHandlers;
  discoverEmberDataModels(options);
  return new Server(options)
}

export function routeHandlers() {
  this.resource('user');
}

@samselikoff
Copy link
Collaborator

Ok – I think this is what we should do:

/*
  The named `makeServer` function export gives you a lower-level way to hook
  into how your Ember app instantiates your Mirage JS server.

  Typically, the `/mirage/config.js` file contains a single default export which
  is a function defining all your Mirage route handlers. Ember CLI Mirage then
  uses this function, along with all the other modules you've defined in
  `mirage/models`, `mirage/fixtures`, mirage/factories`, and
  `mirage/serializers`, to create your Mirage JS server when your app boots up
  in development and testing.

  You can now opt in to having more control over exactly how your Mirage server
  is instantiated, as well as the ability to use imports directly from the
  `miragejs` npm package, by exporting a single named function called
  `makeServer` instead.

  `makeServer` receives a single argument called `config`, which contains all
  the factory/fixture/serializer/model modules that exist in your project's
  `/mirage` directory. This saves you from having to import each module
  explicitly and then pass it into your Mirage server, just like you're used to
  with the default setup.

  The `config` argument maps exactly to everything inside of your `/mirage`
  directory - notably, it does not contain the autogenerated Mirage model
  definitions derived from your Ember Data models, which is an important feature
  of Ember CLI Mirage that is enabled by default. To replicate this behavior
  when using `makeServer`, we have provided an additional import called
  `discoverEmberDataModels` from the `ember-cli-mirage` package that you can use
  to augment your config with these models so that your Mirage schema is
  automatically inferred from your host application's Ember Data models and
  relationships. The snippet below shows how to do this. Note that the order
  here matters if you also have models defined in your `/mirage/models`
  directory, as those model definitions would "win" in the event of a conflict
  with the ones autodiscovered from Ember Data. (However, most of time if you
  are inferring your Mirage schema from Ember Data, you shouldn't need to define
  additional models.)

  Finally, your route handlers just need to be passed to the `routes()` key in
  your Mirage config. You can do this inline, or you can make them a separate
  function, and organize that function however you choose.

  The only thing needed to enable this behavior is that you delete the default
  function export and instead export a single named function called
  `makeServer`. You should also add `miragejs` to your project's dependencies in
  your `package.json` file, since you are now importing directly from it. Note
  that this gives you the added benefit of being able to upgrade `miragejs`
  independently of `ember-cli-mirage`.

  Eventually, `ember-cli-mirage` will shed its re-exports of everythign from
  `miragejs', and become a small wrapper library delegating the rest of the work
  to `miragejs`. This will help align the Ember Mirage users with the rest of
  the Mirage JS community. 
*/

// Example with inline routes
import { createServer } from "miragejs";
import { discoverEmberDataModels } from "ember-cli-mirage";

export function makeServer(config) {
  let finalConfig = {
    ...config,
    models: { ...discoverEmberDataModels(), ...config.models },
    routes() {
      // this.namespace = '/api'

      // this.resource('user')
    },
  };

  return createServer(finalConfig);
}

// Example with routes in an external function
import { createServer } from "miragejs";
import { discoverEmberDataModels } from "ember-cli-mirage";

export function makeServer(config) {
  let finalConfig = {
    ...config,
    models: { ...discoverEmberDataModels(), ...config.models },
    routes
  };

  return createServer(finalConfig);
}

function routes() {
  // this.namespace = '/api'

  // this.resource('user')
}

@samselikoff
Copy link
Collaborator

Basically just change discoverEmberDataModels to return the getModels() result, rather than doing any merging. And then remove the named routeHandlers export. Let's just keep that up to them.

Finally, let's undo the changes to the blueprint. We have some more work to do to deprecate the ember-cli-mirage imports – for example, if they are going to use this, they'll need to install miragejs themselves to import it. (Right now miragejs is a dependency of ember-cli-mirage, so if we wanted to change the blueprint we would need to update index.js to addProjectsToPackage('miragejs'). But then we'd need to think of a migration path for existing users! Let's keep it simple and not do all these changes right now.)

@cah-brian-gantzler
Copy link
Collaborator Author

cah-brian-gantzler commented Jul 29, 2020

Yep, I forgot the mirageJS doesnt carry through, which is why all the files for import export like belongsTo and hasMany for example. Until these are shed, could we add one more to the pile and just import/export createServer to allow the blueprint to promote the newer way for new installs now? (just re-export createServer instead of addProjectsToPackage('miragejs') would do it pretty unobtrusively)

import { createServer, discoverEmberDataModels } from "ember-cli-mirage";

Didnt think about this syntax, yea if you want the merge to happen here no problem.

models: { ...discoverEmberDataModels(), ...config.models },

[Deleted incorrect comment]

@cah-brian-gantzler
Copy link
Collaborator Author

actually createServer already is exported in export * from 'miragejs';

index.js

export { default } from 'miragejs';
export * from 'miragejs';
export {discoverEmberDataModels} from './ember-data';

@cah-brian-gantzler
Copy link
Collaborator Author

Given

if (config.routes) {
      assert(!config.baseConfig, "The routes option is an alias for the baseConfig option. You can't pass both options into your server definition.");
      config.baseConfig = config.routes;
    }

Which should be be passing into makeServer, routes or baseConfig? Which is the preferred way?

@samselikoff
Copy link
Collaborator

could we just add createServer as one more export from 'ember-cli-mirage'?

Sure, that's fine 👍

should we use routes or baseConfig?

routes() was added so we should go with that. I think baseConig shouldn't be populated basically in the config option passed in, since typically that would come from the default export in mirage/config.js.

@cah-brian-gantzler
Copy link
Collaborator Author

Your whole comments above with examples are great, where should I put that? In the docs? Maybe a new nav called "server configuration"

@cah-brian-gantzler
Copy link
Collaborator Author

All the test are passing, but getting a linting error

/Users/brian.gantzler/source-personal/ember-cli-mirage/test-projects/03-app-that-uses-make-server/mirage/config.js
  5:5  error  Parsing error: Unexpected token ..

Its complaining about the ...config. Any idea how to get rid of this linting error? or do I exclude the config.js from linting

export function makeServer(config) {
  let finalConfig = {
    ...config,
    models: { ...discoverEmberDataModels(), ...config.models },
  };

  return createServer(finalConfig)
}

@cah-brian-gantzler
Copy link
Collaborator Author

Ok fixed the linting

When trying to check the documentation, when running ember s got the following

 Could not find module `fetch` imported from `dummy/instance-initializers/setup-fetch`

added ember-fetch to the package.json, then got the following

[DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
Error while processing route: index Cannot read property 'pathname' of undefined TypeError: Cannot read property 'pathname' of undefined
    at Class.beforeModel (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-aOqs56aH.tmp/assets/dummy/pods/application/route.js:11:1)

Needless to say, have not successfully run the demo app

This PR should have the suggested changes with the exception the blueprint is still altered but is instead

import { createServer, discoverEmberDataModels } from "ember-cli-mirage";

To account for the correct import

@samselikoff
Copy link
Collaborator

Ok, are you able to run the docs app on master? I would try that first and make sure it works on your machine.

(Am I correct in remembering you had trouble getting it running recently?)

@cah-brian-gantzler
Copy link
Collaborator Author

Yes it would not start due to an error you fixed (fabd388), once it started I thought I was good, but when navigating to the url I now get the above errors.

Yes, I get the same missing fetch on master, add ember-fetch and then get the next error, did not continue fixing errors.

I was looking at the tests directory and there are not really tests, however I think I could write an integration for a fake component that gets data from the a mirage source. If I then use the new config to do that, I could remove the test app 03. I assume you would like me to look into that given test-03 was a concern earlier?

@samselikoff
Copy link
Collaborator

I think test-03 is fine bc we can delete it if it ever becomes a problem.

We should figure out why the demo app is not working for you though eh? You're saying, you can run master but can't visit certain URLs?

@cah-brian-gantzler
Copy link
Collaborator Author

I am on the master branch,
Yes it now started up, but when I visit localhost:4200 I get the following

Error: Could not find module `fetch` imported from `dummy/instance-initializers/setup-fetch`
    at missingModule (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-d6MH0x6H.tmp/assets/vendor/loader/loader.js:247:1)
    at findModule (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-d6MH0x6H.tmp/assets/vendor/loader/loader.js:258:1)
    at Module.findDeps (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-d6MH0x6H.tmp/assets/vendor/loader/loader.js:168:1)
    at findModule (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-d6MH0x6H.tmp/assets/vendor/loader/loader.js:262:1)
    at requireModule (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-d6MH0x6H.tmp/assets/vendor/loader/loader.js:24:1)
    at r (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-d6MH0x6H.tmp/assets/vendor/loader/loader.js:176:1)
    at resolveInitializer (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-d6MH0x6H.tmp/assets/addon-tree-output/ember-load-initializers/index.js:10:1)
    at registerInstanceInitializers (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-d6MH0x6H.tmp/assets/addon-tree-output/ember-load-initializers/index.js:33:1)
    at loadInitializers (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-d6MH0x6H.tmp/assets/addon-tree-output/ember-load-initializers/index.js:69:1)
    at Module.callback (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-d6MH0x6H.tmp/assets/dummy/app.js:13:1)
    at Module.exports (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-d6MH0x6H.tmp/assets/vendor/loader/loader.js:106:1)
    at Module._reify (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-d6MH0x6H.tmp/assets/vendor/loader/loader.js:143:1)
    at Module.reify (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-d6MH0x6H.tmp/assets/vendor/loader/loader.js:130:1)
    at Module.exports (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-d6MH0x6H.tmp/assets/vendor/loader/loader.js:104:1)
    at Object.requireModule (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-d6MH0x6H.tmp/assets/vendor/loader/loader.js:27:1)
    at Object.<anonymous> (/Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/ember-cli-fastboot/node_modules/fastboot/src/ember-app.js:213:18)
    at VMSandbox.run (/Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/ember-cli-fastboot/node_modules/fastboot/src/vm-sandbox.js:18:15)
    at EmberApp.createEmberApp (/Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/ember-cli-fastboot/node_modules/fastboot/src/ember-app.js:212:30)
    at EmberApp.retrieveSandboxedApp (/Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/ember-cli-fastboot/node_modules/fastboot/src/ember-app.js:237:17)
    at new EmberApp (/Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/ember-cli-fastboot/node_modules/fastboot/src/ember-app.js:61:21)
    at FastBoot._buildEmberApp (/Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/ember-cli-fastboot/node_modules/fastboot/src/index.js:114:17)
    at new FastBoot (/Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/ember-cli-fastboot/node_modules/fastboot/src/index.js:52:10)
    at /Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/ember-cli-fastboot/index.js:335:29
    at Layer.handle [as handle_request] (/Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/express/lib/router/index.js:317:13)
    at /Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/express/lib/router/index.js:335:12)
    at next (/Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/express/lib/router/index.js:275:10)
    at /Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/ember-cli/lib/tasks/server/middleware/broccoli-watcher/index.js:54:11
    at watcher.then.errorHandler.buildError (/Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/broccoli-middleware/lib/watcher-middleware.js:35:7)
    at tryCatcher (/Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/rsvp/dist/lib/rsvp/-internal.js:39:19)
    at invokeCallback (/Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/rsvp/dist/lib/rsvp/-internal.js:211:31)
    at /Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/rsvp/dist/lib/rsvp/then.js:26:14
    at flush (/Users/brian.gantzler/source-personal/ember-cli-mirage/node_modules/rsvp/dist/lib/rsvp/asap.js:80:5)
    at processTicksAndRejections (internal/process/task_queues.js:75:11)

Adding "ember-fetch": "^8.0.1", to the devDependancies, yarn, then re-run gets this

TypeError: Cannot read property 'pathname' of undefined
    at Class.beforeModel (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-PhXytBhA.tmp/assets/dummy/pods/application/route.js:11:1)
    at UnresolvedRouteInfoByParam.runBeforeModelHook (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-PhXytBhA.tmp/assets/router_js.js:782:1)
    at /Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-PhXytBhA.tmp/assets/router_js.js:691:1
    at invokeCallback (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-PhXytBhA.tmp/assets/rsvp.js:493:1)
    at publish (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-PhXytBhA.tmp/assets/rsvp.js:476:1)
    at /Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-PhXytBhA.tmp/assets/ember-testing/lib/ext/rsvp.js:19:1
    at invokeWithOnError (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-PhXytBhA.tmp/assets/backburner.js:347:1)
    at Queue.flush (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-PhXytBhA.tmp/assets/backburner.js:229:1)
    at DeferredActionQueues.flush (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-PhXytBhA.tmp/assets/backburner.js:426:1)
    at Backburner._end (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-PhXytBhA.tmp/assets/backburner.js:960:1)
    at Backburner._boundAutorunEnd (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-PhXytBhA.tmp/assets/backburner.js:629:1)
    at run (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-PhXytBhA.tmp/assets/vendor/babel-polyfill/polyfill.js:4580:1)
    at /Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-PhXytBhA.tmp/assets/vendor/babel-polyfill/polyfill.js:4597:1
    at flush (/Users/brian.gantzler/source-personal/ember-cli-mirage/tmp/broccoli_persistent_filtersimple_replace-output_path-PhXytBhA.tmp/assets/vendor/babel-polyfill/polyfill.js:1709:1)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)

Do not know what this error is so couldnt continue

I would think if you cloned the repo you would get the same thing

@bgantzler bgantzler force-pushed the server-config-access branch from 261510c to f6543f8 Compare August 6, 2020 00:03
@cah-brian-gantzler
Copy link
Collaborator Author

Noticed that there were some dependency updates on master. Rebased and now the docx app runs again. Did have a slight missing entry. Fixed that.

PR should be good to go now.

@bgantzler bgantzler force-pushed the server-config-access branch from f6543f8 to 8b99441 Compare August 7, 2020 13:58
@cah-brian-gantzler
Copy link
Collaborator Author

Hopefully we have gotten past all the hurdles and we can get this merged so I can get the Original PR that started all this finished 👍

let server;
if (makeServer) {
server = makeServer(options);
if (typeof location !== 'undefined' && location.search.indexOf('mirageLogging') !== -1) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this guy supposed to be here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, because when we call makeServer we are by passing the ember-cli-mirage Server class extend, and this code was in that Server class. Without it here the mirage logging check box will not work. I found this when i rebased my application to use a make server and I was running tests.

When the old way is deprecated and then removed, the Server class in ember-cli-mirage will also be removed.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah the qunit toggle. Gotcha, thanks!

@samselikoff
Copy link
Collaborator

Only last q is, should we change the default blueprint? I kinda think we should leave it alone since makeServer is more of a power user feature and currently undocumented.

@cah-brian-gantzler
Copy link
Collaborator Author

In order to reduce the foot print of ember-cli-mirage at some point you would have to deprecate and make the makeServer function mandatory. If we change the blue print now, fewer people will be affected by the change, they just ignore the boiler plate code and change the route function as before, if they need the more advanced its setup for them and ready to go.

If I were a new user, I would have liked that you saved me an eventual change down the road. If you dont plan on deprecating and removing then old way, then I would say yes, maybe not change the blueprint.

So its up to you, I can change it back.

@samselikoff
Copy link
Collaborator

Definitely plan on deprecating + removing but, I think you might be underestimating how confusing this would be for someone new to the addon, especially since it's not documented anywhere on the site yet, and all the examples show something different when referencing the mirage/config.js file. I think we should leave the blueprint alone for now and change it when we decide to tackle the rest of the migration step.

Thanks for keeping pushing on this + sorry it's taken me a while to go back and forth!

@cah-brian-gantzler
Copy link
Collaborator Author

Maybe you might to add some comments above the make function similar to what type script does for boilerplate code.

// DO NOT DELETE: this is how TypeScript knows how to look up your controllers.
declare module '@ember/controller' {
  interface Registry {
    'application': Application;
  }
}

I like it at the top, because I would move the routes to another file, but we could move it to the bottom maybe? I didnt put the enitre comments you added above in the blueprint, that seems a bit much, but we could put the whole thing there if we moved it to below the routes function. Or maybe an abbreviated set of those comments

@cah-brian-gantzler
Copy link
Collaborator Author

K, Ill change it back then, give me a few

@samselikoff
Copy link
Collaborator

Yeah I think we could come up with some way to document it via comments but it feels like rushing it, I say we just wait until we can actually document this.

@cah-brian-gantzler
Copy link
Collaborator Author

I thought about this and Ill add just these points.

As a new user, if I cant find what I need in ember-cli-mirage, I might go to the mirageJs website and there all the examples talk about configing the server a completely different way, if I saw the make server function, I would see some common code between MirageJs and ember-cli-mirage to help bridge that gap.

Second, the followup will be the work I did for reverse engineering the serializers much the way you do with models. I would like it to be part of this addon instead of its own but either way the point is the same, it will only be supported under the makeServer option (why we started down this road), which means in order to use the new feature, they would be forced to change the config rather than add an import and a property to the options config (new users only of course, cause thats where the blueprint comes into play)

I started looking through the examples in the guides and under the functions tab the first example is this

// mirage/config.js
this.get('/movies', () => {
  return [ 'Interstellar', 'Inception', 'Dunkirk' ];
});

It says config.js, but clearly is not showing the entire config, just the part your interested it, so in overview when it lists this

// mirage/config.js
export default function() {
  this.namespace = 'api';

  this.get('/movies', () => {
    return {
      data: [
        { id: 1, type: 'movies', attributes: { name: 'Interstellar' } },
        { id: 2, type: 'movies', attributes: { name: 'Inception' } },
        { id: 3, type: 'movies', attributes: { name: 'Dunkirk' } },
      ]
    };
  });

}

the same would imply, you are talking about this function, not showing the entire config. So if we went back to export default unnamed, I dont think any of the current docs would be misleading. (By doing so they do have to infer later it doesnt have to be export default, you can name and use. not so much an issue.

So some food for thought. Ill change the blue print back, but easy enough to put back in later

@samselikoff
Copy link
Collaborator

Understood and appreciate the thoughts. I think I just want to do a bit of planning so we can tie up all these loose ends together. Ryan and I are going to be shipping Mirage v1 in a month from now and I want to get ember-cli-mirage users basically reading those docs and get rid of the majority of these ones. I think that will be a good time to revisit this. In the mean time we can document in a guide on this site.

@samselikoff
Copy link
Collaborator

Ok, I think this is good to go?

@cah-brian-gantzler
Copy link
Collaborator Author

I agree, other than the blueprint revert that wouldnt matter, I have converted my company app over to use the branch and all the tests worked as expected (thats where i found the qunit thing so its a good thing I did that)

@cah-brian-gantzler
Copy link
Collaborator Author

For the next question though, are you open to adding the serializer generation in this addon or do I need to make another (which I can now do because of this PR)

@cah-brian-gantzler
Copy link
Collaborator Author

Any idea when this may be merged and I can move onto the serializer generation?

@samselikoff samselikoff merged commit 3553857 into miragejs:master Aug 14, 2020
@samselikoff
Copy link
Collaborator

Sorry I think I was waiting for tests to pass last time!

Can you open new issue laying out the serializer APIs you need so we can discuss there?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants