# grunt-multi-stage-sourcemap

> Remap multi-level sourcemaps

Latest version **0.1.0** (published 2014-11-12) · 0 weekly downloads

## Install

```sh
npm install grunt-multi-stage-sourcemap
pnpm add grunt-multi-stage-sourcemap
yarn add grunt-multi-stage-sourcemap
bun add grunt-multi-stage-sourcemap
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.0 |
| Published | 2014-11-12 |
| First published | 2014-11-12 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >= 0.8.0 |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | John van de Water |
| Maintainers | jchn |
| Keywords | gruntplugin |

## Links

- npm: https://www.npmjs.com/package/grunt-multi-stage-sourcemap
- Repository: https://github.com/awkward/grunt-multi-stage-sourcemap
- Issues: https://github.com/awkward/grunt-multi-stage-sourcemap/issues
- npm.io page: https://npm.io/package/grunt-multi-stage-sourcemap

## Dependencies (1)

- [multi-stage-sourcemap](https://npm.io/package/multi-stage-sourcemap.md) ^0.2.1

## Recent versions

- 0.1.0 (latest) — 2014-11-12

## README

# grunt-multi-stage-sourcemap [![Build Status](https://travis-ci.org/awkward/grunt-multi-stage-sourcemap.svg?branch=master)](https://travis-ci.org/awkward/grunt-multi-stage-sourcemap)

> Remap multi-level sourcemaps using the [multi-stage-sourcemap](https://github.com/azu/multi-stage-sourcemap) library.

## Getting Started
This plugin requires Grunt `~0.4.5`

If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

```shell
npm install grunt-multi-stage-sourcemap --save-dev
```

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

```js
grunt.loadNpmTasks('grunt-multi-stage-sourcemap');
```

## The "multi_stage_sourcemap" task

### Overview
In your project's Gruntfile, add a section named `multi_stage_sourcemap` to the data object passed into `grunt.initConfig()`.

```js
grunt.initConfig({
  multi_stage_sourcemap: {
    options: {
      // Task-specific options go here.
    },
    your_target: {
      // Target-specific file lists and/or options go here.
    },
  },
});
```

### Options

#### options.map
Type: `function`

Default value:
```
function naiveMapping(pathMapFrom, pathMapTo) {

  function getFilename(path) {
    return path.split("/").pop();
  }

  if (getFilename(pathMapFrom) === getFilename(pathMapTo)) {
    return true;
  }
}
```

A function which decides which maps should be offset to each other. The function recieves the paths to both files and should return `true` if they match up otherwise it should return `false`.

By default the function will return `true` if both files have the same name.

### Usage Examples

#### Default Options
In this example, the default options are used to retrieve the `default_options.js.map` source map from directory `A` and remap it using `default_options.js.map` from directory `B`.

```js
grunt.initConfig({
  multi_stage_sourcemap: {
    filesFrom: 'test/fixtures/A/default_options.js.map',
    options: {},
    files: [{
      expand: true,
      cwd: 'test/fixtures/B/',
      src: ['default_options.js.map'],
      dest: 'tmp'
    }],
  },
});
```

## Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).

## Release History
* Nov 7, 2014 - v0.1.0

---
_Source: https://npm.io/package/grunt-multi-stage-sourcemap · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
