Skip to content

Commit 690d97b

Browse files
authored
Adds READMEs (#686)
* Adds READMEs * Versions * Fixes infra * Fixes the version tests * Fixes the patch header * Adds a note about the TS logic * Releases the core * Fixes the constraints tests * Don't forget to build plugins for integration tests
1 parent 19c136e commit 690d97b

File tree

38 files changed

+1084
-663
lines changed

38 files changed

+1084
-663
lines changed

.github/workflows/integration-workflow.yml

+1
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ jobs:
8383
run: |
8484
node --version
8585
node ./scripts/run-yarn.js build:cli --no-minify
86+
node ./scripts/run-yarn.js build:plugin-constraints
8687
node ./scripts/run-yarn.js build:plugin-exec
8788
node ./scripts/run-yarn.js build:plugin-interactive-tools
8889
node ./scripts/run-yarn.js build:plugin-stage

.pnp.js

+582-485
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Binary file not shown.

.yarn/versions/38b1dd1d.yml

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
releases:
2+
"@yarnpkg/[email protected]": prerelease
3+
"@yarnpkg/[email protected]": prerelease
4+
"@yarnpkg/[email protected]": prerelease
5+
"@yarnpkg/[email protected]": prerelease
6+
"@yarnpkg/[email protected]": prerelease
7+
"@yarnpkg/[email protected]": prerelease
8+
"@yarnpkg/[email protected]": prerelease
9+
"@yarnpkg/[email protected]": prerelease
10+
"@yarnpkg/[email protected]": prerelease
11+
"@yarnpkg/[email protected]": prerelease
12+
"@yarnpkg/[email protected]": prerelease
13+
"@yarnpkg/[email protected]": prerelease
14+
"@yarnpkg/[email protected]": prerelease
15+
"@yarnpkg/[email protected]": prerelease
16+
"@yarnpkg/[email protected]": prerelease
17+
"@yarnpkg/[email protected]": prerelease
18+
"@yarnpkg/[email protected]": prerelease
19+
"@yarnpkg/[email protected]": prerelease
20+
"@yarnpkg/[email protected]": prerelease
21+
"@yarnpkg/[email protected]": prerelease
22+
"@yarnpkg/[email protected]": prerelease
23+
"@yarnpkg/[email protected]": prerelease
24+
"@yarnpkg/[email protected]": prerelease
25+
26+
declined:
27+
- "@yarnpkg/[email protected]"
28+
- "@yarnpkg/[email protected]"

packages/acceptance-tests/pkg-tests-core/sources/utils/makeTemporaryEnv.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ const mte = generatePkgDriver({
2121
{cwd, projectFolder, registryUrl, env, ...config},
2222
) {
2323
const rcEnv: Record<string, any> = {};
24-
for (const key of Object.keys(config))
25-
rcEnv[`YARN_${key.replace(/([A-Z])/g, `_$1`).toUpperCase()}`] = config[key];
24+
for (const [key, value] of Object.entries(config))
25+
rcEnv[`YARN_${key.replace(/([A-Z])/g, `_$1`).toUpperCase()}`] = Array.isArray(value) ? value.join(`;`) : value;
2626

2727
const nativePath = npath.fromPortablePath(path);
2828
const tempHomeFolder = npath.fromPortablePath(await createTemporaryFolder());

packages/acceptance-tests/pkg-tests-specs/sources/commands/constraints.test.js

+19-13
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,28 @@ describe(`Commands`, () => {
2020
describe(`constraints`, () => {
2121
for (const [environmentDescription, environment] of Object.entries(environments)) {
2222
for (const [scriptDescription, script] of Object.entries(constraints)) {
23-
test(`test (${environmentDescription} / ${scriptDescription})`, makeTemporaryEnv({}, async ({path, run, source}) => {
24-
await environment(path);
25-
await writeFile(`${path}/constraints.pro`, script);
23+
test(`test (${environmentDescription} / ${scriptDescription})`,
24+
makeTemporaryEnv({}, {
25+
plugins: [
26+
require.resolve(`@yarnpkg/monorepo/scripts/plugin-constraints.js`),
27+
],
28+
}, async ({path, run, source}) => {
29+
await environment(path);
30+
await writeFile(`${path}/constraints.pro`, script);
2631

27-
let code;
28-
let stdout;
29-
let stderr;
32+
let code;
33+
let stdout;
34+
let stderr;
3035

31-
try {
32-
({code, stdout, stderr} = await run(`constraints`, `check`));
33-
} catch (error) {
34-
({code, stdout, stderr} = error);
35-
}
36+
try {
37+
({code, stdout, stderr} = await run(`constraints`, `check`));
38+
} catch (error) {
39+
({code, stdout, stderr} = error);
40+
}
3641

37-
expect({code, stdout, stderr}).toMatchSnapshot();
38-
}));
42+
expect({code, stdout, stderr}).toMatchSnapshot();
43+
}),
44+
);
3945
}
4046
}
4147
});

packages/acceptance-tests/pkg-tests-specs/sources/commands/constraints/query.test.js

+114-79
Original file line numberDiff line numberDiff line change
@@ -21,88 +21,123 @@ custom_predicate(DependencyType):-
2121

2222
describe(`Commands`, () => {
2323
describe(`constraints query`, () => {
24-
test(`test without trailing .`, makeTemporaryEnv({}, async({path, run, source}) => {
25-
await environments[`one regular dependency`](path);
26-
27-
let code;
28-
let stdout;
29-
let stderr;
30-
31-
try {
32-
({code, stdout, stderr} = await run(`constraints`, `query`, `workspace_ident(_, WorkspaceName)`));
33-
} catch (error) {
34-
({code, stdout, stderr} = error);
35-
}
36-
37-
expect({code, stdout, stderr}).toMatchSnapshot();
38-
}));
39-
40-
test(`test with a syntax error`, makeTemporaryEnv({}, async({path, run, source}) => {
41-
await environments[`one regular dependency`](path);
42-
43-
let code;
44-
let stdout;
45-
let stderr;
46-
47-
try {
48-
({code, stdout, stderr} = await run(`constraints`, `query`, `*&%@$#$#!$@)`));
49-
} catch (error) {
50-
({code, stdout, stderr} = error);
51-
}
52-
53-
expect({code, stdout, stderr}).toMatchSnapshot();
54-
}));
55-
56-
test(`test with an unknown predicate`, makeTemporaryEnv({}, async({path, run, source}) => {
57-
await environments[`one regular dependency`](path);
58-
59-
let code;
60-
let stdout;
61-
let stderr;
62-
63-
try {
64-
({code, stdout, stderr} = await run(`constraints`, `query`, `hello_word(X)`));
65-
} catch (error) {
66-
({code, stdout, stderr} = error);
67-
}
68-
69-
expect({code, stdout, stderr}).toMatchSnapshot();
70-
}));
71-
72-
test(`test with an empty predicate`, makeTemporaryEnv({}, async({path, run, source}) => {
73-
await environments[`one regular dependency`](path);
74-
75-
let code;
76-
let stdout;
77-
let stderr;
78-
79-
try {
80-
({code, stdout, stderr} = await run(`constraints`, `query`, `workspace()`));
81-
} catch (error) {
82-
({code, stdout, stderr} = error);
83-
}
84-
85-
expect({code, stdout, stderr}).toMatchSnapshot();
86-
}));
24+
test(
25+
`test without trailing .`,
26+
makeTemporaryEnv({}, {
27+
plugins: [
28+
require.resolve(`@yarnpkg/monorepo/scripts/plugin-constraints.js`),
29+
],
30+
}, async({path, run, source}) => {
31+
await environments[`one regular dependency`](path);
32+
33+
let code;
34+
let stdout;
35+
let stderr;
36+
37+
try {
38+
({code, stdout, stderr} = await run(`constraints`, `query`, `workspace_ident(_, WorkspaceName)`));
39+
} catch (error) {
40+
({code, stdout, stderr} = error);
41+
}
42+
43+
expect({code, stdout, stderr}).toMatchSnapshot();
44+
}),
45+
);
46+
47+
test(
48+
`test with a syntax error`,
49+
makeTemporaryEnv({}, {
50+
plugins: [
51+
require.resolve(`@yarnpkg/monorepo/scripts/plugin-constraints.js`),
52+
],
53+
}, async({path, run, source}) => {
54+
await environments[`one regular dependency`](path);
55+
56+
let code;
57+
let stdout;
58+
let stderr;
59+
60+
try {
61+
({code, stdout, stderr} = await run(`constraints`, `query`, `*&%@$#$#!$@)`));
62+
} catch (error) {
63+
({code, stdout, stderr} = error);
64+
}
65+
66+
expect({code, stdout, stderr}).toMatchSnapshot();
67+
}),
68+
);
69+
70+
test(
71+
`test with an unknown predicate`,
72+
makeTemporaryEnv({}, {
73+
plugins: [
74+
require.resolve(`@yarnpkg/monorepo/scripts/plugin-constraints.js`),
75+
],
76+
}, async({path, run, source}) => {
77+
await environments[`one regular dependency`](path);
78+
79+
let code;
80+
let stdout;
81+
let stderr;
82+
83+
try {
84+
({code, stdout, stderr} = await run(`constraints`, `query`, `hello_word(X)`));
85+
} catch (error) {
86+
({code, stdout, stderr} = error);
87+
}
88+
89+
expect({code, stdout, stderr}).toMatchSnapshot();
90+
}),
91+
);
92+
93+
test(
94+
`test with an empty predicate`,
95+
makeTemporaryEnv({}, {
96+
plugins: [
97+
require.resolve(`@yarnpkg/monorepo/scripts/plugin-constraints.js`),
98+
],
99+
}, async({path, run, source}) => {
100+
await environments[`one regular dependency`](path);
101+
102+
let code;
103+
let stdout;
104+
let stderr;
105+
106+
try {
107+
({code, stdout, stderr} = await run(`constraints`, `query`, `workspace()`));
108+
} catch (error) {
109+
({code, stdout, stderr} = error);
110+
}
111+
112+
expect({code, stdout, stderr}).toMatchSnapshot();
113+
}),
114+
);
87115

88116
for (const [environmentDescription, environment] of Object.entries(environments)) {
89117
for (const [queryDescription, query] of Object.entries(queries)) {
90-
test(`test (${environmentDescription} / ${queryDescription})`, makeTemporaryEnv({}, async ({path, run, source}) => {
91-
await environment(path);
92-
await writeFile(`${path}/constraints.pro`, constraintsFile);
93-
94-
let code;
95-
let stdout;
96-
let stderr;
97-
98-
try {
99-
({code, stdout, stderr} = await run(`constraints`, `query`, query));
100-
} catch (error) {
101-
({code, stdout, stderr} = error);
102-
}
103-
104-
expect({code, stdout, stderr}).toMatchSnapshot();
105-
}));
118+
test(
119+
`test (${environmentDescription} / ${queryDescription})`,
120+
makeTemporaryEnv({}, {
121+
plugins: [
122+
require.resolve(`@yarnpkg/monorepo/scripts/plugin-constraints.js`),
123+
],
124+
}, async ({path, run, source}) => {
125+
await environment(path);
126+
await writeFile(`${path}/constraints.pro`, constraintsFile);
127+
128+
let code;
129+
let stdout;
130+
let stderr;
131+
132+
try {
133+
({code, stdout, stderr} = await run(`constraints`, `query`, query));
134+
} catch (error) {
135+
({code, stdout, stderr} = error);
136+
}
137+
138+
expect({code, stdout, stderr}).toMatchSnapshot();
139+
}),
140+
);
106141
}
107142
}
108143
});

packages/acceptance-tests/pkg-tests-specs/sources/commands/constraints/source.test.js

+33-26
Original file line numberDiff line numberDiff line change
@@ -15,32 +15,39 @@ describe(`Commands`, () => {
1515
describe(`constraints source`, () => {
1616
for (const [environmentDescription, environment] of Object.entries(environments)) {
1717
for (const [scriptDescription, script] of Object.entries(constraints)) {
18-
test(`test (${environmentDescription} / ${scriptDescription})`, makeTemporaryEnv({}, async ({path, run, source}) => {
19-
await environment(path);
20-
await writeFile(`${path}/constraints.pro`, script);
21-
22-
let code;
23-
let stdout;
24-
let stderr;
25-
26-
try {
27-
({code, stdout, stderr} = await run(`constraints`, `source`));
28-
} catch (error) {
29-
({code, stdout, stderr} = error);
30-
}
31-
32-
expect({code, stdout, stderr}).toMatchSnapshot();
33-
34-
try {
35-
({code, stdout, stderr} = await run(`constraints`, `source`, `--verbose`));
36-
} catch (error) {
37-
({code, stdout, stderr} = error);
38-
}
39-
40-
stdout = stdout.replace(new RegExp(path, 'g'), 'WORKSPACE_ROOT');
41-
42-
expect({code, stdout, stderr}).toMatchSnapshot();
43-
}));
18+
test(
19+
`test (${environmentDescription} / ${scriptDescription})`,
20+
makeTemporaryEnv({}, {
21+
plugins: [
22+
require.resolve(`@yarnpkg/monorepo/scripts/plugin-constraints.js`),
23+
],
24+
}, async ({path, run, source}) => {
25+
await environment(path);
26+
await writeFile(`${path}/constraints.pro`, script);
27+
28+
let code;
29+
let stdout;
30+
let stderr;
31+
32+
try {
33+
({code, stdout, stderr} = await run(`constraints`, `source`));
34+
} catch (error) {
35+
({code, stdout, stderr} = error);
36+
}
37+
38+
expect({code, stdout, stderr}).toMatchSnapshot();
39+
40+
try {
41+
({code, stdout, stderr} = await run(`constraints`, `source`, `--verbose`));
42+
} catch (error) {
43+
({code, stdout, stderr} = error);
44+
}
45+
46+
stdout = stdout.replace(new RegExp(path, 'g'), 'WORKSPACE_ROOT');
47+
48+
expect({code, stdout, stderr}).toMatchSnapshot();
49+
}),
50+
);
4451
}
4552
}
4653
});

0 commit comments

Comments
 (0)