I want to use bluebird's implementation of the Promise/A+ open standard and override native ES6 Promises. I also want the bluebird implementation to be available everywhere in my subsequently imported modules without having to require it in every single one of them. Bluebird's Getting started page tells me to:
var Promise = require("bluebird");
import Promise from 'bluebird';
global.Promise = Promise;
I have done this hundreds of times in my code over the last 4 years and so have plenty others among the 10 million monthly downloads.
It is officially supported to swap the native implementation with bluebird.
const Promise = require("bluebird");
On a per-file basis. Note that usuaslly you can promisify your APIs once and then generally avoid calling
Promise - calling at most