SourceMapper

2.0.0

Create and edit Source Maps in Swift
johnfairh/SourceMapper

What's New

2.0.0

2023-04-20T10:22:25Z

Restructure to work properly with Swift concurrency.

Split the SourceMap class into two Sendable structures SourceMap and the immutable UnpackedSourceMap.

The UnpackedSourceMap type is the new home for the map(...) method on a segment cache.

Move index validation and cross-checks to the point of assigning the segments rather than serialising the source map.

Platforms codecov Tests

SourceMapper

Simple Swift implementation of the SourceMap specification: create, load, query, modify, and save source maps.

Examples

let map = try SourceMap(Data(contentsOf: mapURL))
print(map.file)

let unpackedMap = try UnpackedSourceMap(map)
let segment = unpackedMap.map(line: 12, column: 0)
var map = SourceMap()
map.sources = [.remote("a.scss")]
map.sourceRoot = "./../src/"
try map.set(segments: ..., validate: true)
let mapData = map.encode()

Documentation

No support for:

  • Extension fields
  • Index map format

Requirements

  • Swift 5.7
  • macOS 10.10 (tested on macOS 12.0 IA64)
  • Linux (tested on Ubuntu 18.04.5)
  • Windows 10, Swift 5.7 (tested in CI only)

Installation

Only with Swift Package Manager, via Xcode or directly:

Package dependency:

.package(name: "SourceMapper",
         url: "https://github.com/johnfairh/SourceMapper.git",
         from: "2.0.0")

Contributions

Welcome: open an issue / johnfairh@gmail.com / @johnfairh

License

Distributed under the MIT license.

Description

  • Swift Tools 5.7.0
View More Packages from this Author

Dependencies

  • None
Last updated: Wed Apr 10 2024 17:03:28 GMT-0900 (Hawaii-Aleutian Daylight Time)