Open tsmalls93 opened 2 months ago
Could you share the package.json
of your ember-customer-auth
addon?
Sure. I tried putting ember-cookies
in dependencies
and peerDependencies
. Both had the same result.
{
"name": "ember-customer-auth",
"version": "1.4.0",
"description": "The default blueprint for Embroider v2 addons.",
"keywords": [
"ember-addon"
],
"repository": "",
"license": "MIT",
"author": "",
"exports": {
".": {
"types": "./declarations/index.d.ts",
"default": "./dist/index.js"
},
"./*": {
"types": "./declarations/*.d.ts",
"default": "./dist/*.js"
},
"./addon-main.js": "./addon-main.cjs"
},
"typesVersions": {
"*": {
"*": [
"declarations/*"
]
}
},
"files": [
"addon-main.cjs",
"declarations",
"dist"
],
"scripts": {
"build": "concurrently 'pnpm:build:*'",
"build:js": "rollup --config",
"build:types": "glint --declaration",
"lint": "concurrently 'pnpm:lint:*(!fix)' --names 'lint:'",
"lint:fix": "concurrently 'pnpm:lint:*:fix' --names 'fix:'",
"lint:hbs": "ember-template-lint . --no-error-on-unmatched-pattern",
"lint:hbs:fix": "ember-template-lint . --fix --no-error-on-unmatched-pattern",
"lint:js": "eslint . --cache",
"lint:js:fix": "eslint . --fix",
"lint:types": "glint",
"prepack": "concurrently 'pnpm:build:*'",
"start": "concurrently 'pnpm:start:*'",
"start:js": "rollup --config --watch --no-watch.clearScreen",
"start:types": "glint --declaration --watch",
"test": "echo 'A v2 addon does not have tests, run tests in test-app'"
},
"dependencies": {
"@embroider/addon-shim": "^1.8.7",
"decorator-transforms": "^2.0.0"
},
"devDependencies": {
"@babel/core": "^7.24.4",
"@babel/plugin-transform-typescript": "^7.24.4",
"@babel/runtime": "^7.24.4",
"@embroider/addon-dev": "^4.3.1",
"@glimmer/tracking": "^1.1.2",
"@glint/core": "^1.4.0",
"@glint/environment-ember-loose": "^1.4.0",
"@glint/environment-ember-template-imports": "^1.4.0",
"@glint/template": "^1.4.0",
"@rollup/plugin-babel": "^6.0.4",
"@tsconfig/ember": "^3.0.6",
"@types/ember": "^4.0.10",
"@types/ember-data": "^4.4.16",
"@types/ember-data__model": "^4.0.5",
"@types/ember-data__store": "^4.0.7",
"@types/ember__application": "^4.0.10",
"@types/ember__array": "^4.0.9",
"@types/ember__component": "^4.0.21",
"@types/ember__controller": "^4.0.11",
"@types/ember__debug": "^4.0.7",
"@types/ember__destroyable": "^4.0.4",
"@types/ember__engine": "^4.0.10",
"@types/ember__error": "^4.0.5",
"@types/ember__helper": "^4.0.5",
"@types/ember__modifier": "^4.0.8",
"@types/ember__object": "^4.0.11",
"@types/ember__owner": "^4.0.8",
"@types/ember__polyfills": "^4.0.5",
"@types/ember__routing": "^4.0.19",
"@types/ember__runloop": "^4.0.8",
"@types/ember__service": "^4.0.8",
"@types/ember__string": "^3.16.3",
"@types/ember__template": "^4.0.5",
"@types/ember__test": "^4.0.5",
"@types/ember__utils": "^4.0.6",
"@typescript-eslint/eslint-plugin": "^7.7.1",
"@typescript-eslint/parser": "^7.7.1",
"babel-plugin-ember-template-compilation": "^2.2.5",
"concurrently": "^8.2.2",
"ember-concurrency": "^4.0.2",
"ember-inflector": "^5.0.1",
"ember-template-lint": "^6.0.0",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-ember": "^12.0.2",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^17.3.1",
"eslint-plugin-prettier": "^5.1.3",
"prettier": "^3.2.5",
"prettier-plugin-ember-template-tag": "^2.0.2",
"rollup": "^4.16.4",
"rollup-plugin-copy": "^3.5.0",
"typescript": "^5.4.5"
},
"peerDependencies": {
"@ember-data/model": "^3.12.0 || ^4.0.0 || ^5.0.0",
"@ember-data/store": "^3.12.0 || ^4.0.0 || ^5.0.0",
"ember-concurrency": "^4.0.2",
"ember-cookies": "^1.1.2",
"ember-simple-auth": "^6.1.0",
"ember-simple-auth-oidc": "^6.0.1",
"webpack": "^5.0.0"
},
"publishConfig": {
"registry": "https://nexus.kub.org/repository/npm-hosted/"
},
"ember": {
"edition": "octane"
},
"ember-addon": {
"version": 2,
"type": "addon",
"main": "addon-main.cjs",
"app-js": {
"./adapters/authenticated.js": "./dist/_app_/adapters/authenticated.js",
"./authenticators/oidc.js": "./dist/_app_/authenticators/oidc.js",
"./models/application-settings.js": "./dist/_app_/models/application-settings.js",
"./models/user.js": "./dist/_app_/models/user.js",
"./routes/application.js": "./dist/_app_/routes/application.js",
"./routes/oidc-authentication.js": "./dist/_app_/routes/oidc-authentication.js",
"./services/session.js": "./dist/_app_/services/session.js"
}
}
}
If that's the current setup, then you might need to make sure that ember-cookies
is also installed in the main app.
We'd need a reproduction for this, the package.json looks fine.
Interestingly ember-simple-auth
does work which has a very similar setup, unless it's not actually imported and you only use the service?
Yeah. it is a weird issue. I have determined it only happens when I use pnpm link
to symlink the addon locally. Once I publish the addon, everything works fine. It also works for the test-app
within the addon monorepo.
For ember-simple-auth
I had to leave it in peerDependencies
. When I put it in dependencies
I would get the "Some V1 ember addons are resolving as incorrect peer dependencies." error because of a conflict with @ember/test-helpers
. I do not import anything directly from ember-simple-auth
directly, but I am overriding a lot in ember-simple-auth-oidc
which in turn overrides ember-simple-auth
.
I have a V2 addon that uses
ember-simple-auth
. When I try to use the addon in an Embroider app, it fails to start with the following error:I have
ember-cookies
installed as a dependency in my V2 addon, so I am not sure why this error is being thrown. I am usingpnpm link
if that helps.