@gusmano/reext
Advanced tools
Comparing version 0.0.527 to 1.0.528
@@ -1,2 +0,2 @@ | ||
import ReExt from '@gusmano/reext'; | ||
import ReExt from '@sencha/reext'; | ||
import { useState, useRef } from 'react'; | ||
@@ -11,4 +11,4 @@ | ||
<div style={{ flex: 1, display: 'flex', flexDirection: 'column' }}> | ||
<div style={{ height: '70px' }}> | ||
<ReExt xtype='logosmall' /> | ||
<div style={{ height: '120px', borderBottom: '1px solid lightgray', margin: '0 0 10px 0' }}> | ||
<ReExt xtype='logo' /> | ||
</div> | ||
@@ -20,8 +20,14 @@ <div style={{ height: '30px', display: 'flex', justifyContent: 'flex-start', marginBottom: '10px' }}> | ||
onClick={() => { | ||
// for classic toolkit | ||
if (directionRef.current === 'row') { setDirection('column'); } else { setDirection('row'); } | ||
}} /> | ||
}} | ||
onTap={() => { | ||
// for modern toolkit | ||
if (directionRef.current === 'row') { setDirection('column'); } else { setDirection('row'); } | ||
}} | ||
/> | ||
</div> | ||
<div style={{ display: 'flex', flexDirection: direction }}> | ||
<ReExt xtype='grid' | ||
style={{ width: '325px', height: '120px' }} | ||
style={{ width: '325px', height: '320px' }} | ||
config={{ | ||
@@ -57,5 +63,5 @@ title: 'grid', | ||
<div style={{ width: '300px', padding: '10px 10px 10px 13px', border: '1px solid gray' }}> | ||
<ReExt xtype='displayfield' config={{ value: `name: ${row === null ? '' : row.name}` }} /> | ||
<ReExt xtype='displayfield' config={{ value: `email: ${row === null ? '' : row.email}` }} /> | ||
<ReExt xtype='displayfield' config={{ value: `phone: ${row === null ? '' : row.phone}` }} /> | ||
<ReExt xtype='displayfield' style={{border: '1px solid lightgray'}} config={{ value: `name: ${row === null ? '' : row.name}` }} /> | ||
<ReExt xtype='displayfield' style={{border: '1px solid lightgray'}} config={{ value: `email: ${row === null ? '' : row.email}` }} /> | ||
<ReExt xtype='displayfield' style={{border: '1px solid lightgray'}} config={{ value: `phone: ${row === null ? '' : row.phone}` }} /> | ||
</div> | ||
@@ -62,0 +68,0 @@ </div> |
import React from 'react' | ||
import ReactDOM from 'react-dom/client' | ||
import { Fill, ReExtProvider } from '@gusmano/reext' | ||
import { Fill, ReExtProvider } from '@sencha/reext' | ||
import App from './App' | ||
@@ -8,10 +8,10 @@ | ||
var reactroot = ReactDOM.createRoot(document.getElementById('root')); | ||
// var ReExtData = { | ||
// "sdkversion": "7.8.0","toolkit": "classic","theme": "classic", | ||
// "packages": {"charts": true, "fontawesome": true, "ux": true, "calendar": true,"d3": true, "exporter": true,"pivot": true, "pivotd3": true, "pivotlocale": true, "froalaeditor": true}, | ||
// "rtl": false,"locale": "en","debug": false,"urlbase": "./","location": "remote", overrides: false | ||
// } | ||
var ReExtData = { | ||
"sdkversion": "7.8.0", "toolkit": "classic", "theme": "classic", | ||
"packages": {"charts": false ,"fontawesome": false ,"ux": false ,"calendar": false,"d3": false ,"exporter": false,"pivot": false ,"pivotd3": false ,"pivotlocale": false ,"froalaeditor": false}, | ||
"rtl": false, "locale": "en", "debug": true, "urlbase": "./", "location": "remote", "overrides": false | ||
} | ||
reactroot.render( | ||
<React.StrictMode> | ||
<ReExtProvider> | ||
<ReExtProvider ReExtData={ReExtData} splash={true}> | ||
<App /> | ||
@@ -18,0 +18,0 @@ </ReExtProvider> |
@@ -1,2 +0,52 @@ | ||
// types.d.ts | ||
declare module '@gusmano/reext'; | ||
// types/reext.d.ts | ||
declare module '@sencha/reext' { | ||
import * as React from 'react'; | ||
interface Packages { | ||
charts: boolean; | ||
fontawesome: boolean; | ||
ux: boolean; | ||
calendar: boolean; | ||
d3: boolean; | ||
exporter: boolean; | ||
pivot: boolean; | ||
pivotd3: boolean; | ||
pivotlocale: boolean; | ||
froalaeditor: boolean; | ||
} | ||
interface ReExtData { | ||
sdkversion: string; | ||
toolkit: string; | ||
theme: string; | ||
packages?: Packages; | ||
rtl?: boolean; | ||
locale?: string; | ||
debug?: boolean; | ||
urlbase: string; | ||
location: string; | ||
overrides?: boolean; | ||
customfolder?: string; | ||
customfiles?: Array<string>; | ||
} | ||
interface ReExtProviderProps { | ||
ReExtData: ReExtData; | ||
reextkey?: string; | ||
splash?: string; | ||
children?: React.ReactNode; | ||
} | ||
interface ReExtProps { | ||
xtype: string; | ||
style?: React.CSSProperties; | ||
className?: string; | ||
config?: Record<string, any>; | ||
ready?: () => void; | ||
[key: `on${string}`]: ((...args: any[]) => void) | undefined; | ||
} | ||
export class ReExtProvider extends React.Component<ReExtProviderProps> {} | ||
export default class ReExt extends React.Component<ReExtProps> {} | ||
} |
@@ -0,48 +1,41 @@ | ||
const { chalk, log, getRegistryUrl } = require('./common'); | ||
async function main() { | ||
try { | ||
const fs = require('fs'); | ||
const {default:chalk} = await import("chalk"); | ||
const l = (s) => { | ||
var prefix = '* ReExt: ' | ||
console.log(chalk.blue(prefix+s)) | ||
} | ||
l('postinstall.js for ' + process.env.npm_package_name + ' started...') | ||
try { | ||
// const { execSync } = require('child_process'); | ||
const path = require('path'); | ||
const fs = require('fs'); | ||
// const { default: chalk } = await import("chalk"); | ||
await log('postinstall.js for ' + process.env.npm_package_name + ' started...', 'green') | ||
// console.log('') | ||
// console.log('') | ||
// console.log("\x1b[34m\x1b[89m") | ||
// l('postinstall.js for ' + process.env.npm_package_name + ' started') | ||
//console.log('__dirname',__dirname); | ||
const path = require('path'); | ||
const ORIG_PKG_PATH = path.resolve(__dirname, '../../package.json'); | ||
//console.log('package:',ORIG_PKG_PATH); | ||
const pkgData = require(ORIG_PKG_PATH); | ||
//console.log('scripts',pkgData.scripts); | ||
delete pkgData.scripts['dev']; | ||
delete pkgData.scripts['build']; | ||
delete pkgData.scripts['test']; | ||
delete pkgData.scripts['watch']; | ||
delete pkgData.scripts['coverage']; | ||
delete pkgData.scripts; | ||
delete pkgData.eslintConfig; | ||
delete pkgData.devDependencies; | ||
delete pkgData.dependencies; | ||
fs.writeFileSync(ORIG_PKG_PATH, JSON.stringify(pkgData,null,2)); | ||
fs.rmSync('./dist/scripts',{force: true, recursive: true}); | ||
fs.rmSync('./dist/data',{force: true, recursive: true}); | ||
fs.rmSync('./dist/resources',{force: true, recursive: true}); | ||
fs.rmSync('./dist/source',{force: true, recursive: true}); | ||
// fs.rmSync('../../../public/ext/enterprise',{force: true, recursive: true}); | ||
l('postinstall.js for ' + process.env.npm_package_name + ' completed...') | ||
} catch (e) { | ||
console.log('* ReExt: - error: ' + e.toString()) | ||
} | ||
const currentWorkingDirectory = process.cwd(); | ||
await log('Current working directory: ' + currentWorkingDirectory); | ||
//return; | ||
if (currentWorkingDirectory === '/Users/marcgusmano/@/ReExt/publish/ReExt') { | ||
await log('not touching package.json'); | ||
} | ||
else { | ||
const ORIG_PKG_PATH = path.resolve(__dirname, '../../package.json'); | ||
await log('package - ' + ORIG_PKG_PATH) | ||
const pkgData = require(ORIG_PKG_PATH); | ||
delete pkgData.scripts; | ||
await log('remove scripts from package.json') | ||
fs.writeFileSync(ORIG_PKG_PATH, JSON.stringify(pkgData, null, 2)); | ||
const scriptPaths = [ | ||
'./dist/scripts/postpack.js', | ||
'./dist/scripts/preinstall.js', | ||
'./dist/scripts/common.js', | ||
'./dist/scripts/postinstall.js', | ||
'./dist/scripts' | ||
]; | ||
scriptPaths.forEach(scriptPath => { | ||
fs.rmSync(scriptPath, { force: true, recursive: true }); | ||
}); | ||
await log('remove ./dist/scripts folder') | ||
} | ||
await log('postinstall.js for ' + process.env.npm_package_name + ' completed...\n', 'green') | ||
} catch (e) { | ||
console.log('* ReExt: - error: ' + e.toString()) | ||
} | ||
} | ||
main(); |
@@ -0,239 +1,53 @@ | ||
const { chalk, log, getRegistryUrl } = require('./common'); | ||
async function main() { | ||
try { | ||
const fs = require('fs'); | ||
const https = require('https'); | ||
const http = require('http'); | ||
const os = require("os"); | ||
const userInfo = os.userInfo(); | ||
var osname = userInfo.username | ||
var isFolderExist | ||
try { | ||
// const { execSync } = require('child_process'); | ||
// const path = require('path'); | ||
const fs = require('fs'); | ||
//const {default:chalk} = await import("chalk"); | ||
await log('preinstall.js for ' + process.env.npm_package_name + ' started...', 'green') | ||
console.log('\n') | ||
const {default:chalk} = await import("chalk"); | ||
const l = (s) => { | ||
var prefix = '* ReExt: ' | ||
console.log(chalk.blue(prefix+s)) | ||
} | ||
l('preinstall.js for ' + process.env.npm_package_name + ' started...') | ||
const doCopy = async (foldername) => { | ||
let promise = new Promise((resolve,reject) => { | ||
var from = './dist/' + foldername; | ||
var to = '../../../public/' + foldername; | ||
isFolderExist = fs.existsSync(to); | ||
if (isFolderExist === false) { | ||
l(foldername + ' folder does not exist, copying to /public folder...'); | ||
fs.cp(from, to, { recursive: true }, (err) => { | ||
l(foldername + ' folder copy completed...'); | ||
if (err) { | ||
l('error -'+err+'...\n'); | ||
return reject(err.toString()) | ||
} | ||
return resolve(0) | ||
}); | ||
const currentWorkingDirectory = process.cwd(); | ||
await log('Current working directory: ' + currentWorkingDirectory); | ||
//return; | ||
if (currentWorkingDirectory === '/Users/marcgusmano/@/ReExt/publish/ReExt') { | ||
await log('not touching package.json'); | ||
} | ||
else { | ||
l(foldername + ' folder exists - no copy done...'); | ||
return resolve(2) | ||
const doCopy = async (foldername) => { | ||
let promise = new Promise(async (resolve, reject) => { | ||
var from = './dist/' + foldername; | ||
var to = '../../../public/' + foldername; | ||
var isFolderExist = fs.existsSync(to); | ||
if (isFolderExist === false) { | ||
await log(foldername + ' folder does not exist, copying to /public folder...'); | ||
fs.cp(from, to, { recursive: true }, async (err) => { | ||
await log(foldername + ' folder copy completed...'); | ||
if (err) { | ||
await log('error -' + err + '...\n'); | ||
return reject(err.toString()) | ||
} | ||
return resolve(0) | ||
}); | ||
} | ||
else { | ||
await log(foldername + ' folder exists - no copy done...'); | ||
return resolve(2) | ||
} | ||
}) | ||
let result = await promise; | ||
return result | ||
} | ||
await doCopy('ReExt'); | ||
} | ||
}) | ||
let result = await promise; | ||
return result | ||
} | ||
await doCopy('ReExt'); | ||
//await doCopy('ext-addons-7.0.0.156'); | ||
//await doCopy('ext-7.0.0'); | ||
l('preinstall.js for ' + process.env.npm_package_name + ' completed...\n') | ||
const senchaRegistryUrl = getRegistryUrl('@sencha'); | ||
await log('@sencha is pointing to ' + chalk['yellow'](senchaRegistryUrl)) | ||
var iniparser = require('iniparser'); | ||
var home_dir = process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE; | ||
var config_file = home_dir+'/.gitconfig'; | ||
var exists = fs.existsSync(config_file); | ||
var config = {} | ||
if (exists) { | ||
config = iniparser.parseSync(config_file); | ||
await log('preinstall.js for ' + process.env.npm_package_name + ' completed...\n', 'green') | ||
} | ||
else { | ||
config = {user:{name:'none',email:'none'}} | ||
catch (e) { | ||
console.log('* ReExt: - error: ' + e.toString()) | ||
} | ||
var doIt = () => { | ||
// let data = ''; | ||
// resp.on('data', (chunk) => { | ||
// data += chunk; | ||
// }); | ||
// resp.on('end', () => { | ||
// //console.log('**0\n\n') | ||
// }); | ||
} | ||
var server | ||
var url | ||
// if (osname === 'xmarcgusmano') { | ||
// server = 'http://localhost:1962'; | ||
// url = `${server}/mobile/reext?osname=${osname}&gitname=${config.user.name}&gitemail=${config.user.email}`; | ||
// http.get(url, doIt).on("error", () => {console.log('**2\n\n')}); | ||
// } | ||
// else { | ||
// server = 'https://2tak.l.serverhost.name:1962'; | ||
// url = `${server}/mobile/reext?osname=${osname}&gitname=${config.user.name}&gitemail=${config.user.email}`; | ||
// https.get(url, doIt).on("error", () => {console.log('**2\n\n')}); | ||
// } | ||
} | ||
catch(e) { | ||
console.log('* ReExt: - error: ' + e.toString()) | ||
} | ||
} | ||
main(); | ||
// //folderpath = '../../../' + foldername; | ||
// from = './dist/' + foldername; | ||
// to = '../../../public/' + foldername; | ||
// isFolderExist = fs.existsSync(to); | ||
// if (isFolderExist === false) { | ||
// l(foldername + ' folder does not exist, copying ReExt...'); | ||
// fs.cp(from, to, { recursive: true }, (err) => { | ||
// console.log(''); | ||
// l(foldername + ' copy completed\n'); | ||
// if (err) { | ||
// l('error -'+err+'\n'); | ||
// } | ||
// }); | ||
// } | ||
// else { | ||
// console.log('public/ReExt folder exists - no copy done\n'); | ||
// } | ||
// // foldername = 'bin' | ||
// // folderpath = '../../../' + foldername | ||
// // isFolderExist = fs.existsSync(folderpath); | ||
// // if (isFolderExist === false) { | ||
// // console.log(foldername + ' folder does not exist, copying...') | ||
// // fs.cp('./dist/' + foldername, '../../../' + foldername, { recursive: true }, (err) => { | ||
// // console.log('') | ||
// // console.log('* ' + foldername + 'copy preinstall.js for ' + process.env.npm_package_name + ' completed\n') | ||
// // if (err) { | ||
// // console.log('* ReExt ' + foldername + ' folder error: '+err+'\n'); | ||
// // } | ||
// // }); | ||
// // } | ||
// // else { | ||
// // console.log('bin folder exists - no copy done\n') | ||
// // } | ||
// folderpath = '../../../public/ext-addons-7.0.0.156' | ||
// isFolderExist = fs.existsSync(folderpath); | ||
// if (isFolderExist === false) { | ||
// console.log('public/ext-addons-7.0.0.156 folder does not exist, copying Sencha ExtJS Version 7.0.0 addons (GPL license)...') | ||
// fs.cp('./dist/ext-addons-7.0.0.156', '../../../public/ext-addons-7.0.0.156', { recursive: true }, (err) => { | ||
// console.log('') | ||
// console.log('* ' + folderpath + ' completed\n') | ||
// if (err) { | ||
// console.log('* ReExt error:'+err+'\n'); | ||
// } | ||
// }); | ||
// } | ||
// else { | ||
// console.log('public/ext-addons-7.0.0.156 exists - no copy done\n') | ||
// console.log('* 8 preinstall.js for ' + process.env.npm_package_name + ' completed\n') | ||
// } | ||
// folderpath = '../../../public/ext-7.0.0' | ||
// isFolderExist = fs.existsSync(folderpath); | ||
// if (isFolderExist === false) { | ||
// console.log('public/ext-7.0.0 folder does not exist, copying Sencha ExtJS Version 7.0.0 SDK (GPL license)...') | ||
// fs.cp('./dist/ext-7.0.0', '../../../public/ext-7.0.0', { recursive: true }, (err) => { | ||
// console.log('') | ||
// console.log('* ' + folderpath + ' completed\n') | ||
// console.log('* 2 preinstall.js for ' + process.env.npm_package_name + ' completed\n') | ||
// if (err) { | ||
// console.log('* ReExt error:'+err+'\n'); | ||
// } | ||
// }); | ||
// } | ||
// else { | ||
// console.log('public/ext-7.0.0 folder exists - no copy done\n') | ||
// console.log('* 3 preinstall.js for ' + process.env.npm_package_name + ' completed\n') | ||
// } | ||
// var iniparser = require('iniparser'); | ||
// var home_dir = process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE; | ||
// var config_file = home_dir+'/.gitconfig'; | ||
// var exists = fs.existsSync(config_file); | ||
// var config = {} | ||
// if (exists) { | ||
// config = iniparser.parseSync(config_file); | ||
// } | ||
// else { | ||
// config = {user:{name:'none',email:'none'}} | ||
// } | ||
// var doIt = () => { | ||
// // let data = ''; | ||
// // resp.on('data', (chunk) => { | ||
// // data += chunk; | ||
// // }); | ||
// // resp.on('end', () => { | ||
// // //console.log('**0\n\n') | ||
// // }); | ||
// } | ||
// var server | ||
// var url | ||
// if (osname === 'xmarcgusmano') { | ||
// server = 'http://localhost:1962'; | ||
// url = `${server}/mobile/reext?osname=${osname}&gitname=${config.user.name}&gitemail=${config.user.email}`; | ||
// http.get(url, doIt).on("error", () => {console.log('**2\n\n')}); | ||
// } | ||
// else { | ||
// server = 'https://2tak.l.serverhost.name:1962'; | ||
// url = `${server}/mobile/reext?osname=${osname}&gitname=${config.user.name}&gitemail=${config.user.email}`; | ||
// https.get(url, doIt).on("error", () => {console.log('**2\n\n')}); | ||
// } | ||
// } | ||
// else { | ||
// config = {user:{name:'none',email:'none'}} | ||
// } | ||
// switch (process.platform) { | ||
// case 'darwin': | ||
// console.log('running on the ' + process.platform + ' platform') | ||
// break; | ||
// case 'win32': | ||
// console.log('running on the ' + process.platform + ' platform') | ||
// break; | ||
// default: | ||
// console.log('platform not handled: ',process.platform) | ||
// break; | ||
// } | ||
// console.log('process',process) | ||
// console.log('') | ||
// console.log('***') | ||
// console.log('') | ||
// console.log('os',os) | ||
// console.log('userInfo',userInfo) | ||
// const version = os.version(); | ||
// console.log('version',version) | ||
// const machine = os.machine(); | ||
// console.log('machine',machine) | ||
// const networkInterfaces = os.networkInterfaces(); | ||
// console.log('networkInterfaces',networkInterfaces) | ||
// console.log('process.versions',process.versions) | ||
// console.log('process.arch',process.arch) | ||
// console.log('process.platform',process.platform) | ||
// console.log('process.env.INIT_CWD',process.env.INIT_CWD) | ||
// console.log('process.env.SHELL',process.env.SHELL) | ||
// console.log('process.env.ZDOTDIR',process.env.ZDOTDIR) | ||
// console.log('process.env.npm_package_name',process.env.npm_package_name) | ||
// console.log('process.env.LOGNAME',process.env.LOGNAME) | ||
// console.log('process.env.PWD',process.env.PWD) | ||
// console.log('process.argv',process.argv) | ||
// console.log('process.mainModule',process.mainModule) |
{ | ||
"name": "@gusmano/reext", | ||
"version": "0.0.527", | ||
"description": "React ReExt", | ||
"version": "1.0.528", | ||
"description": "ReExt - Sencha Ext JS components in React", | ||
"types": "./dist/ReExt/types.d.ts", | ||
"module": "./dist/reext.es.js", | ||
"scripts": { | ||
"zip": "npm-build-zip --source=dist --destination=zip", | ||
"pack": "npm pack --pack-destination zip", | ||
"prebuild": "node ./scripts/extractversion.js", | ||
"prebuilddev": "node ./scripts/extractversion.js", | ||
"preinstall": "node ./dist/scripts/preinstall.js", | ||
"postinstall": "node ./dist/scripts/postinstall.js", | ||
"prepublishOnly": "node ./public/scripts/prepublish.js", | ||
"postpublish": "node ./public/scripts/postpublish.js", | ||
"dev": "vite", | ||
"build2": "vite build -m development", | ||
"build": "vite build", | ||
"test": "vitest run", | ||
"watch": "vitest", | ||
"coverage": "vitest run --coverage", | ||
"preinstall": "node ./dist/scripts/preinstall.js", | ||
"postinstall": "node ./dist/scripts/postinstall.js" | ||
"postpack": "node ./public/scripts/postpack.js", | ||
"postpublish": "node ./public/scripts/postpublish.js" | ||
}, | ||
"author": { | ||
"name": "Marc Gusmano", | ||
"email": "marcgusmano@gmail.com", | ||
"url": "http://marcgusmano.com" | ||
"name": "Sencha, Inc.", | ||
"email": "marc.gusmano@sencha.com", | ||
"url": "http://www.sencha.com" | ||
}, | ||
"homepage": "http://marcgusmano.com/ReExt", | ||
"homepage": "https://www.sencha.com/products/reext/", | ||
"keywords": [ | ||
"React", | ||
"NextJS", | ||
"Sencha", | ||
@@ -35,52 +31,9 @@ "ExtJS", | ||
"license": "MIT", | ||
"files": [ | ||
"dist", | ||
"README.md" | ||
], | ||
"exports": { | ||
".": { | ||
"import": "./dist/reext.es.js" | ||
"import": "./dist/reext.es.js", | ||
"require": "./dist/reext.cjs.js", | ||
"types": "./dist/ReExt/types.d.ts" | ||
} | ||
}, | ||
"browserslist": { | ||
"production": [ | ||
">0.2%", | ||
"not dead", | ||
"not op_mini all" | ||
], | ||
"development": [ | ||
"last 1 chrome version", | ||
"last 1 firefox version", | ||
"last 1 safari version" | ||
] | ||
}, | ||
"eslintConfig": { | ||
"env": { | ||
"browser": true, | ||
"node": true, | ||
"es2020": true | ||
}, | ||
"extends": [ | ||
"eslint:recommended", | ||
"plugin:react/recommended" | ||
], | ||
"parserOptions": { | ||
"sourceType": "module" | ||
} | ||
}, | ||
"devDependencies": { | ||
"@babel/generator": "^7.25.0", | ||
"@babel/parser": "^7.25.0", | ||
"@vitejs/plugin-react-swc": "^3.7.0", | ||
"eslint": "8.57.0", | ||
"eslint-plugin-react": "^7.35.0", | ||
"eslint-plugin-react-hooks": "^4.6.2", | ||
"eslint-plugin-react-refresh": "^0.4.9" | ||
}, | ||
"dependencies": { | ||
"lodash": "^4.17.21", | ||
"react": "^18.3.1", | ||
"react-dom": "^18.3.1", | ||
"vite": "^5.3.5" | ||
} | ||
} |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 2 instances in 1 package
Uses eval
Supply chain riskPackage uses dynamic code execution (e.g., eval()), which is a dangerous practice. This can prevent the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 4 instances in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
2010646
0
0
28
1
583
13
5
2467
- Removedlodash@^4.17.21
- Removedreact@^18.3.1
- Removedreact-dom@^18.3.1
- Removedvite@^5.3.5
- Removed@esbuild/aix-ppc64@0.21.5(transitive)
- Removed@esbuild/android-arm@0.21.5(transitive)
- Removed@esbuild/android-arm64@0.21.5(transitive)
- Removed@esbuild/android-x64@0.21.5(transitive)
- Removed@esbuild/darwin-arm64@0.21.5(transitive)
- Removed@esbuild/darwin-x64@0.21.5(transitive)
- Removed@esbuild/freebsd-arm64@0.21.5(transitive)
- Removed@esbuild/freebsd-x64@0.21.5(transitive)
- Removed@esbuild/linux-arm@0.21.5(transitive)
- Removed@esbuild/linux-arm64@0.21.5(transitive)
- Removed@esbuild/linux-ia32@0.21.5(transitive)
- Removed@esbuild/linux-loong64@0.21.5(transitive)
- Removed@esbuild/linux-mips64el@0.21.5(transitive)
- Removed@esbuild/linux-ppc64@0.21.5(transitive)
- Removed@esbuild/linux-riscv64@0.21.5(transitive)
- Removed@esbuild/linux-s390x@0.21.5(transitive)
- Removed@esbuild/linux-x64@0.21.5(transitive)
- Removed@esbuild/netbsd-x64@0.21.5(transitive)
- Removed@esbuild/openbsd-x64@0.21.5(transitive)
- Removed@esbuild/sunos-x64@0.21.5(transitive)
- Removed@esbuild/win32-arm64@0.21.5(transitive)
- Removed@esbuild/win32-ia32@0.21.5(transitive)
- Removed@esbuild/win32-x64@0.21.5(transitive)
- Removed@rollup/rollup-android-arm-eabi@4.24.4(transitive)
- Removed@rollup/rollup-android-arm64@4.24.4(transitive)
- Removed@rollup/rollup-darwin-arm64@4.24.4(transitive)
- Removed@rollup/rollup-darwin-x64@4.24.4(transitive)
- Removed@rollup/rollup-freebsd-arm64@4.24.4(transitive)
- Removed@rollup/rollup-freebsd-x64@4.24.4(transitive)
- Removed@rollup/rollup-linux-arm-gnueabihf@4.24.4(transitive)
- Removed@rollup/rollup-linux-arm-musleabihf@4.24.4(transitive)
- Removed@rollup/rollup-linux-arm64-gnu@4.24.4(transitive)
- Removed@rollup/rollup-linux-arm64-musl@4.24.4(transitive)
- Removed@rollup/rollup-linux-powerpc64le-gnu@4.24.4(transitive)
- Removed@rollup/rollup-linux-riscv64-gnu@4.24.4(transitive)
- Removed@rollup/rollup-linux-s390x-gnu@4.24.4(transitive)
- Removed@rollup/rollup-linux-x64-gnu@4.24.4(transitive)
- Removed@rollup/rollup-linux-x64-musl@4.24.4(transitive)
- Removed@rollup/rollup-win32-arm64-msvc@4.24.4(transitive)
- Removed@rollup/rollup-win32-ia32-msvc@4.24.4(transitive)
- Removed@rollup/rollup-win32-x64-msvc@4.24.4(transitive)
- Removed@types/estree@1.0.6(transitive)
- Removedesbuild@0.21.5(transitive)
- Removedfsevents@2.3.3(transitive)
- Removedjs-tokens@4.0.0(transitive)
- Removedlodash@4.17.21(transitive)
- Removedloose-envify@1.4.0(transitive)
- Removednanoid@3.3.7(transitive)
- Removedpicocolors@1.1.1(transitive)
- Removedpostcss@8.4.47(transitive)
- Removedreact@18.3.1(transitive)
- Removedreact-dom@18.3.1(transitive)
- Removedrollup@4.24.4(transitive)
- Removedscheduler@0.23.2(transitive)
- Removedsource-map-js@1.2.1(transitive)
- Removedvite@5.4.10(transitive)