github-tools / github-tools/github

Requestable.js `require('js-base64')` returns an empty object

Open
#447 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
3.8k
Forks
809
PR merge metrics
No merged PRs in 30d

Description

Hey guys, I'm facing a strange issue. On my distribution Requestable.js, `require('js-base64')` returns an empty object.

Line 15, `node_modules/github-api/dist/components/Requestable.js`

```javascript
var _jsBase = require('js-base64');
console.log(_jsBase) // {}
```
So then, when it tries to encode the username and password using base64 in line 96:

```javascript
this.__authorizationHeader = 'Basic ' + _jsBase.Base64.encode(auth.username + ':' + auth.password);
```

Of course that it fails as `_jsBase` doesn't have a property `Base64`. Do you know what might be going on?

This is my package.json:

```json
{
"name": "github",
"version": "0.0.0",
"description": "Hello Expo!",
"author": null,
"private": true,
"main": "main.js",
"dependencies": {
"expo": "16.0.0",
"github-api": "^3.0.0",
"react": "16.0.0-alpha.6",
"react-native": "https://github.com/expo/react-native/archive/sdk-16.0.0.tar.gz"
},
"devDependencies": {
"babel-plugin-add-module-exports": "^0.2.1",
"buffer": "^5.0.6"
}
}
```

and `js-base64` seems to be installed correctly.

Thanks!

![image](https://cloud.githubusercontent.com/assets/872296/25547987/b8fe4bfc-2c40-11e7-8e2c-88f644b4a447.png)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in node_modules/github-api/dist/components/Requestable.js at lines 15 and 96, then inspect how the installed js-base64 package exports its Base64 API under the versions in package.json. Reproduce the require result in the reported Expo/React Native setup; done means authentication can construct the Basic authorization header without _jsBase being empty.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.