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

Use of scoped NPM packages breaks some proxy repositories (Nexus 2) #8422

Closed
mattdsteele opened this issue May 3, 2016 · 13 comments
Closed
Labels
area: packaging Issues related to Angular's creation of npm packages type: bug/fix

Comments

@mattdsteele
Copy link

With rc0, Angular 2 is now distributed via the @angular scope.

This has the effect of being incompatible with the NPM registry my company uses (we are on Nexus 2.11). Other registries might encounter similar issues (Artifactory looks to be supported as of 3.4.2).

Scoped registries are available in a major Nexus update, but this is a significant upgrade and will take us a while to undertake.

It appears others have also been caught by this: https://twitter.com/pdudits/status/727486652495630336

In the interim, do we have any options to use the release candidate? And are you intending for the public release to also be published under scoped packages?

@barroudjo
Copy link

Same problem here.

@vladimir-ivanov
Copy link

we are not being able to upgrade either any time soon. Any alternatives please?

@stheves
Copy link

stheves commented Jun 20, 2016

Same problem here. Our company uses Nexus 2.11. We are also searching heavily for any alternatives?

@pablodenadai
Copy link

Same problem here. Some work around would be great.

@wesleycho
Copy link
Contributor

It doesn't seem like there is anything going to be changed about releasing in scope packages - it does sound like a workaround is to upgrade Nexus, and probably the only real viable one since it doesn't look like there is to be any particular change in Angular - it would be a costly build chain modification likely in order to work around this issue in the Angular release process, and create user confusion.

My word isn't official, but it seems like there is no real practical action for the Angular team to take here, and I'm not sure this is an Angular issue either.

@constantant
Copy link
Contributor

constantant commented Sep 13, 2016

I have a same problem!

@IgorMinar IgorMinar added area: packaging Issues related to Angular's creation of npm packages type: bug/fix labels Sep 13, 2016
@kudorgyozo
Copy link

Was this solved?

@mattdsteele
Copy link
Author

@kudorgyozo At its core this isn't really an Angular issue; but rather that the our tooling needs to support scoped modules. Probably not much more we can do here other than document the issue, and upgrade registries as appropriate.

For folks using Nexus, version 3.1 is available, which provides much-needed upgrade functionality from the 2.x branch.

@dineshba
Copy link

One work around that helped us to use angular2 dependencies and other private dependencies hosted in nexus is to create a .npmrc file with content like below

  @angular:registry =https://registry.npmjs.org
  @types:registry =https://registry.npmjs.org
  registry = nexus registry

Note: Hope the nexus registry of group type with npm hosted (where private deps are there) and npm proxy (which points to https://registry.npmjs.org)

@DzmitryShylovich
Copy link
Contributor

@alexeagle are there any plans to do something with @angular scope?

@alexeagle
Copy link
Contributor

No, we are moving all packages into this scope. Please comment if there's still a blocking issue with Nexus.

@AngelloMaggio
Copy link

I'm not sure about this fix on nexus, but, by default, the npm client encodes slash characters ('/') to their ASCII representation ("%2f") before communicating with the npm registry. If you are running Tomcat as your HTTP container (the default for Artifactory), this generates an "HTTP 400" error since Tomcat does not allow encoded slashes by default. In order work with npm scoped packages, you can override this default behavior by defining the following property in the catalina.properties file of your Tomcat:
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true

Note that if you use the latest versions of Artifactory Tomcat will do this for you.

@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 12, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area: packaging Issues related to Angular's creation of npm packages type: bug/fix
Projects
None yet
Development

No branches or pull requests