{"_id":"import-meta-loader","_rev":"12-b53664a6eeaa60814cd312f0266f46bd","name":"import-meta-loader","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.4":{"name":"import-meta-loader","version":"1.0.4","description":"The plugin allows you to use vite's `import.meta` syntax with webpack","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsup"},"keywords":["webpack","loader","require","import-meta-loader","vite"],"author":{"name":"Xiaolin Zhu"},"bugs":{"email":"290353548@qq.com"},"license":"MIT","devDependencies":{"@babel/generator":"^7.18.12","@babel/parser":"^7.18.11","@babel/traverse":"^7.18.11","@babel/types":"^7.18.10","@types/babel__generator":"^7.6.4","@types/babel__traverse":"^7.18.0","@typescript-eslint/eslint-plugin":"^5.35.1","@typescript-eslint/parser":"^5.35.1","dotenv":"^16.0.1","eslint":"^8.23.0","eslint-config-standard":"^17.0.0","eslint-plugin-import":"^2.26.0","eslint-plugin-n":"^15.2.5","eslint-plugin-promise":"^6.0.1","loader-utils":"^2.0.2","log4js":"^6.6.1","tsup":"^6.2.2","typescript":"^4.7.4","webpack":"^5.74.0"},"gitHead":"09f1ec5380db12888234407c4ec947a7b2c40df1","_id":"import-meta-loader@1.0.4","_nodeVersion":"16.13.0","_npmVersion":"8.1.4","dist":{"integrity":"sha512-fK6RZSrjRBfSAtBF5JDFjPq7w+83jgDuezY0UOBmP3t6XTZRg9Cm4mxOpyBn/mjry6gX/yPFZY5HnULB1WXbqA==","shasum":"c8d1b8c3f8826efc5d201dc6b7fc271e4d58afb8","tarball":"https://registry.npmjs.org/import-meta-loader/-/import-meta-loader-1.0.4.tgz","fileCount":11,"unpackedSize":1886259,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE1XNw2oJjbiVdO8TDmLFoNVWw0VSr0DS3/DhJacrFHuAiBQMPq8Roh3J0gNUMo/7+ez0fIch+zQQ+W8QttvKpi/Jg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjC6QMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpOHw//csuSE4TauQK6Zlkj8A+c0RErVZJpYINtQycgKiqx5A8MSiWn\r\ndSM3ehxIVSUpHGa5s6x7EdnXOaOuZZpMdjF2XdcMCbICPILASo1Ros6Pbf7v\r\nHhGbKabJgyzFu0ozgjd8VypjA95fVlWqy+uKewV7M06afBb9/NjRvITUnknI\r\nEgapEPo7v/ZcAbKHtKGIiNc+BTFDSgNRZ7nFpKbA0SSQa+GXWOPtNOOMC5Gv\r\n+Ra+yuh/CCsmghcykqmU/3nNLR22WsRZaWCqfPrRmJ1THi8a7447t1yT4j37\r\nHiynjUXbC3pXWewSk/24kfoVqyFxTsDR2j4qKnUfDbHabPJrRb7AKOtMBGGz\r\ngqqR8JkvXz7o/AU1hqJwYri1CW3X4sxljKaIfD5ZEilzCPqXghZBuzfzmDIr\r\nF9s8FrrSB6jbeyq0fJzz8/foT/qQVHVDQtlcrvyzqC2+Zu9xaH9xgbedLoYj\r\nrRkzrTnKSF8huGF31qXGfgdEcYZyG1ItBtFbGqZ+3TynS4doqHhuEzhXn9GY\r\nXuNfwOcMgA8icYDugcxcxltD+2R1s/xbXBpmaBSvOHL++dZY4ubrJLkhgRlJ\r\nAFmz+lLUA8ND6F18GQAMqJH2lkj/Q9NJmlzb+InAqH/86hvaT9etpIdDUhZg\r\ndMI7i7PlkFZrxgpbpFbRmrsP0gRYI1O3CLs=\r\n=romx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"xiaolinzhu","email":"290353548@qq.com"},"directories":{},"maintainers":[{"name":"xiaolinzhu","email":"290353548@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/import-meta-loader_1.0.4_1661707275788_0.4393688283957513"},"_hasShrinkwrap":false},"1.0.6":{"name":"import-meta-loader","version":"1.0.6","description":"The plugin allows you to use vite's `import.meta` syntax with webpack","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsup"},"keywords":["webpack","loader","require","import-meta-loader","vite"],"author":{"name":"Xiaolin Zhu"},"bugs":{"email":"290353548@qq.com"},"license":"MIT","devDependencies":{"@babel/generator":"^7.18.12","@babel/parser":"^7.18.11","@babel/traverse":"^7.18.11","@babel/types":"^7.18.10","@types/babel__generator":"^7.6.4","@types/babel__traverse":"^7.18.0","@typescript-eslint/eslint-plugin":"^5.35.1","@typescript-eslint/parser":"^5.35.1","dotenv":"^16.0.1","eslint":"^8.23.0","eslint-config-standard":"^17.0.0","eslint-plugin-import":"^2.26.0","eslint-plugin-n":"^15.2.5","eslint-plugin-promise":"^6.0.1","loader-utils":"^2.0.2","log4js":"^6.6.1","tsup":"^6.2.2","typescript":"^4.7.4","webpack":"^5.74.0"},"gitHead":"09f1ec5380db12888234407c4ec947a7b2c40df1","_id":"import-meta-loader@1.0.6","_nodeVersion":"16.13.0","_npmVersion":"8.1.4","dist":{"integrity":"sha512-XCO4PfX1a1y+IhC+douN2HCr2vdadnO31Grbdho7zatmkRC+GfmdodMpHCPdqaS5TGLpzv++FPyzBddiL2SBDA==","shasum":"234ee6eabdb304965f0a56700dcda5a1c512358f","tarball":"https://registry.npmjs.org/import-meta-loader/-/import-meta-loader-1.0.6.tgz","fileCount":11,"unpackedSize":1886885,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC+JfScYOBsWEYFwxjAVnxGK6bpt32P15Y8iJDU7WlQZAiAU48sAG6Ma9L88mZ2QF60qe+FUsrkt//D9x4wTwja85w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKIX2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8/A/+LoeKa3nrIzIcxFOSjNHPMd0nX3wf+IGDZMiPU8Juf6i75TZh\r\nHTQumChO5zdy5ssaS9zSm9iyGkcfqqMnislkQCyyHiIqIqv5AAO0iy01So96\r\nhgVChKaaWLaF3to5A85xn3naj0Ht39Zh0EgrKYjWcnU2V8ovEBdcTrXEVh3f\r\nykFZotHy952KoRATCcEby2V1feiQsM8QTZAMXtuuZ/UctgFn4dUDA5dE0co+\r\nciPzM1yJwzwQbOXOfgIfYPx5nkvFbFVm/ZDaPtbiwyGdDyHoOv83xdxIpt01\r\nmbBKM9SuP1XUxisyi81eu4el7I2Ch0RUadgelGWSVTGmbhgu+3apHMWR2vZs\r\nb1GTFsd2cSLA6O9V+YUZ0KD806yE9ywUuwIDzLm5L+ncQk3zviWud6Bf13TV\r\nmE4VpuMBlSTIdNz2M5YWCkqrrI0X2JfKXnFtcZBFUpmG3ZxlUq7DU5sdCon3\r\nL0/7IPiUbWZQrtdvqUuEnIO+mox1BKqQ4vhxOerwL3OCHu4CQ+nGXEFpp2Oy\r\n1KspgzUI1A1OxRnRW2qXavtlGSk0dds6hnxAoQIdDRqm/h8qrQxa43bvgJdn\r\nbhPhBzFvPJ7KOKJAd8aV7reO5WgRaiY+9DxMNLt05uwzdxihimoQ8H0X0iTt\r\nft4a8DtJmSaei+k/vXXscmd2pfLmC8GZIyI=\r\n=90iI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"xiaolinzhu","email":"290353548@qq.com"},"directories":{},"maintainers":[{"name":"xiaolinzhu","email":"290353548@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/import-meta-loader_1.0.6_1663600118413_0.2939124883956492"},"_hasShrinkwrap":false},"1.1.0":{"name":"import-meta-loader","version":"1.1.0","description":"The plugin allows you to use vite's `import.meta` syntax with webpack","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"tsup --watch","build":"tsup"},"keywords":["webpack","loader","require","import-meta-loader","vite"],"author":{"name":"Xiaolin Zhu"},"bugs":{"email":"290353548@qq.com"},"license":"MIT","devDependencies":{"@babel/generator":"^7.18.12","@babel/parser":"^7.18.11","@babel/traverse":"^7.18.11","@babel/types":"^7.18.10","@types/babel__generator":"^7.6.4","@types/babel__traverse":"^7.18.0","@typescript-eslint/eslint-plugin":"^5.35.1","@typescript-eslint/parser":"^5.35.1","dotenv":"^16.0.1","eslint":"^8.23.0","eslint-config-standard":"^17.0.0","eslint-plugin-import":"^2.26.0","eslint-plugin-n":"^15.2.5","eslint-plugin-promise":"^6.0.1","loader-utils":"^2.0.2","log4js":"^6.6.1","tsup":"^6.2.2","typescript":"^4.7.4","webpack":"^5.74.0"},"gitHead":"5f98659263c9f60e5239c7a0622e42775aa76431","_id":"import-meta-loader@1.1.0","_nodeVersion":"16.13.0","_npmVersion":"8.1.4","dist":{"integrity":"sha512-f96r2o8xT+b2KVlOY4x+1KTJmJiapZlf77j1WebR8NQgMG1dpdqijjGl4i/2jMoXch2CVqcQoTMfh5BR7bR8wA==","shasum":"927060305f2d0f88b495f2754aa33387ca6579d7","tarball":"https://registry.npmjs.org/import-meta-loader/-/import-meta-loader-1.1.0.tgz","fileCount":11,"unpackedSize":1895365,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAIhBT2xiWK63ElVk9L7Vma4bI3OxXV0y1FIE9MOV9qDAiEA38qm90pzWMgGJKVakdRenKOnOsbDUKi9nsyY0f4YMZo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjlgQDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYyQ//QEaBFyWcd9+gG50/6CnC7zwQ3ynKVSqvwzAoS2DgTufpsi9p\r\nGAkXD0au1Y5zQtePFoSwlcfqaAh6qnT1qjENdikKzr3YIDdb1fwSEKA20P1g\r\nBnjcz6Z8lpsz8CoUvtNBuvWQhFXOLB80pPwCboZieSlgOX60z/oyL0qD2Xow\r\nWBi25iYH8bNzSPH0ceSFpt0a8qgAIAvJjmn3rHVTzeaJXqdx+6tHsyUKGJMi\r\ndIb0ZZ2icxkZoSX/A67wPdEJ5TVfVV+cmM2xgj0NhtVGtJz1ZzFPay6JNeHp\r\nuc0wilf+lWfgecQOLlna8naiy6xqQ9G18w/kUGolW/Er83Hk05hJaPmnkq28\r\n6b2BCWayn3bKbEr+3+Djf7UyqRDSDCm0kSuEx0qQD8++vlqm8yEc3pdDTtEi\r\nPFId4VG8Q6761QqSBj9dFN4jwIx2mpR4hapQ8vZngUnEecK4riJFHsWiCw/K\r\nmgIvZaPKfAom4+nGqOFS81LlrynFwRHFX8wewWqf/TGM/RiDYUQXqQoyqeUS\r\nzGkAcm+97TU60xTjPf1RPBai7b3tn5Ez3G3D4Mm0+gQVAwk+ZlieT4T6ncWV\r\nlyomhlMVh2JE4L85lPVchOmNeFvtWuzVGx/T6DFpXxInsImvC58eAEpstxKX\r\nlb5zGQ/gDPyiFE0CzQS10o0ZX6oAyswRMgA=\r\n=jChE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"xiaolinzhu","email":"290353548@qq.com"},"directories":{},"maintainers":[{"name":"xiaolinzhu","email":"290353548@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/import-meta-loader_1.1.0_1670775811652_0.3845289822645226"},"_hasShrinkwrap":false}},"time":{"created":"2022-08-28T06:57:34.421Z","1.0.0":"2022-08-28T06:57:34.666Z","modified":"2022-12-11T16:23:31.985Z","1.0.1":"2022-08-28T07:53:38.682Z","1.0.2":"2022-08-28T07:57:52.527Z","1.0.3":"2022-08-28T11:13:41.768Z","1.0.4":"2022-08-28T17:21:16.165Z","1.0.5":"2022-09-18T13:54:22.330Z","1.0.6":"2022-09-19T15:08:38.870Z","1.1.0":"2022-12-11T16:23:31.879Z"},"maintainers":[{"name":"xiaolinzhu","email":"290353548@qq.com"}],"description":"The plugin allows you to use vite's `import.meta` syntax with webpack","keywords":["webpack","loader","require","import-meta-loader","vite"],"author":{"name":"Xiaolin Zhu"},"bugs":{"email":"290353548@qq.com"},"license":"MIT","readme":"# import-meta-loader\r\n\r\nThe plugin allows you to use vite's `import.meta` syntax with webpack\r\n\r\n## Install\r\n\r\n```bash\r\nnpm install import-meta-loader --save-dev\r\n# or\r\nyarn add import-meta-loader -D\r\n```\r\n\r\n## Usage\r\n\r\n### For vue-cli\r\n```js\r\n// vue.config.js\r\nconst importMetaLoader = require('import-meta-loader')\r\nconst path = require('path')\r\n\r\nmodule.exports = {\r\n  // ...\r\n  chainWebpack: (config) => {\r\n    config.module.rule('js')\r\n      .test(/\\.js$/)\r\n      .exclude.add(path.resolve('node_modules'))\r\n      .end()\r\n      .use(importMetaLoader)\r\n      .loader('import-meta-loader')\r\n      .options({\r\n        // isVite2: true,\r\n        alias: Object.fromEntries(config.resolve.alias.store)\r\n      })\r\n      .end()\r\n    importMetaLoader.expandVueEnv(config) // make vue cli support environment variables that start width \"VITE_APP_\" \r\n    importMetaLoader.moveHtmlTemplate(config) // you need to move /public/index.html to /index.html, /index.html will be the entry\r\n  }\r\n}\r\n```\r\n\r\n### For webpack\r\n```js\r\n// webpack.config.js\r\nmodule.exports = {\r\n  // ...\r\n  module: {\r\n    rules: [\r\n      // ...\r\n      {\r\n        test: /\\.js$/,\r\n        exclude: /node_modules/,\r\n        use: [\r\n          // ...\r\n          {\r\n            loader: 'import-meta-loader',\r\n            options: {\r\n              // isVite2: true,\r\n              // alias: {}\r\n            }\r\n          }\r\n        ]\r\n      }\r\n    ]\r\n  }\r\n}\r\n```\r\n## Options\r\n\r\n| name    | value                    | description                                            |\r\n| ------- | ------------------------ | ------------------------------------------------------ |\r\n| isVite2 | Boolean (default: false) | vite2 returns a different value than vite3             |\r\n| alias   | Object                   | If an alias is configured, you need to set this option |\r\n\r\n## Supported API\r\n\r\n| API                                                    | Description                                                  |\r\n| ------------------------------------------------------ | ------------------------------------------------------------ |\r\n| new URL('filePath', import.meta.url).href              | **Static Asset URL:** `import.meta.url` is a native ESM feature that exposes the current module's URL. Combining it with the native URL constructor, we can obtain the full, resolved URL of a static asset using relative path from a JavaScript module: |\r\n| import.meta.glob('filePath')                           | **Lazy Loaded:** Matched files are by default lazy-loaded via dynamic import and will be split into separate chunks during build. |\r\n| import.meta.glob('filePath', { eager: true })          | **Sync Loaded:** import all the modules directly             |\r\n| import.meta.glob('filePath', { import: 'exportName' }) | **Named Imports:** It's possible to only import parts of the modules with the `import` options. |\r\n| import.meta.glob(['filePath1', 'filePath2'])           | **Multiple Patterns:** The first argument can be an array of globs |\r\n| import.meta.glob(['./dir/*.js', '!**/bar.js'])         | **Negative Patterns:** Negative glob patterns are also supported (prefixed with `!`). To ignore some files from the result, you can add exclude glob patterns to the first argument |\r\n\r\n\r\n\r\n## Examples\r\n\r\n```js\r\n// vite => webpack\r\nimport.meta.env //=> process.env\r\nimport.meta.env.MODE //=> process.env.NODE_ENV\r\nimport.meta.env.BASE_URL //=> process.env.BASE_URL\r\nimport.meta.env.PROD //=> process.env.NODE_ENV === 'production'\r\nimport.meta.env.DEV //=> process.env.NODE_ENV !== 'production'\r\n\r\nnew URL('filePath', import.meta.url).href //=> require('filePath')\r\n\r\nimport.meta.glob('filePath') //=> ... require.context('dirPath', useSubdirectories: boolean, RegExp, 'lazy') ...\r\nimport.meta.glob('filePath', { eager: true }) //=> vite3 ... require.context('dirPath', useSubdirectories: boolean, RegExp, 'sync') ...\r\nimport.meta.globEager('filePath') //=> vite2 ... require.context('dirPath', useSubdirectories: boolean, RegExp, 'sync') ...\r\n\r\n// Negative Patterns, Multiple Patterns, Sync Loaded, Named Imports\r\nimport.meta.glob(['./dir/*.js', '!**/bar.js'], { import: 'YourExportName', eager: true })\r\n```\r\n\r\n## Template\r\n\r\n[https://github.com/XiaoLin1995/vuecli-vite-template](https://github.com/XiaoLin1995/vuecli-vite-template)\r\n\r\n\r\n\r\n\r\n## License\r\n\r\nMIT\r\n","readmeFilename":"README.md"}