Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

dartscript

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

dartscript

Tool for generating JavaScript module of a function from a Dart build.

  • 1.0.0-alpha.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4
increased by300%
Maintainers
1
Weekly downloads
 
Created
Source

dartscript

CI NPM version

Simple CLI utility for creacting a JavaScript module of a Dart function.

Requirements

You need to have the Dart SDK installed.

You need to wrap the function you want converted with allowInterop from the dart:js library within main(). This implies you need to import package:js/js.dart from the dart file passed to dartscript, and so will need to list it within your pubspec.yaml file:

dependencies:
  js: ^0.7.1

Example

Given a file with a Dart function (that possibly calls another function)

file.dart

import 'package:js/js.dart';

@JS('greeting')
String greeting(String name) => '$name, hello from Dart!';

@JS('say')
String say(String from, String msg, [bool? greet]) {
  var result = '$from says $msg';

  if (greet != null && greet) {
    result = greeting('Welcome');
  }

  return result;
}

void main() {
  allowInterop(say);
}

Pass it to dartscript providing the function name to convert to a JS module

dartscript --func say --out say.js file.dart

say.js

export function say(from, msg, greet) {
  var result = from + ' says ' + msg
  return greet === true ? 'Welcome, hello from Dart!' : result
}

Options

You pass the name of the input Dart file as a positional.

  • --func The name of the function from the Dart build to extract (required)
  • --out The name of the build file for dartscript to produce (defaults to func.js)
  • --module The module system type, es | cjs (defaults to es)
  • --default Whether to export the function using a default export for the module system (defaults to false)

You can run dartscript --help:

Usage: dartscript [options] <path-to-file.dart>

Options:
--func, -f [string] 	 The name of the dart function to extract into a module. Required.
--out, -o [path] 	 Where to save the output file. Defaults to func.js.
--module, -m 		 What module system to use. Defaults to es. [es | cjs].
--default, -d 		 Whether to use a default export. Defaults to named export.
--help, -h 		 Print this message.

Keywords

FAQs

Package last updated on 30 May 2024

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc