eleventy-test 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/eleventyUtils.d.ts +3 -0
- package/dist/index.js +25 -5
- package/package.json +4 -3
package/dist/eleventyUtils.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import ScenarioOutput from "./ScenarioOutput";
|
|
2
|
+
export declare function determineInstalledEleventyVersions(projectRoot?: string): Promise<{
|
|
3
|
+
[key: string]: string;
|
|
4
|
+
}>;
|
|
2
5
|
export declare function ensureEleventyExists(projectRoot: string, eleventyVersion: string): Promise<string>;
|
|
3
6
|
export declare function buildEleventy({ eleventyVersion, scenarioDir, scenarioName, projectRoot, globalInputDir }: {
|
|
4
7
|
eleventyVersion: any;
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,7 @@ var src_exports = {};
|
|
|
21
21
|
__export(src_exports, {
|
|
22
22
|
buildEleventy: () => buildEleventy,
|
|
23
23
|
buildScenarios: () => buildScenarios,
|
|
24
|
+
determineInstalledEleventyVersions: () => determineInstalledEleventyVersions,
|
|
24
25
|
ensureEleventyExists: () => ensureEleventyExists
|
|
25
26
|
});
|
|
26
27
|
module.exports = __toCommonJS(src_exports);
|
|
@@ -85,6 +86,24 @@ var ScenarioOutput = class {
|
|
|
85
86
|
};
|
|
86
87
|
|
|
87
88
|
// src/eleventyUtils.ts
|
|
89
|
+
async function determineInstalledEleventyVersions(projectRoot = (0, import_process.cwd)()) {
|
|
90
|
+
let eleventyPkgs = await (0, import_promises.readdir)((0, import_path2.join)(projectRoot, "node_modules/@11ty/"));
|
|
91
|
+
const eleventyRegex = new RegExp(/eleventy(\d|$)/m);
|
|
92
|
+
eleventyPkgs = eleventyPkgs.filter((name) => eleventyRegex.test(name));
|
|
93
|
+
const versions2 = {};
|
|
94
|
+
for (let i = 0; i < eleventyPkgs.length; i++) {
|
|
95
|
+
const eleventyPkg = eleventyPkgs[i];
|
|
96
|
+
const eleventyPkgDir = (0, import_path2.join)(projectRoot, "node_modules/@11ty/", eleventyPkg);
|
|
97
|
+
const version = JSON.parse(
|
|
98
|
+
await (0, import_promises.readFile)(
|
|
99
|
+
(0, import_path2.join)(eleventyPkgDir, "package.json"),
|
|
100
|
+
{ encoding: "utf-8" }
|
|
101
|
+
)
|
|
102
|
+
).version;
|
|
103
|
+
versions2[version] = eleventyPkgDir;
|
|
104
|
+
}
|
|
105
|
+
return versions2;
|
|
106
|
+
}
|
|
88
107
|
async function installEleventyIfPkgManagerFound(eleventyVersion, projectRoot, filename, command) {
|
|
89
108
|
return new Promise(async (resolve, reject) => {
|
|
90
109
|
if ((0, import_fs2.existsSync)((0, import_path2.join)(projectRoot, filename))) {
|
|
@@ -102,12 +121,12 @@ async function installEleventyIfPkgManagerFound(eleventyVersion, projectRoot, fi
|
|
|
102
121
|
}
|
|
103
122
|
async function ensureEleventyExists(projectRoot, eleventyVersion) {
|
|
104
123
|
return new Promise(async (resolve, reject) => {
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
} catch {
|
|
124
|
+
const versions2 = await determineInstalledEleventyVersions(projectRoot);
|
|
125
|
+
if (Object.keys(versions2).includes(eleventyVersion)) {
|
|
126
|
+
resolve(versions2[eleventyVersion]);
|
|
127
|
+
} else {
|
|
110
128
|
console.log(`Eleventy version ${eleventyVersion} could not be found. Installing...`);
|
|
129
|
+
const eleventyDir = (0, import_path2.join)(projectRoot, "node_modules/@11ty/eleventy" + eleventyVersion);
|
|
111
130
|
if (await installEleventyIfPkgManagerFound(
|
|
112
131
|
eleventyVersion,
|
|
113
132
|
projectRoot,
|
|
@@ -268,5 +287,6 @@ if (require.main === module) {
|
|
|
268
287
|
0 && (module.exports = {
|
|
269
288
|
buildEleventy,
|
|
270
289
|
buildScenarios,
|
|
290
|
+
determineInstalledEleventyVersions,
|
|
271
291
|
ensureEleventyExists
|
|
272
292
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eleventy-test",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Multi-configuration testing for Eleventy plugins",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "https://github.com/Denperidge/eleventy-test.git",
|
|
@@ -18,15 +18,16 @@
|
|
|
18
18
|
"test": "ava tests/test.mjs --timeout=90s"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
+
"@11ty/eleventy": "^3.0.0",
|
|
21
22
|
"@11ty/eleventy1.0.2": "npm:@11ty/eleventy@1.0.2",
|
|
22
23
|
"@11ty/eleventy2.0.0-canary.8": "npm:@11ty/eleventy@2.0.0-canary.8",
|
|
23
24
|
"@11ty/eleventy2.0.1": "npm:@11ty/eleventy@2.0.1",
|
|
24
|
-
"@11ty/eleventy3.0.0": "npm:@11ty/eleventy@3.0.0",
|
|
25
25
|
"@types/node": "^22.10.1",
|
|
26
26
|
"ava": "^6.2.0",
|
|
27
27
|
"esbuild": "^0.24.0",
|
|
28
28
|
"jsdom": "^25.0.1",
|
|
29
29
|
"npm-run-all": "^4.1.5",
|
|
30
30
|
"typescript": "^5.7.2"
|
|
31
|
-
}
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {}
|
|
32
33
|
}
|