{"_id":"@blitz/monaco-auto-import","_rev":"61-b43e0556f625d11d087a26375dada2db","name":"@blitz/monaco-auto-import","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.0":{"name":"@blitz/monaco-auto-import","version":"1.0.0","keywords":[],"author":{"url":"http://github.com/samdenty99","name":"Sam Denty","email":"samddenty@gmail.com"},"license":"MIT","_id":"@blitz/monaco-auto-import@1.0.0","maintainers":[{"name":"ericmsimons","email":"eric@esft.com"},{"name":"samdd","email":"samddenty@gmail.com"}],"homepage":"https://github.com/stackblitz/monaco-auto-import","bugs":{"url":"https://github.com/stackblitz/monaco-auto-import/issues"},"dist":{"shasum":"5c49f101c89b1afe47ca4ec75123cdd9cbe0ec3c","tarball":"https://registry.npmjs.org/@blitz/monaco-auto-import/-/monaco-auto-import-1.0.0.tgz","fileCount":122,"integrity":"sha512-m0Y/ALk8tlQfYuDyJpkY05s1mnHvbtMcMlUSVFcMmwDLvbcK1otKnGNl13cC3pGuT4bIFlgTEW5XR74w+PdAXg==","signatures":[{"sig":"MEUCIAeTW/Vah0gdCB6C23CMBEQ5LH9NgYGomkPXzUfZkY8ZAiEArnrKE0OCyGpdC/RnZUwfx6GdXwWIoxS+Ec2vBum3pz4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22998409},"jest":{"testMatch":["**/__tests__/*.spec.(ts|tsx|js)"],"transform":{"^.+\\.tsx?$":"ts-jest"},"moduleFileExtensions":["ts","tsx","js"]},"main":"lib/index.js","files":["dist","lib"],"types":"lib/index.d.ts","scripts":{"test":"jest --verbose","build":"rm -rf lib; tsc","start":"parcel serve ./demo/index.html --open","release":"yarn test && yarn clean && yarn build && yarn publish && yarn clean","build:demo":"rm -rf dist; parcel build ./demo/index.html","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"samdd","email":"samddenty@gmail.com"},"repository":{"url":"https://github.com/stackblitz/monaco-auto-import.git","type":"git"},"description":"Easily add auto-import to the Monaco editor, with Javascript & Typescript support.","directories":{},"browserslist":["last 3 versions"],"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.3.0","ts-jest":"^22.4.2","typescript":"^2.9.2","@types/jest":"^23.1.4","monaco-editor":"^0.13.1"},"_npmOperationalInternal":{"tmp":"tmp/monaco-auto-import_1.0.0_1530969643171_0.6472426775447466","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@blitz/monaco-auto-import","version":"1.0.1","keywords":[],"author":{"url":"http://github.com/samdenty99","name":"Sam Denty","email":"samddenty@gmail.com"},"license":"MIT","_id":"@blitz/monaco-auto-import@1.0.1","maintainers":[{"name":"ericmsimons","email":"eric@esft.com"},{"name":"samdd","email":"samddenty@gmail.com"}],"homepage":"https://github.com/stackblitz/monaco-auto-import","bugs":{"url":"https://github.com/stackblitz/monaco-auto-import/issues"},"dist":{"shasum":"9469e658b463ece3598752239048c9726b715b6a","tarball":"https://registry.npmjs.org/@blitz/monaco-auto-import/-/monaco-auto-import-1.0.1.tgz","fileCount":122,"integrity":"sha512-kt4MPMLbxgACe05i6sXLGJ5cVhXzcs7RQMPmp8p/uX5HiGkgO2ehKxr9ut1W1bE/h4oIay0Lf97u6kKMGqZMVQ==","signatures":[{"sig":"MEQCIHxMuvBcIbphd7LYXs8xJ1r9uktK926yA/5uoAePJnZrAiAyUCdUpXJ3RHUt+QHyINoEWXgymcR+jM3WmuBfLoZPhw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22998841},"jest":{"testMatch":["**/__tests__/*.spec.(ts|tsx|js)"],"transform":{"^.+\\.tsx?$":"ts-jest"},"moduleFileExtensions":["ts","tsx","js"]},"main":"lib/index.js","files":["dist","lib"],"types":"lib/index.d.ts","scripts":{"test":"jest --verbose","build":"rm -rf lib; tsc","start":"parcel serve ./demo/index.html --open","release":"yarn test && yarn clean && yarn build && yarn publish && yarn clean","build:demo":"rm -rf dist; parcel build ./demo/index.html","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"samdd","email":"samddenty@gmail.com"},"repository":{"url":"https://github.com/stackblitz/monaco-auto-import.git","type":"git"},"description":"[![npm version](https://img.shields.io/npm/v/@blitz/monaco-auto-import.svg?style=flat-square)](https://www.npmjs.com/package/console-feed) [![npm downloads](https://img.shields.io/npm/dm/@blitz/monaco-auto-import.svg?style=flat-square)](https://www.npmjs.","directories":{},"browserslist":["last 3 versions"],"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.3.0","ts-jest":"^22.4.2","typescript":"^2.9.2","@types/jest":"^23.1.4","monaco-editor":"^0.13.1"},"_npmOperationalInternal":{"tmp":"tmp/monaco-auto-import_1.0.1_1530969867101_0.1781199633143704","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@blitz/monaco-auto-import","version":"1.0.3","keywords":[],"author":{"url":"http://github.com/samdenty99","name":"Sam Denty","email":"samddenty@gmail.com"},"license":"MIT","_id":"@blitz/monaco-auto-import@1.0.3","maintainers":[{"name":"ericmsimons","email":"eric@esft.com"},{"name":"samdd","email":"samddenty@gmail.com"}],"homepage":"https://github.com/stackblitz/monaco-auto-import","bugs":{"url":"https://github.com/stackblitz/monaco-auto-import/issues"},"dist":{"shasum":"6218732f6cd09417838d7936cf94b156c174bb2f","tarball":"https://registry.npmjs.org/@blitz/monaco-auto-import/-/monaco-auto-import-1.0.3.tgz","fileCount":122,"integrity":"sha512-Xei9LZTDkmNfnHEksAB7kJmEYJqmwf64n2fCJYEFmVg95meZte9b+hhksWfVjFVqtHsoW0e8N2g6TFunawrypg==","signatures":[{"sig":"MEYCIQCxQAdR4Gi6eXSFMn2XpMaB9J1QFY5/kI37kNU6/kiOsQIhAINP5ksTFxUzKqAPc/rTyrnlt8nhdTTGcUYCdLDDl9Gh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22998841},"jest":{"testMatch":["**/__tests__/*.spec.(ts|tsx|js)"],"transform":{"^.+\\.tsx?$":"ts-jest"},"moduleFileExtensions":["ts","tsx","js"]},"main":"lib/index.js","files":["dist","lib"],"types":"lib/index.d.ts","scripts":{"test":"jest --verbose","build":"rm -rf lib; tsc","start":"parcel serve ./demo/index.html --open","release":"yarn test && yarn clean && yarn build && yarn publish && yarn clean","build:demo":"rm -rf dist; parcel build ./demo/index.html","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"samdd","email":"samddenty@gmail.com"},"repository":{"url":"https://github.com/stackblitz/monaco-auto-import.git","type":"git"},"description":"[![npm version](https://img.shields.io/npm/v/@blitz/monaco-auto-import.svg?style=flat-square)](https://www.npmjs.com/package/console-feed) [![npm downloads](https://img.shields.io/npm/dm/@blitz/monaco-auto-import.svg?style=flat-square)](https://www.npmjs.","directories":{},"browserslist":["last 3 versions"],"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.3.0","ts-jest":"^22.4.2","typescript":"^2.9.2","@types/jest":"^23.1.4","monaco-editor":"^0.13.1"},"_npmOperationalInternal":{"tmp":"tmp/monaco-auto-import_1.0.3_1530969917659_0.25699128908029834","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@blitz/monaco-auto-import","version":"1.0.6","keywords":[],"author":{"url":"http://github.com/samdenty99","name":"Sam Denty","email":"samddenty@gmail.com"},"license":"MIT","_id":"@blitz/monaco-auto-import@1.0.6","maintainers":[{"name":"ericmsimons","email":"eric@esft.com"},{"name":"samdd","email":"samddenty@gmail.com"}],"homepage":"https://github.com/stackblitz/monaco-auto-import","bugs":{"url":"https://github.com/stackblitz/monaco-auto-import/issues"},"dist":{"shasum":"53c4ccb576e65c92cff8bce5494f7f4cb18033bd","tarball":"https://registry.npmjs.org/@blitz/monaco-auto-import/-/monaco-auto-import-1.0.6.tgz","fileCount":122,"integrity":"sha512-p5mi7EfRbAsh3kGZ+ovGWK8TN2tlP3Ur8DpnmHfABPkXW8MgHXcIrGtZ9mKfqFNBkScy7+aHJR06P/YXLAJ8iA==","signatures":[{"sig":"MEYCIQDU3Swjnkv+7eM4lAgYz6CtYrU90LL8OddjVFB4J9u7bAIhAOtibE9Uau32ZoaZBM6LkE1U71fMmX15hW+/FHIiaM/m","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22998930},"jest":{"testMatch":["**/__tests__/*.spec.(ts|tsx|js)"],"transform":{"^.+\\.tsx?$":"ts-jest"},"moduleFileExtensions":["ts","tsx","js"]},"main":"lib/index.js","files":["dist","lib"],"types":"lib/index.d.ts","scripts":{"test":"jest --verbose","build":"rm -rf lib; tsc","start":"parcel serve ./demo/index.html --open","release":"yarn test && yarn clean && yarn build && yarn publish && yarn clean","build:demo":"rm -rf dist; parcel build ./demo/index.html","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"samdd","email":"samddenty@gmail.com"},"repository":{"url":"https://github.com/stackblitz/monaco-auto-import.git","type":"git"},"description":"Easily add auto-import to the Monaco editor, with Javascript & Typescript support.","directories":{},"browserslist":["last 3 versions"],"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.3.0","ts-jest":"^22.4.2","typescript":"^2.9.2","@types/jest":"^23.1.4","monaco-editor":"^0.13.1"},"_npmOperationalInternal":{"tmp":"tmp/monaco-auto-import_1.0.6_1530969973866_0.34483987383310244","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@blitz/monaco-auto-import","version":"1.0.7","keywords":[],"author":{"url":"http://github.com/samdenty99","name":"Sam Denty","email":"samddenty@gmail.com"},"license":"MIT","_id":"@blitz/monaco-auto-import@1.0.7","maintainers":[{"name":"ericmsimons","email":"eric@esft.com"},{"name":"samdd","email":"samddenty@gmail.com"}],"homepage":"https://github.com/stackblitz/monaco-auto-import","bugs":{"url":"https://github.com/stackblitz/monaco-auto-import/issues"},"dist":{"shasum":"c1e44ef01a9edf29bb850466584134449d54b567","tarball":"https://registry.npmjs.org/@blitz/monaco-auto-import/-/monaco-auto-import-1.0.7.tgz","fileCount":122,"integrity":"sha512-x09eUiGz7UhImf9OgkVBUto3goxMIuPWLBqAUkhDu8C/3YP3VK/rp7wl0KXpncj2TuIoZsOqqc74LIOUfZ+J2Q==","signatures":[{"sig":"MEUCIA+76tFrs7UwoNokofd/gGGkhp5L8CKPk0FbF7wghMFAAiEAl7CxB3gyFs73UsE42I7J4kZqpHg1tmTWny7sdl0xe2s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22998943},"jest":{"testMatch":["**/__tests__/*.spec.(ts|tsx|js)"],"transform":{"^.+\\.tsx?$":"ts-jest"},"moduleFileExtensions":["ts","tsx","js"]},"main":"lib/index.js","files":["dist","lib"],"types":"lib/index.d.ts","scripts":{"test":"jest --verbose","build":"rm -rf lib; tsc","start":"parcel serve ./demo/index.html --open","release":"yarn test && yarn clean && yarn build && yarn publish && yarn clean","build:demo":"rm -rf dist; parcel build ./demo/index.html","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"samdd","email":"samddenty@gmail.com"},"repository":{"url":"https://github.com/stackblitz/monaco-auto-import.git","type":"git"},"description":"Easily add auto-import to the Monaco editor, with Javascript & Typescript support.","directories":{},"browserslist":["last 3 versions"],"dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.3.0","ts-jest":"^22.4.2","typescript":"^2.9.2","@types/jest":"^23.1.4","monaco-editor":"^0.13.1"},"_npmOperationalInternal":{"tmp":"tmp/monaco-auto-import_1.0.7_1530970049919_0.8902713111055673","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-07-07T13:20:42.945Z","modified":"2026-09-26T13:08:17.569Z","1.0.0":"2018-07-07T13:20:43.353Z","1.0.1":"2018-07-07T13:24:27.339Z","1.0.3":"2018-07-07T13:25:17.894Z","1.0.6":"2018-07-07T13:26:14.112Z","1.0.7":"2018-07-07T13:27:30.311Z"},"bugs":{"url":"https://github.com/stackblitz/monaco-auto-import/issues"},"author":{"url":"http://github.com/samdenty99","name":"Sam Denty","email":"samddenty@gmail.com"},"license":"MIT","homepage":"https://github.com/stackblitz/monaco-auto-import","keywords":[],"repository":{"url":"https://github.com/stackblitz/monaco-auto-import.git","type":"git"},"description":"Easily add auto-import to the Monaco editor, with Javascript & Typescript support.","maintainers":[{"email":"iamalbertpai@gmail.com","name":"apai4"},{"email":"devops@stackblitz.com","name":"stackblitz-devops"},{"email":"eric@esft.com","name":"ericmsimons"},{"email":"sam@stackblitz.com","name":"stackblitz-unpkg"},{"email":"elmdominic@gmx.net","name":"d3lm"},{"email":"kwinten.pisman@gmail.com","name":"kwintenp"},{"email":"sam.verschueren@gmail.com","name":"samverschueren"},{"email":"tomek@stackblitz.com","name":"tsulkowski"},{"email":"roberto.vidal@ikumene.com","name":"_rvidal"},{"email":"ivan.novosad@gmail.com","name":"ivannovo"},{"email":"nemikolh@gmail.com","name":"nemikolh"},{"email":"npm@alexpate.com","name":"_alexpate"},{"email":"usual.tree6721@gfpd.us","name":"petergrace"},{"email":"alexkalderimis@gmail.com","name":"alexkalderimis"},{"email":"snkenjoi@gmail.com","name":"kirjava"},{"email":"joseph.keyes@stackblitz.com","name":"jsphkeyes"},{"email":"arthur@stackblitz.com","name":"achiurizostackblitz"},{"email":"ashley@stackblitz.com","name":"ashleybolt"},{"email":"contact@keenanpayne.com","name":"keenanpayne"},{"email":"do@inkko.ca","name":"inkko"},{"email":"ideredpl@gmail.com","name":"kasper.mikiewicz"},{"email":"george@stackblitz.com","name":"george-sb"},{"email":"mike.folgner@stackblitz.com","name":"mfolgs"},{"email":"derek@stackblitz.com","name":"derekxbolt"},{"email":"mike@stackblitz.com","name":"sb-mikec"},{"email":"zorofight94@gmail.com","name":"aslemammad"},{"email":"oboyledk@gmail.com","name":"selfcommit"},{"email":"tmickleydoyle@gmail.com","name":"tmickleydoyle"},{"email":"kevin@stackblitz.com","name":"kevmcgivern"},{"email":"yael.guilloux@gmail.com","name":"tahul"},{"email":"julio@stackblitz.com","name":"juliobolt"},{"email":"conor@stackblitz.com","name":"conormcgee"}],"readme":"# monaco-auto-import\n\n\n[![npm version](https://img.shields.io/npm/v/@blitz/monaco-auto-import.svg?style=flat-square)](https://www.npmjs.com/package/@blitz/monaco-auto-import)\n[![npm downloads](https://img.shields.io/npm/dm/@blitz/monaco-auto-import.svg?style=flat-square)](https://www.npmjs.com/package/@blitz/monaco-auto-import)\n[![Demo](https://img.shields.io/badge/Online-Demo-yellow.svg?style=flat-square)](https://unpkg.com/@blitz/monaco-auto-import/dist/index.html)\n\n\nEasily add auto-import to the Monaco editor, with Javascript & Typescript support.\n\n## Demo\n\n![](https://i.imgur.com/BvQuMRC.gif)\n\n### Example code\n\n```ts\nimport AutoImport, { regexTokeniser } from '@blitz/monaco-auto-import'\n\nconst editor = monaco.editor.create(document.getElementById('demo'), {\n  value: `\n    PAD\n    leftPad\n    rightPad\n  `,\n  language: 'typescript'\n})\n\nconst completor = new AutoImport({ monaco, editor })\n\ncompletor.imports.saveFiles([\n  {\n    path: './node_modules/left-pad/index.js',\n    aliases: ['left-pad'],\n    imports: regexTokeniser(`\n      export const PAD = ''\n      export function leftPad() {}\n      export function rightPad() {}\n    `)\n  }\n])\n```\n\n## Getting started\n\n### Installing\n\n```bash\nyarn add @blitz/monaco-auto-import\n# or\nnpm i @blitz/monaco-auto-import --save\n```\n\n### Using\n\n#### Initializing a new instance\n\nSimply create a new Monaco editor instance and pass it to `AutoImport`. This will register custom completion providers for Monaco's `javascript` and `typescript` language services.\n\n```ts\nimport AutoImport from '@blitz/monaco-auto-import'\n\nconst editor = monaco.editor.create(document.getElementById('demo'), {\n  language: 'typescript'\n})\n\nconst completor = new AutoImport({ monaco, editor })\n```\n\n#### Providing completion items\n\nTo make the auto-importer aware of a file with exports, simply call `completor.imports.saveFile`.\n\n```ts\ncompletor.imports.saveFile({\n  path: './src/my-app.js',\n  imports: [\n    {\n      type: 'const',\n      name: 'Testing'\n    }\n  ]\n})\n```\n\n![](https://i.imgur.com/zSuZr7j.png)\n\n#### Tokenization\n\nThis package includes a built-in `regexTokeniser`, which uses a simple Regex to extracts exports from Javascript / Typescript code\n\n```ts\nimport { regexTokeniser } from '@blitz/monaco-auto-import'\n\nconst imports = regexTokeniser(`\n  export const a = 1\n  export class Test {}\n`)\n// [{ type: 'const', name: 'a'}, { type: 'class', name: 'Test' }]\n\ncompletor.imports.saveFile({\n  path: './src/my-app.js',\n  imports: imports\n})\n```\n\n## API\n\n### `imports.saveFile(file: File): void`\n\nSaves a file to the internal store, making it available for completion\n\n### `imports.saveFiles(files: File[]): void`\n\nBulk-saves files to the internal store from an Array of files\n\n### `imports.getFile(path: string): File`\n\nFetches a file from the internal store by it's path name (or one of it's aliases).\n\n### `imports.getImports(name: string): ImportObject[]`\n\nReturns all the imports that exactly match a given string.\n\n### `imports.addImport(path: string, name: string, type?: Expression): boolean`\n\nAdds an import to a given file, with an optional `type` paramater. Returns true if the file existed\n\n### `imports.removeImport(path: string, name: string): boolean`\n\nRemoves an import from a given file. Returns true if the file existed\n","readmeFilename":"README.md"}