Skip to content

Commit fabd2bc

Browse files
committed
switch createEnvWithVersion to fly-import
1 parent 49914d0 commit fabd2bc

File tree

3 files changed

+44
-8
lines changed

3 files changed

+44
-8
lines changed

package-lock.json

+39
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
"debug": "^4.3.4",
7272
"escape-string-regexp": "^5.0.0",
7373
"execa": "^7.1.1",
74+
"fly-import": "^0.1.4",
7475
"globby": "^11.0.1",
7576
"grouped-queue": "^2.0.0",
7677
"is-scoped": "^3.0.0",

src/environment.js

+4-8
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { create as createMemFsEditor } from 'mem-fs-editor';
1818
import createdLogger from 'debug';
1919
import isScoped from 'is-scoped';
2020
import slash from 'slash';
21+
import { flyImport } from 'fly-import';
2122
// eslint-disable-next-line n/file-extension-in-import
2223
import { isFilePending } from 'mem-fs-editor/state';
2324
// eslint-disable-next-line n/file-extension-in-import
@@ -205,14 +206,9 @@ class Environment extends Base {
205206
* @return {Environment} a new Environment instance
206207
*/
207208
static async createEnvWithVersion(version, ...args) {
208-
const repository = new YeomanRepository({ adapter: this.adapter });
209-
const installedVersion = repository.verifyInstalledVersion('yeoman-environment', version);
210-
if (!installedVersion) {
211-
await repository.installPackage('yeoman-environment', version);
212-
}
213-
214-
const VersionedEnvironment = repository.requireModule('yeoman-environment', version);
215-
return VersionedEnvironment.createEnv(...args);
209+
const envModule = await flyImport(`yeoman-environment@${version}`);
210+
const createEnv = envModule.createEnv ?? envModule.default.createEnv;
211+
return createEnv(...args);
216212
}
217213

218214
/**

0 commit comments

Comments
 (0)