
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
generator-bcapi
Advanced tools
A Yeoman generator that provides boilerplate code to easily create toolbar apps.
Maintainer: Petar Bojinov
Have node.js installed on your computer. See instructions here
Make sure you have yo installed
npm install -g yo
Install the generator by running
npm install -g generator-bcapi
Run the generator
yo bcapi
Install required depedencies
npm install
Start writing your app :)
Available generators:
Note: Generators are to be run from the root directory of your app.
Generates a new toolbar app, generating all the boilerplate you need to get started. The app generator also optionally installs Twitter Bootstrap 3.0 and jQuery (1.10.2)
Example:
yo bcapi
Example:
yo bcapi:component red
Produces three files: app/red.html
, app/scripts/red.js
, app/styles/red.css
app/red.html
:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../favicon.ico">
<title>red Launch</title>
<link rel="stylesheet" href="styles/red.css"/>
</head>
<body>
<button id="launchGadget" name="Launch Gadget"></button>
<!-- Core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script type="text/javascript" src="http://api.conduit.com/BrowserCompApi.js"></script>
<script type="text/javascript" src="scripts/red.js"></script>
</body>
</html>
app/scripts/red.js
:
window.onload = function() {
//some functions omitted for brevity
function initialize() {
window.EBDocumentComplete = function(tabid) {
//the page has loaded!
};
}
initialize();
};
Example:
yo bcapi:gadget green
Produces three files: app/green.html
, app/scripts/green.js
, app/styles/green.css
app/green.html
:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../favicon.ico">
<title>green Gadget</title>
<link rel="stylesheet" href="styles/green.css"/>
</head>
<body>
<button id="closeButton" name="close"></button>
<!-- Core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script type="text/javascript" src="http://api.conduit.com/BrowserCompApi.js"></script>
<script type="text/javascript" src="scripts/green.js"></script>
</body>
</html>
app/scripts/green.js
:
window.onload = function() {
var closeButton;
function closeWindow() {
CloseFloatingWindow(); //closes gadget window
}
function initialize() {
closeButton = document.getElementById('closeButton');
closeButton.onclick = closeWindow;
}
initialize();
};
Example:
yo bcapi:launch greenLaunch
Produces three files: app/greenLaunch.html
, app/scripts/greenLaunch.js
, app/styles/greenLaunch.css
app/greenLaunch.html
:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../favicon.ico">
<title>greenLaunch Launch</title>
<link rel="stylesheet" href="styles/greenLaunch.css"/>
</head>
<body>
<button id="launchGadget" name="Launch Gadget"></button>
<!-- Core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script type="text/javascript" src="http://api.conduit.com/BrowserCompApi.js"></script>
<script type="text/javascript" src="scripts/greenLaunch.js"></script>
</body>
</html>
app/scripts/greenLaunch.js
:
window.onload = function() {
var closeButton;
function toggleGadget() {
//get the current absolute URL path
var currentAbsPath = (((document.URL).toString()).split('#'))[0]; // the hash is to support chrome HTML components
var APP_PATH = currentAbsPath.substring(0, currentAbsPath.lastIndexOf('/')) + '/';
//use the absolute path, make sure gadget and greenGadget.html are in the same folder!
var url = APP_PATH + 'greenGadget.html';
var width = 100;
var height = 300;
var features = 'resizable=no, scrollbars=no, titlebar=no, savelocation=no, saveresizedsize=no, closeonexternalclick=yes, openposition=alignment:(B,R)';
LaunchGadget(url, width, height, features);
}
function initialize() {
closeButton = document.getElementById('close');
closeButton.onclick = toggleGadget;
}
initialize();
};
The basic structure of the project is given in the following way:
├── app/
│ └── scripts/
│ └── styles/
│ └── assets/
├── dist/
│ └── Apps/
├── .editorconfig
├── .jshintrc
├── favicon.ico
├── Gruntfile.js
└── package.json
FAQs
A generator for Conduit Toolbar Apps using the BCAPI.js
The npm package generator-bcapi receives a total of 14 weekly downloads. As such, generator-bcapi popularity was classified as not popular.
We found that generator-bcapi demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.