You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
11 KiB
11 KiB
magic-string changelog
0.25.7
- fix bundle mappings after remove and move in multiple sources (#172)
0.25.6
- Use bitwise operators for small performance boost (#171)
0.25.5
- Use a bitset to reduce memory consumption (#167)
0.25.4
- Clone
intro
andoutro
(#162)
0.25.3
- Fix typing of
SourceMap.version
.
0.25.2
- Remove deprecated
new Buffer(...)
- Handle characters outside Latin1 range when generating a sourcemap in browser (#154)
0.25.1
- Additional types for index.d.ts (#148)
0.25.0
0.24.1
- Add
lastLine
andlastChar
methods (#142)
0.24.0
- Add
isEmpty
methods (#137) - Fix a potential race condition (#136)
- Fix CJS/ES bundles inlining
sourcemap-codec
in 0.23.2.
0.23.2
- Add
generateDecodedMap
methods (#134)
0.23.1
- Performance (#132)
0.23.0
- Use
sourcemap-codec
for improved performance (#133)
0.22.5
- Add TypeScript interfaces used by rollup (#131)
- Remove src directory from npm package
0.22.4
contentOnly
andstoreName
are both optional
0.22.3
- Add
original
to TS definitions
0.22.2
- Avoid
declare module
(#127)
0.22.1
- Update TypeScript definitions (#124)
0.22.0
0.21.3
0.21.2
- Add
default
property referencing self in index-legacy.js, to work around TypeScript bug (#121)
0.21.1
- Add typings file to package
0.21.0
- Add TypeScript bindings (#119)
0.20.0
- The fourth argument to
overwrite
is a{storeName, contentOnly}
options object.storeName: true
is equivalent totrue
before.contentOnly
will preserve existing appends/prepends to the chunk in question
0.19.1
- Prevent overwrites across a split point (i.e. following a
move
) - Implement
remove
separately tooverwrite
0.19.0
- More accurate bundle sourcemaps (#114)
0.18.0
- Optimisation – remove empty chunks following
overwrite
orremove
(#113)
0.17.0
- Add
appendLeft
,appendRight
,prependLeft
,prependRight
methods (#109) insertLeft
andinsertRight
are deprecated in favour ofappendLeft
andprependRight
respectively
0.16.0
- Include inserts in range for
overwrite
andremove
operations (#89) - Make options optional for
bundle.generateMap(...)
(#73)
0.15.2
- Generate correct bundle sourcemap with prepended/appended content
0.15.1
- Minor sourcemap fixes
0.15.0
- Use named export of
Bundle
in ES build, so ES consumers of magic-string can tree-shake it out
0.14.0
- Throw if overwrite of zero-length range is attempted
- Correctly handle redundant move operations
0.13.1
- Fix a bevy of
s.slice()
issues (#62)
0.13.0
- Breaking:
insertAfter
is nowinsertLeft
,insertBefore
is nowinsertRight
- Breaking:
insert
is no longer available. UseinsertLeft
andinsertRight
- Significant performance improvements
0.12.1
- Fix sourcemap generation with
insertAfter
andinsertBefore
0.12.0
- Add
insertAfter
andinsertBefore
methods
0.11.4
- Fix two regression bugs with
trim()
- More informative error message on illegal removals
0.11.3
- Fix trim methods to ensure correct sourcemaps with trimmed content (#53)
0.11.2
- Support sourcemaps with moved content
0.11.1
- Use
findIndex
helper for 0.12 support
0.11.0
- Add experimental
move()
method - Refactor internals to support
move()
0.10.2
- Do not overwrite inserts at the end of patched ranges (#35)
0.10.1
- Zero-length inserts are not removed on adjacent overwrites
0.10.0
- Complete rewrite, resulting in ~40x speed increase (#30)
- Breaking –
magicString.locate
andlocateOrigin
are deprecated - More forgiving rules about contiguous patches, and which ranges are valid with
magicString.slice(...)
0.9.1
- Update deps
0.9.0
- Update build process
0.8.0
- Add an ES6 build, change default UMD build to CommonJS (but keeping existing UMD build with bundled dependencies)
- Make properties non-enumerable, for cleaner logging
- Update dependencies
0.7.0
- The
names
array is populated when generating sourcemaps, and mappings include name indices where appropriate (#16) - Replaced content is mapped correctly in sourcemaps (#15)
0.6.6
- Adjust mappings correctly when removing replaced content
- Error correctly when removed characters are used as slice anchors
0.6.5
- Fix
jsnext:main
in package.json
0.6.4
- Fix bug with positive integer coercion
0.6.3
- Intro content is correctly indented
- Content following an intro with trailing newline is correctly indented
0.6.2
- Noop indents are still chainable (fixes bug introduced in 0.6.1)
0.6.1
- Indenting with an empty string is a noop
0.6.0
- Use rollup for bundling, instead of esperanto
0.5.3
- Correct sourcemap generation with bundles containing varied separators
s.clone()
clones indent exclusion ranges and sourcemap locations
0.5.2
s.slice()
accepts negative numbers, and the second argument can be omitted (means 'original string length'), just likeString.prototype.slice
- More informative error message when trying to overwrite content illegally
0.5.1
- Allow bundle separator to be the empty string
- Indenting is handled correctly with empty string separator
0.5.0
s.replace()
is deprecated in favour ofs.overwrite()
(identical signature)bundle.addSource()
can take aMagicString
instance as its sole argument, for convenience- The
options
innew MagicString(str, options)
can includefilename
andindentExclusionRanges
options, which will be used when bundling - New method:
s.snip( start, end )
0.4.9
file
option is optional when generating a bundle sourcemap
0.4.7
- Repeated insertions at position 0 behave the same as other positions (#10)
0.4.6
- Overlapping ranges can be removed
- Non-string content is rejected (#9)
0.4.5
- Implement
source.addSourcemapLocation()
0.4.4
- Another Windows fix, this time for file paths when bundling
0.4.3
- Handle Windows-style CRLF newlines when determining whether a line is empty
0.4.2
- Fix typo in package.json (d'oh again)
- Use only relative paths for internal modules - makes bundling with dependents (i.e. esperanto) possible
0.4.1
- Includes correct files in npm package (d'oh)
0.4.0
- Using experimental Esperanto feature (esperantojs/esperanto#68) to generate version with
vlq
dependency included
0.3.1
- Fixes a bug whereby multiple insertions at the same location would cause text to repeat (#5)
0.3.0
- Breaking change -
source.indentStr
isnull
if no lines are indented. Usesource.getIndentString()
for the old behaviour (guess, and if no lines are indented, return\t
) bundle.getIndentString()
ignores sources with no indented lines when guessing indentation (#3)
0.2.7
source.trimLines()
removes empty lines from start/end of source, leaving other whitespace untouched- Indentation is not added to an empty source
0.2.6
- Performance improvement - adjustments are only made when necessary
0.2.5
- Single spaces are ignored when guessing indentation - experience shows these are more likely to be e.g. JSDoc comments than actual indentation
bundle.addSource()
can take anindentExclusionRanges
option
0.2.4
- Empty lines are not indented
0.2.3
- Fixes edge case with bundle sourcemaps
0.2.2
- Make
sources
paths in sourcemaps relative tooptions.file
0.2.1
- Minor fix for
bundle.indent()
0.2.0
- Implement
MagicString.Bundle
for concatenating magic strings
0.1.10
- Fix sourcemap encoding
0.1.9
- Better performance when indenting large chunks of code
0.1.8
- Sourcemaps generated with
s.generateMap()
have atoUrl()
method that generates a DataURI
0.1.7
- Implement
s.insert( index, content )
- roughly equivalent tos.replace( index, index, content )
0.1.6
- Version bump for npm's benefit
0.1.5
s.indent({ exclude: [ x, y ] })
prevents lines between (original) charactersx
andy
from being indented. Multiple exclusion ranges are also supported (e.g.exclude: [[a, b], [c, d]]
)
0.1.4
s.locate()
doesn't throw out-of-bound error if index is equal to original string's length
0.1.3
s.trim()
returnsthis
(i.e. is chainable)
0.1.2
- Implement
s.slice()
0.1.1
- Implement
s.trim()
0.1.0
- First release