diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..ee0b197 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,11 @@ +# Change Log + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + + +# 0.1.0 (2018-02-26) + + +### Features + +* **core:** CHECKOUT-2739 Add `ScriptLoader` responsible for loading JS files asynchronously ([06620da](https://github.com/bigcommerce/script-loader-js/commit/06620da)) diff --git a/lib/create-script-loader.d.ts b/lib/create-script-loader.d.ts new file mode 100644 index 0000000..6877eb4 --- /dev/null +++ b/lib/create-script-loader.d.ts @@ -0,0 +1,2 @@ +import ScriptLoader from './script-loader'; +export default function createScriptLoader(): ScriptLoader; diff --git a/lib/create-script-loader.js b/lib/create-script-loader.js new file mode 100644 index 0000000..2dcba10 --- /dev/null +++ b/lib/create-script-loader.js @@ -0,0 +1,8 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var script_loader_1 = require("./script-loader"); +function createScriptLoader() { + return new script_loader_1.default(document); +} +exports.default = createScriptLoader; +//# sourceMappingURL=create-script-loader.js.map \ No newline at end of file diff --git a/lib/create-script-loader.js.map b/lib/create-script-loader.js.map new file mode 100644 index 0000000..86dd578 --- /dev/null +++ b/lib/create-script-loader.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-script-loader.js","sourceRoot":"","sources":["../src/create-script-loader.ts"],"names":[],"mappings":";;AAAA,iDAA2C;AAE3C;IACI,MAAM,CAAC,IAAI,uBAAY,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAFD,qCAEC"} \ No newline at end of file diff --git a/lib/index.d.ts b/lib/index.d.ts new file mode 100644 index 0000000..353618f --- /dev/null +++ b/lib/index.d.ts @@ -0,0 +1,2 @@ +export { default as ScriptLoader } from './script-loader'; +export { default as createScriptLoader } from './create-script-loader'; diff --git a/lib/index.js b/lib/index.js new file mode 100644 index 0000000..8ccf4f1 --- /dev/null +++ b/lib/index.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var script_loader_1 = require("./script-loader"); +exports.ScriptLoader = script_loader_1.default; +var create_script_loader_1 = require("./create-script-loader"); +exports.createScriptLoader = create_script_loader_1.default; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/lib/index.js.map b/lib/index.js.map new file mode 100644 index 0000000..129e564 --- /dev/null +++ b/lib/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,iDAA0D;AAAjD,uCAAA,OAAO,CAAgB;AAChC,+DAAuE;AAA9D,oDAAA,OAAO,CAAsB"} \ No newline at end of file diff --git a/lib/script-loader.d.ts b/lib/script-loader.d.ts new file mode 100644 index 0000000..d46c68c --- /dev/null +++ b/lib/script-loader.d.ts @@ -0,0 +1,5 @@ +export default class ScriptLoader { + private _document; + constructor(_document: Document); + loadScript(src: string): Promise; +} diff --git a/lib/script-loader.js b/lib/script-loader.js new file mode 100644 index 0000000..442e142 --- /dev/null +++ b/lib/script-loader.js @@ -0,0 +1,22 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var ScriptLoader = (function () { + function ScriptLoader(_document) { + this._document = _document; + } + ScriptLoader.prototype.loadScript = function (src) { + var _this = this; + return new Promise(function (resolve, reject) { + var script = _this._document.createElement('script'); + script.onload = function (event) { return resolve(event); }; + script.onreadystatechange = function (event) { return resolve(event); }; + script.onerror = function (event) { return reject(event); }; + script.async = true; + script.src = src; + _this._document.body.appendChild(script); + }); + }; + return ScriptLoader; +}()); +exports.default = ScriptLoader; +//# sourceMappingURL=script-loader.js.map \ No newline at end of file diff --git a/lib/script-loader.js.map b/lib/script-loader.js.map new file mode 100644 index 0000000..c6f83ba --- /dev/null +++ b/lib/script-loader.js.map @@ -0,0 +1 @@ +{"version":3,"file":"script-loader.js","sourceRoot":"","sources":["../src/script-loader.ts"],"names":[],"mappings":";;AAAA;IACI,sBACY,SAAmB;QAAnB,cAAS,GAAT,SAAS,CAAU;IAC5B,CAAC;IAEJ,iCAAU,GAAV,UAAW,GAAW;QAAtB,iBAYC;QAXG,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,IAAM,MAAM,GAAG,KAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAA4B,CAAC;YAEjF,MAAM,CAAC,MAAM,GAAG,UAAC,KAAK,IAAK,OAAA,OAAO,CAAC,KAAK,CAAC,EAAd,CAAc,CAAC;YAC1C,MAAM,CAAC,kBAAkB,GAAG,UAAC,KAAK,IAAK,OAAA,OAAO,CAAC,KAAK,CAAC,EAAd,CAAc,CAAC;YACtD,MAAM,CAAC,OAAO,GAAG,UAAC,KAAK,IAAK,OAAA,MAAM,CAAC,KAAK,CAAC,EAAb,CAAa,CAAC;YAC1C,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;YACpB,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;YAEjB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACP,CAAC;IACL,mBAAC;AAAD,CAAC,AAlBD,IAkBC"} \ No newline at end of file diff --git a/package.json b/package.json index 4c4bd9c..f3d84c7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bigcommerce/script-loader", - "version": "0.0.0", + "version": "0.1.0", "description": "A library for loading JavaScript files asynchronously", "main": "lib/index.js", "types": "lib/index.d.ts",