diff --git a/packages/create-react-scripts/bin/create-react-scripts.js b/packages/create-react-scripts/bin/create-react-scripts.js
index 2bc4de5..5c03d35 100755
--- a/packages/create-react-scripts/bin/create-react-scripts.js
+++ b/packages/create-react-scripts/bin/create-react-scripts.js
@@ -1,4 +1,4 @@
 #!/usr/bin/env node
 "use strict";
 
-require('../index.js')();
+require('../index')();
diff --git a/packages/create-react-scripts/scripts/init.js b/packages/create-react-scripts/scripts/init.js
new file mode 100644
index 0000000..8abf9c6
--- /dev/null
+++ b/packages/create-react-scripts/scripts/init.js
@@ -0,0 +1,10 @@
+'use strict'
+
+// Makes the script crash on unhandled rejections instead of silently
+// ignoring them. In the future, promise rejections that are not handled will
+// terminate the Node.js process with a non-zero exit code.
+process.on('unhandledRejection', err => {
+  throw err;
+});
+
+module.exports = require('react-scripts/scripts/init');