1.3.0 • Published 4 years ago

@a-la/markers v1.3.0

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

@a-la/markers

npm version

@a-la/markers is a set of service markers used by alamode, e.g., to cut and paste comments.

yarn add -D @a-la/markers
npm i @a-la/markers --save-dev

Table Of Contents

API

The package is available by importing its default function:

import makeRules from '@a-la/markers'

makeRules(  rules?: !Array<!_restream.Rule>,): !Array<!_restream.Rule>

This function will surround the rules with cut and paste rules for markers, to exclude from transforms:

  • strings
  • template literals
  • block comments
  • inline comments
  • regexes

! Important The current implementation does not support the following:

// the // will be considered to be a comment and break the process
// because the string literal will not be complete without the closing `
const noLink = `https://${host}/test`
export { noLink }
/* yarn example/ */
import makeRules from '@a-la/markers'

const { rules, markers } = makeRules([
  {
    re: 'ALAMODE_RULE',
    replacement(match) {
      return match
    },
  },
])

console.log('\nRules:')
console.log(rules)

console.log('\nMarkers:')
console.log(markers)
Rules:
[
  { re: /\/\*(?:[\s\S]+?)\*\//g, replacement: [Function: replacement] },
  { re: /`([\s\S]*?)`/gm, replacement: [Function: replacement] },
  { re: /./, replacement: [Function: replacement] },
  { re: 'ALAMODE_RULE', replacement: [Function: replacement] },
  {
    re: /%%_RESTREAM_LITERALS_REPLACEMENT_(\d+)_%%/g,
    replacement: [Function: replacement]
  },
  {
    re: /%%_RESTREAM_COMMENTS_REPLACEMENT_(\d+)_%%/g,
    replacement: [Function: replacement]
  }
]

Markers:
{
  literals: {
    name: 'literals',
    re: /`([\s\S]*?)`/gm,
    regExp: /%%_RESTREAM_LITERALS_REPLACEMENT_(\d+)_%%/g,
    getReplacement: [Function: getDefaultReplacement],
    map: {},
    lastIndex: 0
  },
  comments: {
    name: 'comments',
    re: /\/\*(?:[\s\S]+?)\*\//g,
    regExp: /%%_RESTREAM_COMMENTS_REPLACEMENT_(\d+)_%%/g,
    getReplacement: [Function: getDefaultReplacement],
    map: {},
    lastIndex: 0
  }
}

Copyright

2.0.0-simple

4 years ago

1.3.0

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago