New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

react-isomorphic-scriptloader

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-isomorphic-scriptloader - npm Package Compare versions

Comparing version
2.0.0
to
3.0.0
+9
dist/index.d.mts
import { ReactNode } from 'react';
interface Props {
src: string;
onLoad: () => void;
}
declare function ScriptLoader({ src, onLoad }: Props): ReactNode;
export { ScriptLoader as default };
import { ReactNode } from 'react';
interface Props {
src: string;
onLoad: () => void;
}
declare function ScriptLoader({ src, onLoad }: Props): ReactNode;
export { ScriptLoader as default };
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/index.tsx
var index_exports = {};
__export(index_exports, {
default: () => ScriptLoader
});
module.exports = __toCommonJS(index_exports);
var import_react = require("react");
var import_jsx_runtime = require("react/jsx-runtime");
function ScriptLoader({ src, onLoad }) {
(0, import_react.useEffect)(() => {
const scripts = Array.from(document.querySelectorAll("script"));
if (scripts.find((script2) => script2.src === src)) {
onLoad();
return;
}
const script = document.createElement("script");
script.src = src;
script.onload = () => onLoad();
document.body.appendChild(script);
}, [src, onLoad]);
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { style: { display: "none" }, "data-purpose": "Dummy element created by react-isomorphic-scriptloader" });
}
//# sourceMappingURL=index.js.map
{"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import { type ReactNode, useEffect } from 'react'\r\n\r\ninterface Props {\r\n src: string\r\n onLoad: () => void\r\n}\r\n\r\nexport default function ScriptLoader({ src, onLoad }: Props): ReactNode {\r\n useEffect(() => {\r\n const scripts = Array.from(document.querySelectorAll('script'))\r\n if (scripts.find((script) => script.src === src)) {\r\n onLoad()\r\n return\r\n }\r\n const script = document.createElement('script')\r\n script.src = src\r\n script.onload = () => onLoad()\r\n document.body.appendChild(script)\r\n }, [src, onLoad])\r\n\r\n return <span style={{ display: 'none' }} data-purpose=\"Dummy element created by react-isomorphic-scriptloader\" />\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0C;AAoBjC;AAbM,SAAR,aAA8B,EAAE,KAAK,OAAO,GAAqB;AACtE,8BAAU,MAAM;AACd,UAAM,UAAU,MAAM,KAAK,SAAS,iBAAiB,QAAQ,CAAC;AAC9D,QAAI,QAAQ,KAAK,CAACA,YAAWA,QAAO,QAAQ,GAAG,GAAG;AAChD,aAAO;AACP;AAAA,IACF;AACA,UAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,WAAO,MAAM;AACb,WAAO,SAAS,MAAM,OAAO;AAC7B,aAAS,KAAK,YAAY,MAAM;AAAA,EAClC,GAAG,CAAC,KAAK,MAAM,CAAC;AAEhB,SAAO,4CAAC,UAAK,OAAO,EAAE,SAAS,OAAO,GAAG,gBAAa,0DAAyD;AACjH;","names":["script"]}
// src/index.tsx
import { useEffect } from "react";
import { jsx } from "react/jsx-runtime";
function ScriptLoader({ src, onLoad }) {
useEffect(() => {
const scripts = Array.from(document.querySelectorAll("script"));
if (scripts.find((script2) => script2.src === src)) {
onLoad();
return;
}
const script = document.createElement("script");
script.src = src;
script.onload = () => onLoad();
document.body.appendChild(script);
}, [src, onLoad]);
return /* @__PURE__ */ jsx("span", { style: { display: "none" }, "data-purpose": "Dummy element created by react-isomorphic-scriptloader" });
}
export {
ScriptLoader as default
};
//# sourceMappingURL=index.mjs.map
{"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import { type ReactNode, useEffect } from 'react'\r\n\r\ninterface Props {\r\n src: string\r\n onLoad: () => void\r\n}\r\n\r\nexport default function ScriptLoader({ src, onLoad }: Props): ReactNode {\r\n useEffect(() => {\r\n const scripts = Array.from(document.querySelectorAll('script'))\r\n if (scripts.find((script) => script.src === src)) {\r\n onLoad()\r\n return\r\n }\r\n const script = document.createElement('script')\r\n script.src = src\r\n script.onload = () => onLoad()\r\n document.body.appendChild(script)\r\n }, [src, onLoad])\r\n\r\n return <span style={{ display: 'none' }} data-purpose=\"Dummy element created by react-isomorphic-scriptloader\" />\r\n}\r\n"],"mappings":";AAAA,SAAyB,iBAAiB;AAoBjC;AAbM,SAAR,aAA8B,EAAE,KAAK,OAAO,GAAqB;AACtE,YAAU,MAAM;AACd,UAAM,UAAU,MAAM,KAAK,SAAS,iBAAiB,QAAQ,CAAC;AAC9D,QAAI,QAAQ,KAAK,CAACA,YAAWA,QAAO,QAAQ,GAAG,GAAG;AAChD,aAAO;AACP;AAAA,IACF;AACA,UAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,WAAO,MAAM;AACb,WAAO,SAAS,MAAM,OAAO;AAC7B,aAAS,KAAK,YAAY,MAAM;AAAA,EAClC,GAAG,CAAC,KAAK,MAAM,CAAC;AAEhB,SAAO,oBAAC,UAAK,OAAO,EAAE,SAAS,OAAO,GAAG,gBAAa,0DAAyD;AACjH;","names":["script"]}
+0
-0

@@ -0,0 +0,0 @@ The MIT License (MIT)

+37
-34
{
"name": "react-isomorphic-scriptloader",
"version": "2.0.0",
"version": "3.0.0",
"description": "Load scripts with ease",
"main": "lib/index.js",
"typings": "lib/typings/index.d.ts",
"module": "lib/esm/index.js",
"main": "dist/index.js",
"module": "dist/index.mjs",
"types": "dist/index.d.ts",
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.js",
"types": "./dist/index.d.ts"
}
},
"files": [
"lib/*"
"dist"
],
"scripts": {
"lint": "(tsc -p . --noEmit) && (eslint . --ext .ts --ext .tsx) && (prettier -l src/*.tsx)",
"prepare": "yarn build:clean ; yarn build:esm ; yarn build:cjs ; yarn build:typings",
"build:esm": "tsc --module es2015 --target es2018 --outDir lib/esm",
"build:cjs": "tsc --module commonjs --target es5 --outDir lib/cjs",
"build:clean": "rm -rf lib",
"build:typings": "tsc --declaration --outDir lib/typings --emitDeclarationOnly"
},
"repository": {

@@ -33,26 +32,30 @@ "type": "git",

},
"dependencies": {},
"peerDependencies": {
"react": ">=16.8.0 || >=19.0.0"
},
"devDependencies": {
"@types/react": "^16.9.41",
"@typescript-eslint/eslint-plugin": "^3.5.0",
"@typescript-eslint/parser": "^3.5.0",
"eslint": "7.2.0",
"eslint-config-airbnb": "18.2.0",
"eslint-config-prettier": "^6.11.0",
"eslint-import-resolver-typescript": "^2.0.0",
"eslint-plugin-import": "^2.21.2",
"eslint-plugin-jsx-a11y": "^6.3.0",
"eslint-plugin-prettier": "^3.1.4",
"eslint-plugin-react": "^7.20.0",
"eslint-plugin-react-hooks": "4.0.0",
"jasmine-fix": "^1.3.1",
"prettier": "^2.0.5",
"typescript": "^3.9.6"
"@testing-library/react": "^16.3.0",
"@types/react": "^19.2.7",
"@types/react-dom": "^19.2.3",
"eslint": "^9.0.0",
"globals": "^15.0.0",
"jsdom": "^24.0.0",
"prettier": "^3.0.0",
"react": "^19.2.1",
"react-dom": "^19.2.1",
"tsup": "^8.0.0",
"typescript": "^5.9.3",
"typescript-eslint": "^7.0.0",
"vitest": "^4.0.15"
},
"peerDependencies": {
"react": "*"
"engines": {
"node": ">=18"
},
"engines": {
"node": ">= 8"
"scripts": {
"build": "tsup",
"test": "vitest run",
"test:watch": "vitest",
"lint": "eslint .",
"format": "prettier --write ."
}
}
}

@@ -7,3 +7,3 @@ # React Isomorphic ScriptLoader

```
npm install --save react-isomorphic-scriptloader
yarn add react-isomorphic-scriptloader
```

@@ -10,0 +10,0 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = require("react");
function ScriptLoader(_a) {
var src = _a.src, onLoad = _a.onLoad;
react_1.useEffect(function () {
var scripts = Array.from(document.querySelectorAll('script'));
if (scripts.find(function (script) { return script.src === src; })) {
onLoad();
return;
}
var script = document.createElement('script');
script.src = src;
script.onload = onLoad;
document.body.appendChild(script);
}, []); // eslint-disable-line react-hooks/exhaustive-deps
return <span style={{ display: 'none' }} data-purpose="Dummy element created by react-isomorphic-scriptloader"/>;
}
exports.default = ScriptLoader;
import React, { useEffect } from 'react';
export default function ScriptLoader({ src, onLoad }) {
useEffect(() => {
const scripts = Array.from(document.querySelectorAll('script'));
if (scripts.find((script) => script.src === src)) {
onLoad();
return;
}
const script = document.createElement('script');
script.src = src;
script.onload = onLoad;
document.body.appendChild(script);
}, []); // eslint-disable-line react-hooks/exhaustive-deps
return <span style={{ display: 'none' }} data-purpose="Dummy element created by react-isomorphic-scriptloader"/>;
}
import { ReactNode } from 'react';
interface Props {
src: string;
onLoad: () => void;
}
export default function ScriptLoader({ src, onLoad }: Props): ReactNode;
export {};