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

Ember Data is a secret dependency breaking consumers of ec-addon-docs #818

Open
elwayman02 opened this issue Apr 29, 2021 · 6 comments
Open
Labels

Comments

@elwayman02
Copy link
Contributor

It's marked as a peerDependency, but it is required for ec-addon-docs to run properly. If the consuming project does not have ember-data in its package.json, ec-addon-docs breaks and throws an error, and the docs will not render. However, we can't specify it as a dependency within ec-addon-docs, either.

Addons do not ship with ember-data by default, as it is not part of the addon blueprint. Most addons don't have a need to install it either, as most addons won't be doing any data fetching. So, we cannot count on ember-data to be present in order to ship a working experience to users of this project.

There are three possible solutions which could be used in conjunction with one another:

  1. Update the documentation for ec-addon-docs to explicitly ask users to install ember-data as part of the setup guide.
  2. Add ember-data to the blueprint so that installing ec-addon-docs ensures ember-data is also installed, when using ember install
  3. Use version checker to have addon-docs throw an error if a valid version of ember-data (currently 3.0+) is not present in the consuming addon.
shamrt added a commit to rewardops/ember-react-components that referenced this issue Jun 10, 2021
ctjhoa pushed a commit to ctjhoa/ember-ajax-fetch that referenced this issue Oct 7, 2021
Needed for ember-cli-addon-docs ...
ember-learn/ember-cli-addon-docs#818
ctjhoa pushed a commit to ctjhoa/ember-ajax-fetch that referenced this issue Oct 7, 2021
Needed for ember-cli-addon-docs ...
ember-learn/ember-cli-addon-docs#818
mrloop pushed a commit to qonto/ember-amount-input that referenced this issue Sep 7, 2022
ember-cli-addon-docs requires ember-data. Removed previously
#380

ember-learn/ember-cli-addon-docs#818
mrloop pushed a commit to qonto/ember-amount-input that referenced this issue Sep 7, 2022
ember-cli-addon-docs requires ember-data. Removed previously
#380

ember-learn/ember-cli-addon-docs#818
mrloop pushed a commit to qonto/ember-amount-input that referenced this issue Sep 7, 2022
ember-cli-addon-docs requires ember-data. Removed previously
#380

ember-learn/ember-cli-addon-docs#818
mrloop pushed a commit to qonto/ember-amount-input that referenced this issue Sep 7, 2022
ember-cli-addon-docs requires ember-data. Removed previously
#380

ember-learn/ember-cli-addon-docs#818
@barryofguilder
Copy link
Contributor

I just ran into this issue when trying to upgrade my addon to Ember 4.x. I didn't realize that ember-data was added as a devDependency years ago for ember-cli-addon-docs. I removed it since it was pointing to 3.x, then I spent a while trying to figure out why I was getting this error in my dev console:

Screen Shot 2022-11-16 at 7 21 29 PM

@RobbieTheWagner
Copy link
Member

I realize this thread is old, but how do we feel about this today? A peerDependency does mean it is required to run. I think the problem is some folks use things that magically install peers automatically, and they do not get the warnings something like pnpm would give when the peerDep is not installed.

@barryofguilder
Copy link
Contributor

Because I'm using pnpm now, it's not as big of a deal. But, I lost a lot of time in the past with this. I think if the docs mention that you also need to install ember-data, that would be enough. I've seen plenty other libraries mention that multiple things need to be installed for it to work.

@elwayman02
Copy link
Contributor Author

I think option 1 is a must, and very low effort. Option 3 would still be pretty reasonable if it's going to break without that dependency, and I think that's fairly standard practice for peerDeps that are critical (as opposed to, say, testing-only peerDeps that are somewhat optional).

@RobbieTheWagner
Copy link
Member

I think adding to the docs is reasonable. Anyone interested in opening a PR?

@barryofguilder
Copy link
Contributor

I've just created this PR for it. I'm not great at wording this, so would love feedback on it.

#1616

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

No branches or pull requests

4 participants