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

@agiledigital/mule-preview

Package Overview
Dependencies
Maintainers
8
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@agiledigital/mule-preview

Renders Mule XML files as HTML.

  • 2.2.5
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
8
Created
Source

Mule Preview

GitHub License Known Vulnerabilities npm (scoped) FOSSA Status semantic-release

Summary

This is the core module of the Mule Preview project.

It is a self contained bundle that can be included in other projects to render Mule XML files in a browser context using React.

See the Mule Preview Browser Extension for example usage.

Instructions

The module exposes four components that can be imported and used in a React project:

  • <MulePreviewDiffUrl contentUrls={["https://a.xml", "https://b.xml"] contentRoot="."} />
  • <MulePreviewDiffContent contentStrings={["<mule></mule>", "<mule></mule>"] contentRoot="."} />
  • <MulePreviewUrl contentUrl="https://a.xml" contentRoot="."} />
  • <MulePreviewContent contentString="<mule></mule>" contentRoot="."} />

where:

  • contentUrls is a tuple of two URLs to be diffed

  • contentStrings is a tuple of two strings with XML content to be diffed

  • contentUrl is a URL to be rendered as a preview

  • contentString is a string with XML to be rendered as a preview

  • contentRoot is the a prefix to prepend to any requests for the Mule component image files.

      import React from "react";
      import ReactDOM from "react-dom";
      import {
          MulePreviewDiffUrl,
      } from "mule-preview";
    
    
      ReactDOM.render(
          <MulePreviewDiffUrl
            contentUrls={["https://example.com/muleA.xml", "https://example.com/muleB.xml"]}
            contentRoot="."
          />,
          document.getElementById('root-node')
      );
    

Preparing

On a fresh checkout of the codebase you will need to extract the mappings and icon assets from Anypoint Studio using mule-metadata-extractor.

Download the latest release of mule-metadata-extractor and run the following commands:

export ANYPOINT_STUDIO_INSTALLATION=/opt/AnypointStudio
java -jar mule-metadata-extractor-1.0.14-standalone.jar -d "${ANYPOINT_STUDIO_INSTALLATION}" -o public/ generate-mappings
java -jar mule-metadata-extractor-1.0.14-standalone.jar -d "${ANYPOINT_STUDIO_INSTALLATION}" -o public/img/icons extract-images
java -jar mule-metadata-extractor-1.0.14-standalone.jar-d "${ANYPOINT_STUDIO_INSTALLATION}" -o public/img/icons apply-light-theme

At some point we may provide pre-extracted bundles that can be used with Mule Preview. We are still unsure about the licencing conditions around bundling and redistributing Mulesoft assets. We are waiting for a response from Mulesoft. In the meantime feel free to extract the files yourself for personal use.

Developing

To work on this module, the following command will mount Mule Preview in a test environment with hot reloading.

$ npm start

Simply navigate to http://localhost:8080 in a browser to view the test environment

Building

Simply run these command to produce a production build

$ npm run build

The release files will be placed in the "dist" folder

Acknowledgements

Math icons made by Freepik from www.flaticon.com

License

FOSSA Status

FAQs

Package last updated on 08 Aug 2020

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