{"action":"opened","issue":{"url":"https://api.github.com/repos/fsprojects/Paket/issues/1348","labels_url":"https://api.github.com/repos/fsprojects/Paket/issues/1348/labels{/name}","comments_url":"https://api.github.com/repos/fsprojects/Paket/issues/1348/comments","events_url":"https://api.github.com/repos/fsprojects/Paket/issues/1348/events","html_url":"https://github.com/fsprojects/Paket/issues/1348","id":125041012,"number":1348,"title":"Paket pack messes NPM type paths with @ char","user":{"login":"Vidarls","id":549092,"avatar_url":"https://avatars.githubusercontent.com/u/549092?v=3","gravatar_id":"","url":"https://api.github.com/users/Vidarls","html_url":"https://github.com/Vidarls","followers_url":"https://api.github.com/users/Vidarls/followers","following_url":"https://api.github.com/users/Vidarls/following{/other_user}","gists_url":"https://api.github.com/users/Vidarls/gists{/gist_id}","starred_url":"https://api.github.com/users/Vidarls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Vidarls/subscriptions","organizations_url":"https://api.github.com/users/Vidarls/orgs","repos_url":"https://api.github.com/users/Vidarls/repos","events_url":"https://api.github.com/users/Vidarls/events{/privacy}","received_events_url":"https://api.github.com/users/Vidarls/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-01-05T20:08:53Z","updated_at":"2016-01-05T20:08:53Z","closed_at":null,"body":"Example: \r\n\r\n`font-awesome@4.5.0`\r\n\r\nbecomes\r\n\r\n`font-awesome%404.5.0`\r\n\r\nI'm using octopus deploy to deploy a web application that uses some npm type packages and I use paket to package the project. \r\n\r\nFrom looking at paket code, this seems to be more a feature than a bug, as Escape URI string seems to be used:\r\n\r\n```f#\r\nlet ensureValidName (target: string) =\r\n        let escapedTargetParts = target.Replace(\"\\\\\", \"/\").Split('/') |> Array.map Uri.EscapeDataString\r\n        let escapedTarget = String.Join(\"/\",escapedTargetParts)\r\n\r\n        let uri1 = Uri(escapedTarget, UriKind.Relative)\r\n        let uri2 = Uri(uri1.GetComponents(UriComponents.SerializationInfoString, UriFormat.SafeUnescaped), UriKind.Relative)\r\n        \r\n        uri2.GetComponents(UriComponents.SerializationInfoString, UriFormat.UriEscaped)\r\n```\r\n\r\nref: https://github.com/fsprojects/Paket/blob/master/src/Paket.Core/NupkgWriter.fs#L229\r\n\r\nIt does however give me some 404 headaches now.."}}