{"bugs":{"url":"https://github.com/gulpjs/interpret/issues"},"dist":{"shasum":"6f637617cf307760be422ab9f4d13cc8a35eca1a","tarball":"https://registry.npmjs.org/interpret/-/interpret-1.3.0.tgz","fileCount":5,"integrity":"sha512-RDVhhDkycLoSQtE9o0vpK/vOccVDsCbWVzRxArGYnlQLcihPl2loFbPyiH7CM0m2/ijOJU3+PZbnBPaB6NJ1MA==","signatures":[{"sig":"MEUCIDopMMkeBtUPEOj+u3fuCCXg4msXxtzbMyfqEta12gT1AiEAvuvkcJ+7Ft9ycE1U0962xntNndpZmPeOZp2j2QhHGHU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe1CrdCRA9TVsSAnZWagAArD4P/Ajw9diD0C9CLdCOR+3o\nhh1JT+GJINMrZm1IrVQwQ7p/gdqzB0VnUyUBEC6UH9iLdXGti3/Zg7lCGs4u\nO14PX061QfBvBlxVAOv1xQf1fNEsIIdwnJW5WxJ2e8ffgS7KL/kmrcxA8Pzt\ngFejfaVDApiL2J1T3CzNe/199+IzdRlIS+i1IihsjqVlPLj1epnN9TE60Mxa\nB4uaaPJFUpMW45ETq7aJMdPP4Jt8Pq68PhcJZF6FuZc4TSjD4XQrhGh0cVmw\nCaqZFuu1KXe6IcBcRqnQDdgt+ubbhojGoFC9ouJ0s1cuvbcvjLrlXQCg8SmS\nSw3QJ5d7NsT82jrWTGP+h3su3ramouFLOVaYqNmL9YW2X1IMLny/NLYW9zGe\nDTGt+oXWiW+dXLfwTw33t92EievB5XqmWD/KyyGxCuUinSQfbgzGYI/Wi53O\ns/BGr4LQNgWzmsit4hdaO7uSDrTzlNLnCeIOJ+rd6QCucIfSPS/bm8xRXNGb\noi9wmJR8C+Cs+YvuK6xLkWqs46uIcDowT3ihvra/0HI2pm3bWTVM5yiOLFcd\num58/qlwTFFk+NW8ts/bd1RMMxuvteyPZT9KK503CUT9N+j3g8n/0oeCTIDl\ncantO6RXOVImEWmKqTaNsgWvNhdO46rAW4AfubHBRJIkDn6I0IbMDXemSh9l\nvTpF\r\n=M7ze\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","name":"interpret","author":{"url":"http://gulpjs.com/","name":"Gulp Team","email":"team@gulpjs.com"},"readme":"<p align=\"center\">\n  <a href=\"http://gulpjs.com\">\n    <img height=\"257\" width=\"114\" src=\"https://raw.githubusercontent.com/gulpjs/artwork/master/gulp-2x.png\">\n  </a>\n</p>\n\n# interpret\n\n[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Travis Build Status][travis-image]][travis-url] [![AppVeyor Build Status][appveyor-image]][appveyor-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Gitter chat][gitter-image]][gitter-url]\n\nA dictionary of file extensions and associated module loaders.\n\n## What is it\nThis is used by [Liftoff](http://github.com/tkellen/node-liftoff) to automatically require dependencies for configuration files, and by [rechoir](http://github.com/tkellen/node-rechoir) for registering module loaders.\n\n## API\n\n### extensions\nMap file types to modules which provide a [require.extensions] loader.\n\n```js\n{\n  '.babel.js': [\n    {\n      module: '@babel/register',\n      register: function(hook) {\n        // register on .js extension due to https://github.com/joyent/node/blob/v0.12.0/lib/module.js#L353\n        // which only captures the final extension (.babel.js -> .js)\n        hook({ extensions: '.js' });\n      },\n    },\n    {\n      module: 'babel-register',\n      register: function(hook) {\n        hook({ extensions: '.js' });\n      },\n    },\n    {\n      module: 'babel-core/register',\n      register: function(hook) {\n        hook({ extensions: '.js' });\n      },\n    },\n    {\n      module: 'babel/register',\n      register: function(hook) {\n        hook({ extensions: '.js' });\n      },\n    },\n  ],\n  '.babel.ts': [\n    {\n      module: '@babel/register',\n      register: function(hook) {\n        hook({ extensions: '.ts' });\n      },\n    },\n  ],\n  '.buble.js': 'buble/register',\n  '.cirru': 'cirru-script/lib/register',\n  '.cjsx': 'node-cjsx/register',\n  '.co': 'coco',\n  '.coffee': ['coffeescript/register', 'coffee-script/register', 'coffeescript', 'coffee-script'],\n  '.coffee.md': ['coffeescript/register', 'coffee-script/register', 'coffeescript', 'coffee-script'],\n  '.csv': 'require-csv',\n  '.eg': 'earlgrey/register',\n  '.esm.js': {\n    module: 'esm',\n    register: function(hook) {\n      // register on .js extension due to https://github.com/joyent/node/blob/v0.12.0/lib/module.js#L353\n      // which only captures the final extension (.babel.js -> .js)\n      var esmLoader = hook(module);\n      require.extensions['.js'] = esmLoader('module')._extensions['.js'];\n    },\n  },\n  '.iced': ['iced-coffee-script/register', 'iced-coffee-script'],\n  '.iced.md': 'iced-coffee-script/register',\n  '.ini': 'require-ini',\n  '.js': null,\n  '.json': null,\n  '.json5': 'json5/lib/require',\n  '.jsx': [\n    {\n      module: '@babel/register',\n      register: function(hook) {\n        hook({ extensions: '.jsx' });\n      },\n    },\n    {\n      module: 'babel-register',\n      register: function(hook) {\n        hook({ extensions: '.jsx' });\n      },\n    },\n    {\n      module: 'babel-core/register',\n      register: function(hook) {\n        hook({ extensions: '.jsx' });\n      },\n    },\n    {\n      module: 'babel/register',\n      register: function(hook) {\n        hook({ extensions: '.jsx' });\n      },\n    },\n    {\n      module: 'node-jsx',\n      register: function(hook) {\n        hook.install({ extension: '.jsx', harmony: true });\n      },\n    },\n  ],\n  '.litcoffee': ['coffeescript/register', 'coffee-script/register', 'coffeescript', 'coffee-script'],\n  '.liticed': 'iced-coffee-script/register',\n  '.ls': ['livescript', 'LiveScript'],\n  '.node': null,\n  '.toml': {\n    module: 'toml-require',\n    register: function(hook) {\n      hook.install();\n    },\n  },\n  '.ts': [\n    'ts-node/register',\n    'typescript-node/register',\n    'typescript-register',\n    'typescript-require',\n    'sucrase/register/ts',\n    {\n      module: '@babel/register',\n      register: function(hook) {\n        hook({ extensions: '.ts' });\n      },\n    },\n  ],\n  '.tsx': [\n    'ts-node/register',\n    'typescript-node/register',\n    'sucrase/register',\n    {\n      module: '@babel/register',\n      register: function(hook) {\n        hook({ extensions: '.tsx' });\n      },\n    },\n  ],\n  '.wisp': 'wisp/engine/node',\n  '.xml': 'require-xml',\n  '.yaml': 'require-yaml',\n  '.yml': 'require-yaml',\n}\n```\n\n### jsVariants\nSame as above, but only include the extensions which are javascript variants.\n\n## How to use it\n\nConsumers should use the exported `extensions` or `jsVariants` object to determine which module should be loaded for a given extension. If a matching extension is found, consumers should do the following:\n\n1. If the value is null, do nothing.\n\n2. If the value is a string, try to require it.\n\n3. If the value is an object, try to require the `module` property. If successful, the `register` property (a function) should be called with the module passed as the first argument.\n\n4. If the value is an array, iterate over it, attempting step #2 or #3 until one of the attempts does not throw.\n\n[require.extensions]: http://nodejs.org/api/globals.html#globals_require_extensions\n\n[downloads-image]: http://img.shields.io/npm/dm/interpret.svg\n[npm-url]: https://www.npmjs.com/package/interpret\n[npm-image]: http://img.shields.io/npm/v/interpret.svg\n\n[travis-url]: https://travis-ci.org/gulpjs/interpret\n[travis-image]: http://img.shields.io/travis/gulpjs/interpret.svg?label=travis-ci\n\n[appveyor-url]: https://ci.appveyor.com/project/gulpjs/interpret\n[appveyor-image]: https://img.shields.io/appveyor/ci/gulpjs/interpret.svg?label=appveyor\n\n[coveralls-url]: https://coveralls.io/r/gulpjs/interpret\n[coveralls-image]: http://img.shields.io/coveralls/gulpjs/interpret/master.svg\n\n[gitter-url]: https://gitter.im/gulpjs/gulp\n[gitter-image]: https://badges.gitter.im/gulpjs/gulp.svg\n","engines":{"node":">= 0.10"},"gitHead":"136a9705aa891845ef4740367fbf6a0b37545317","license":"MIT","scripts":{"lint":"eslint .","test":"mocha --async-only","cover":"istanbul cover _mocha --report lcovonly","pretest":"rm -rf tmp/ && npm run lint","coveralls":"npm run cover && istanbul-coveralls"},"_npmUser":{"name":"phated","email":"blaine.bublitz@gmail.com"},"homepage":"https://github.com/gulpjs/interpret#readme","keywords":["cirru-script","cjsx","co","coco","coffee","coffee-script","coffee.md","coffeescript","csv","earlgrey","es","es6","iced","iced.md","iced-coffee-script","ini","js","json","json5","jsx","react","litcoffee","liticed","ls","livescript","toml","ts","typescript","wisp","xml","yaml","yml"],"repository":{"url":"git+https://github.com/gulpjs/interpret.git","type":"git"},"_npmVersion":"6.14.5","description":"A dictionary of file extensions and associated module loaders.","directories":{},"maintainers":[{"name":"contra","email":"yo@contra.io"},{"name":"phated","email":"blaine.bublitz@gmail.com"},{"name":"sttk","email":"sttk.xslet@gmail.com"},{"name":"tkellen","email":"tyler@sleekcode.net"}],"_nodeVersion":"14.3.0","contributors":[{"name":"Blaine Bublitz","email":"blaine.bublitz@gmail.com"},{"url":"http://goingslowly.com/","name":"Tyler Kellen","email":"tyler@sleekcode.net"}],"dependencies":{},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"mocha":"^3.5.3","eslint":"^2.13.0","expect":"^1.20.2","rechoir":"^0.6.2","shelljs":"0.7.5","istanbul":"^0.4.3","trash-cli":"^3.0.0","eslint-config-gulp":"^3.0.1","istanbul-coveralls":"^1.0.3","parse-node-version":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/interpret_1.3.0_1590962908602_0.6059221871815816","host":"s3://npm-registry-packages"},"_id":"interpret@1.3.0","version":"1.3.0"}