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

browserify-import-to-require

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

browserify-import-to-require

A browserify transform, transfering static import statement to require statement.

latest
Source
npmnpm
Version
0.1.2
Version published
Maintainers
1
Created
Source

browserify-import-to-require

A browserify transform, transfering static import statement to require statement.

Accepted format


//refer https://262.ecma-international.org/11.0/#sec-imports
//refer https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import

import defaultExport from "module-name";
import * as name from "module-name";
import { export1 } from "module-name";
import { export1 as alias1 } from "module-name";
import { export1 , export2 } from "module-name";
import { export1 , export2 as alias2 , [...] } from "module-name";
import defaultExport, { export1 [ , [...] ] } from "module-name";
import defaultExport, * as name from "module-name";
import "module-name";

Limitation

  • do not transfer dynamic import-calling, that is, import(...) with round brackets;

Install

npm install browserify-import-to-require

Usage

browserify ... -g [ "browserify-import-to-require" ] ...

# or

browserify ... -g [ "browserify-import-to-require"  --debugInfo --sourceComment --defaultKey default ] ...

# or with "appliesTo.files"/"appliesTo.includeExtensions" arguments for browserify-transform-tools
# default "appliesTo.jsFilesOnly"

	# require array type, at least 2 items in Windows, refer browserify-transform-tools and minimist.
	-g [ "browserify-import-to-require" --appliesTo [ --files my.js --files my2.js ] ]

	-g [ "browserify-import-to-require" --appliesTo [ --includeExtensions .js --includeExtensions .js ] ]

Samples


//import def111/*ccc*/from "module-name"/*as*/;
var def111= require("module-name");     //comment as splitter


//import def222 from "module-name";
var def222= require("module-name");     ///bbb

//import * as name from "module-name";
var name= require("module-name");

//import*as nameb from"module-name";
var nameb= require("module-name");      //special spaces


//import { export1 } from "module-name";
var export1= require("module-name").export1;

//import { export1 as alias1 } from "module-name";
var alias1= require("module-name").export1;


//import { export1a , export2a } from "module-name";
var module_name= require("module-name"),
        export1a= module_name.export1a,
        export2a= module_name.export2a;

//import {export1b, export2b as alias2 } from "module-name";
var module_name= require("module-name"),
        export1b= module_name.export1b,
        alias2= module_name.export2b;

//import{export1cc,export2b as alias2b}from"module-name";
var module_name= require("module-name"),
        export1cc= module_name.export1cc,
        alias2b= module_name.export2b;  //special spaces

//import defaultExport, { export1c, export2c } from "module-name";
var defaultExport= require("module-name"),
        export1c= defaultExport.export1c,
        export2c= defaultExport.export2c;

//import defaultExport2,*as name2 from "module-name";
var defaultExport2= require("module-name"),
        name2= defaultExport2;

//import     defaultExport2b, * as name2b from "module-name";
var defaultExport2b= require("module-name"),
        name2b= defaultExport2b;        //special spaces

//import "module-name";
require("module-name");

//multiple statement in 1 line
//import defaultExport3 from "module-name";
var defaultExport3= require("module-name");
//import defaultExport4 from "module-name2";
var defaultExport4= require("module-name2");

var promise = import("module-name");    //do not transfer dynamic import-calling

//single import statement in multiple lines
//import defaultExport5\n     from/*mmm*/\n     "module-name";
var defaultExport5= require("module-name");

//not started at line head
"strict mode";
//import defaultExport6 from "module-name";
var defaultExport6= require("module-name");

//block comment
/*
import defaultExport from "module-name";
*/
/*
import defaultExport from "module-name";*/


//template strings
var s=`gfgsdfgsdf
import defaultExport from 'module-name';
fasdfas`;

var s=`gfgsdfgsdf
import defaultExport from 'module-name'`;

//multiple string, lined with ending '\'
var s="gfgsdfgsdf\
import defaultExport from 'module-name';\
fasdfas";

var s="gfgsdfgsdf\
import defaultExport from 'module-name';";

Keywords

browserify

FAQs

Package last updated on 21 Apr 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts