@a-la/import
Advanced tools
Comparing version 1.0.0 to 1.1.0
@@ -1,24 +0,15 @@ | ||
"use strict"; | ||
const { debuglog } = require('util') | ||
const defaultRule = require('./lib/default') | ||
const namedRule = require('./lib/named') | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.default = void 0; | ||
const LOG = debuglog('@a-la/import') | ||
var _util = require("util"); | ||
var _default2 = _interopRequireDefault(require("./lib/default")); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
const LOG = (0, _util.debuglog)('@a-la/import'); | ||
/** | ||
* A La Sequence to combine multiple rules from this package (such as `import defaultFn`, `import { namedFn }`, _etc_). | ||
* An À La Sequence to combine multiple rules from this package (such as `import defaultFn`, `import { namedFn }`, _etc_). | ||
*/ | ||
const seq = [ | ||
defaultRule, | ||
namedRule, | ||
] | ||
const seq = [_default2.default]; | ||
var _default = seq; // export { default } from './lib/default' | ||
// export { ALaImportRe } | ||
exports.default = _default; | ||
//# sourceMappingURL=index.js.map | ||
module.exports = seq |
@@ -1,29 +0,17 @@ | ||
"use strict"; | ||
const re = /^\s*import ([\w\d]+) from (["'])(.+?)\2/gm | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.ImportDefaultRe = exports.default = void 0; | ||
const ImportDefaultRe = /^\s*import ([\w\d]+) from (["'])(.+?)\2/gm; | ||
/** | ||
* A La Rule to use the regex for replacement. | ||
* @type {Rule} | ||
* A rule to replace `import method from 'package'` statement. | ||
* @type {import('restream').Rule} | ||
*/ | ||
exports.ImportDefaultRe = ImportDefaultRe; | ||
const ImportDefaultRule = { | ||
re: ImportDefaultRe, | ||
const rule = { | ||
re, | ||
replacement(match, name, quotes, src) { | ||
const s = `const ${name} = require(${quotes}${src}${quotes})`; | ||
return s; | ||
} | ||
const s = `const ${name} = require(${quotes}${src}${quotes})` | ||
return s | ||
}, | ||
} | ||
}; | ||
/** | ||
* @typedef {import('restream').Rule} Rule | ||
*/ | ||
module.exports = rule | ||
var _default = ImportDefaultRule; | ||
exports.default = _default; | ||
//# sourceMappingURL=default.js.map | ||
module.exports.re = re |
@@ -0,1 +1,10 @@ | ||
## 10 August 2018 | ||
### 1.1.0 | ||
- [feature] Named imports. | ||
- [doc] Better doc. | ||
- [test] Mask testing. | ||
- [package] Build w/ `alamode`. | ||
## 25 July 2018 | ||
@@ -2,0 +11,0 @@ |
{ | ||
"name": "@a-la/import", | ||
"version": "1.0.0", | ||
"version": "1.1.0", | ||
"description": "A La Regex to transpile an import statement into require.", | ||
@@ -52,2 +52,3 @@ "main": "build", | ||
"documentary": "1.10.0", | ||
"erte": "1.1.4", | ||
"eslint-config-artdeco": "1.0.1", | ||
@@ -59,3 +60,4 @@ "mismatch": "1.0.1", | ||
"zoroaster": "2.1.0" | ||
} | ||
}, | ||
"dependencies": {} | ||
} |
@@ -7,3 +7,3 @@ # @a-la/import | ||
_À La Mode_ is a RegExp-based transpiler which works faster than AST-based transpilers such as `@babel`, and occupies only 100KB of disk space. | ||
_À La Mode_ is a RegExp-based transpiler which works faster than AST-based transpilers such as `@babel`, and occupies only 10KB of disk space. | ||
@@ -19,4 +19,4 @@ ```sh | ||
* [`ALaImport` Sequence](#alaimport-sequence) | ||
- [Rules](#rules) | ||
* [`Default` Rule](#default-rule) | ||
- [Output Example](#output-example) | ||
- [Checklist](#checklist) | ||
- [Copyright](#copyright) | ||
@@ -65,82 +65,47 @@ | ||
## Rules | ||
## Output Example | ||
The replacement sequence consists of a number of rules, which produce the most reliable result when put together. See [`Rule Type` in documentary](https://github.com/artdecocode/restream#rule-type) for more info about how rules work. | ||
The set of rules changes `import` to `require` statements. | ||
### `Default` Rule | ||
Allows to import the default export. | ||
```js | ||
import helloWorld from 'hello-world' | ||
``` | ||
import aLaMode from 'alamode' | ||
import scopeALaMode from "@a-la/import" | ||
<details> | ||
<summary> | ||
<em>Click to Show Details.</em></summary> | ||
<table> | ||
<tr></tr> | ||
<tr> | ||
<td><strong> | ||
Example</strong></td> | ||
<td> | ||
```js | ||
import examplePackage from 'examplePackage' | ||
import { methodA, methodB } from 'alamode' | ||
import { methodC, methodD as aliasD } from 'alamode' | ||
import defaultALaMode, { | ||
methodE, methodF, | ||
} from 'alamode' | ||
``` | ||
</td> | ||
</tr> | ||
<tr></tr> | ||
<tr> | ||
<td><strong> | ||
RegExp</strong></td> | ||
<td> | ||
```js | ||
/^\s*import ([\w\d]+) from (["'])(.+?)\2/gm | ||
``` | ||
</td> | ||
</tr> | ||
<tr></tr> | ||
const aLaMode = require('alamode') | ||
const scopeALaMode = require("@a-la/import") | ||
<tr> | ||
<td><strong> | ||
Rule</strong></td> | ||
<td> | ||
```js | ||
const ImportDefaultRule = { | ||
re: /^\s*import ([\w\d]+) from (["'])(.+?)\2/gm, | ||
replacement(match, name, src) { | ||
const s = `const ${name} = require('${src}')` | ||
return s | ||
}, | ||
} | ||
const { methodA, methodB } = require('alamode') | ||
const { methodC, methodD: aliasD } = require('alamode') | ||
const defaultALaMode = require('alamode') | ||
const { | ||
methodE, methodF, | ||
} = defaultALaMode | ||
``` | ||
</td> | ||
</tr> | ||
<tr></tr> | ||
<tr> | ||
<td><strong> | ||
Output</strong></td> | ||
<td> | ||
## Checklist | ||
```js | ||
const examplePackage = require('examplePackage') | ||
``` | ||
</td> | ||
</tr> | ||
</table> | ||
- [x] `import defaultExport from "module-name"` | ||
- [ ] `import * as name from "module-name";` | ||
- [x] `import { export } from "module-name";` | ||
- [x] `import { export as alias } from "module-name";` | ||
- [x] `import { export1 , export2 } from "module-name";` | ||
- [x] `import { export1 , export2 as alias2 , [...] } from "module-name";` | ||
- [x] `import defaultExport, { export [ , [...] ] } from "module-name";` | ||
- [ ] `import defaultExport, * as name from "module-name";` | ||
- [ ] `import "module-name";` | ||
- [ ] `var promise = import(module-name);` | ||
</details> | ||
## Copyright | ||
(c) [A La Mode][1] 2018 | ||
(c) [À La Mode][1] 2018 | ||
[1]: https://alamode.cc |
53
7136
9
109