diff --git a/.vscode/settings.json b/.vscode/settings.json index e2ee50d2d..ba9a42434 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,10 +1,9 @@ - { - "eslint.nodePath": "node_modules", + "eslint.nodePath": ".yarn/sdks", "eslint.runtime": "node", "typescript.format.enable": true, "typescript.validate.enable": true, - "typescript.tsdk": "./node_modules/typescript/lib", + "typescript.tsdk": "./.yarn/sdks/typescript/lib", "editor.defaultFormatter": "esbenp.prettier-vscode", "[javascript]": { "editor.defaultFormatter": "dbaeumer.vscode-eslint" @@ -23,5 +22,10 @@ ], "editor.codeActionsOnSave": { "source.fixAll.eslint": true - } + }, + "search.exclude": { + "**/.yarn": true, + "**/.pnp.*": true + }, + "prettier.prettierPath": ".yarn/sdks/prettier/index.js" } diff --git a/.yarn/sdks/eslint/bin/eslint.js b/.yarn/sdks/eslint/bin/eslint.js new file mode 100644 index 000000000..4d327a49a --- /dev/null +++ b/.yarn/sdks/eslint/bin/eslint.js @@ -0,0 +1,20 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire, createRequireFromPath} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.cjs"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + if (!process.versions.pnp) { + // Setup the environment to be able to require eslint/bin/eslint.js + require(absPnpApiPath).setup(); + } +} + +// Defer to the real eslint/bin/eslint.js your application uses +module.exports = absRequire(`eslint/bin/eslint.js`); diff --git a/.yarn/sdks/eslint/package.json b/.yarn/sdks/eslint/package.json new file mode 100644 index 000000000..190b0383d --- /dev/null +++ b/.yarn/sdks/eslint/package.json @@ -0,0 +1,6 @@ +{ + "name": "eslint", + "version": "8.19.0-sdk", + "main": "./lib/api.js", + "type": "commonjs" +} diff --git a/.yarn/sdks/integrations.yml b/.yarn/sdks/integrations.yml new file mode 100644 index 000000000..aa9d0d0ad --- /dev/null +++ b/.yarn/sdks/integrations.yml @@ -0,0 +1,5 @@ +# This file is automatically generated by @yarnpkg/sdks. +# Manual changes might be lost! + +integrations: + - vscode diff --git a/.yarn/sdks/prettier/index.js b/.yarn/sdks/prettier/index.js new file mode 100644 index 000000000..f6882d809 --- /dev/null +++ b/.yarn/sdks/prettier/index.js @@ -0,0 +1,20 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire, createRequireFromPath} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../.pnp.cjs"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + if (!process.versions.pnp) { + // Setup the environment to be able to require prettier/index.js + require(absPnpApiPath).setup(); + } +} + +// Defer to the real prettier/index.js your application uses +module.exports = absRequire(`prettier/index.js`); diff --git a/.yarn/sdks/prettier/package.json b/.yarn/sdks/prettier/package.json new file mode 100644 index 000000000..b61805cee --- /dev/null +++ b/.yarn/sdks/prettier/package.json @@ -0,0 +1,6 @@ +{ + "name": "prettier", + "version": "2.7.1-sdk", + "main": "./index.js", + "type": "commonjs" +} diff --git a/.yarn/sdks/typescript/bin/tsc b/.yarn/sdks/typescript/bin/tsc new file mode 100644 index 000000000..5608e5743 --- /dev/null +++ b/.yarn/sdks/typescript/bin/tsc @@ -0,0 +1,20 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire, createRequireFromPath} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.cjs"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + if (!process.versions.pnp) { + // Setup the environment to be able to require typescript/bin/tsc + require(absPnpApiPath).setup(); + } +} + +// Defer to the real typescript/bin/tsc your application uses +module.exports = absRequire(`typescript/bin/tsc`); diff --git a/.yarn/sdks/typescript/bin/tsserver b/.yarn/sdks/typescript/bin/tsserver new file mode 100644 index 000000000..cd7d557d5 --- /dev/null +++ b/.yarn/sdks/typescript/bin/tsserver @@ -0,0 +1,20 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire, createRequireFromPath} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.cjs"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + if (!process.versions.pnp) { + // Setup the environment to be able to require typescript/bin/tsserver + require(absPnpApiPath).setup(); + } +} + +// Defer to the real typescript/bin/tsserver your application uses +module.exports = absRequire(`typescript/bin/tsserver`); diff --git a/.yarn/sdks/typescript/package.json b/.yarn/sdks/typescript/package.json new file mode 100644 index 000000000..b117d6ab1 --- /dev/null +++ b/.yarn/sdks/typescript/package.json @@ -0,0 +1,6 @@ +{ + "name": "typescript", + "version": "4.7.4-sdk", + "main": "./lib/typescript.js", + "type": "commonjs" +} diff --git a/.yarnrc.yml b/.yarnrc.yml index 887c16b04..866970dc0 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -2,7 +2,8 @@ changesetIgnorePatterns: - "**/__tests__/**" - "**/*.md" -nodeLinker: node-modules +nodeLinker: pnp +pnpEnableEsmLoader: true plugins: - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs @@ -14,4 +15,9 @@ plugins: - path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs spec: "@yarnpkg/plugin-workspace-tools" +packageExtensions: + "@ant-design/pro-layout@*": + dependencies: + "@ant-design/cssinjs": ^1.6.2 + yarnPath: .yarn/releases/yarn-3.5.0.cjs diff --git a/examples/typescript/tsconfig.json b/examples/typescript/tsconfig.json index 152af3c59..cf0fa1a36 100644 --- a/examples/typescript/tsconfig.json +++ b/examples/typescript/tsconfig.json @@ -47,16 +47,17 @@ "@standard-endpoint/github/*": ["github/*"] } /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */, //"rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ - "typeRoots": [ + /*"typeRoots": [ "node_modules/@types", "../../node_modules/@types", "./src/typings" - ] /* List of folders to include type definitions from. */, + ] List of folders to include type definitions from. ,*/ "types": [ "jest", "@anansi/webpack-config/types", - "node" + "node", + "./src/typings" ] /* Type declaration files to be included in compilation. */, "allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */, "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, diff --git a/packages/jest-preset-anansi/src/jest-preset.ts b/packages/jest-preset-anansi/src/jest-preset.ts index 1bd8ab5b3..f3a78a76d 100644 --- a/packages/jest-preset-anansi/src/jest-preset.ts +++ b/packages/jest-preset-anansi/src/jest-preset.ts @@ -53,7 +53,7 @@ module.exports = { '/node_modules/(?!@babel/runtime)', '\\.pnp\\.[^\\/]+$', ], - resolver: require.resolve(`jest-pnp-resolver`), + resolver: require.resolve(`./resolver`), testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.(m|c)?(j|t)sx?$', coveragePathIgnorePatterns: ['node_modules'], moduleFileExtensions: [ diff --git a/packages/jest-preset-anansi/src/resolver.ts b/packages/jest-preset-anansi/src/resolver.ts new file mode 100644 index 000000000..4362ce6a8 --- /dev/null +++ b/packages/jest-preset-anansi/src/resolver.ts @@ -0,0 +1,21 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ +const pnpResolve = require('jest-pnp-resolver'); +const path = require('path'); + +module.exports = (request: string, options: Record) => { + if ( + options.paths && + Array.isArray(options.paths) && + !['.', '/'].includes(request[0]) + ) { + for (const rootPath of options.paths) { + try { + const p = path.join(rootPath, request); + return require.resolve(p); + // eslint-disable-next-line no-empty + } catch (e) {} + } + } + + return pnpResolve(request, options); +}; diff --git a/yarn.lock b/yarn.lock index 914403354..33b6be8d6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7040,9 +7040,9 @@ __metadata: linkType: hard "@types/unist@npm:*, @types/unist@npm:^2.0.0": - version: 2.0.6 - resolution: "@types/unist@npm:2.0.6" - checksum: 25cb860ff10dde48b54622d58b23e66214211a61c84c0f15f88d38b61aa1b53d4d46e42b557924a93178c501c166aa37e28d7f6d994aba13d24685326272d5db + version: 2.0.3 + resolution: "@types/unist@npm:2.0.3" + checksum: 4427306b094561da28164e7e5250c4e6b382cb8eac40bf7e6bb0ff1e6e00c13e47aaf32e4a08fc8ba54602d07f79a39fb9ba304cc9dc886b1e3caf824649edbd languageName: node linkType: hard @@ -10101,10 +10101,10 @@ __metadata: dependencies: dot-prop: ^5.2.0 graceful-fs: ^4.1.2 - make-dir: ^3.0.0 - unique-string: ^2.0.0 - write-file-atomic: ^3.0.0 - xdg-basedir: ^4.0.0 + make-dir: ^1.0.0 + unique-string: ^1.0.0 + write-file-atomic: ^2.0.0 + xdg-basedir: ^3.0.0 checksum: 60ef65d493b63f96e14b11ba7ec072fdbf3d40110a94fb7199d1c287761bdea5c5244e76b2596325f30c1b652213aa75de96ea20afd4a5f82065e61ea090988e languageName: node linkType: hard @@ -10538,6 +10538,13 @@ __metadata: languageName: node linkType: hard +"crypto-random-string@npm:^1.0.0": + version: 1.0.0 + resolution: "crypto-random-string@npm:1.0.0" + checksum: 6fc61a46c18547b49a93da24f4559c4a1c859f4ee730ecc9533c1ba89fa2a9e9d81f390c2789467afbbd0d1c55a6e96a71e4716b6cd3e77736ed5fced7a2df9a + languageName: node + linkType: hard + "crypto-random-string@npm:^2.0.0": version: 2.0.0 resolution: "crypto-random-string@npm:2.0.0" @@ -17147,6 +17154,15 @@ __metadata: languageName: node linkType: hard +"make-dir@npm:^1.0.0": + version: 1.3.0 + resolution: "make-dir@npm:1.3.0" + dependencies: + pify: ^3.0.0 + checksum: c564f6e7bb5ace1c02ad56b3a5f5e07d074af0c0b693c55c7b2c2b148882827c8c2afc7b57e43338a9f90c125b58d604e8cf3e6990a48bf949dfea8c79668c0b + languageName: node + linkType: hard + "make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": version: 2.1.0 resolution: "make-dir@npm:2.1.0" @@ -17560,7 +17576,7 @@ __metadata: languageName: node linkType: hard -"memfs@npm:^3.1.2, memfs@npm:^3.4.1, memfs@npm:^3.4.13": +"memfs@npm:^3.1.2, memfs@npm:^3.4.1, memfs@npm:^3.4.13, memfs@npm:^3.4.3": version: 3.4.13 resolution: "memfs@npm:3.4.13" dependencies: @@ -18025,7 +18041,16 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12, mime-types@npm:^2.1.25, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.24": + version: 2.1.32 + resolution: "mime-types@npm:2.1.32" + dependencies: + mime-db: 1.52.0 + checksum: 4487dfd2f872126d2c219ec731ad47a6169a438d5a4cce6ecef7594ce08eaefaf0d85429485a76ec005f095016c7ec488a24cf8bfcc0ea06de0355e23395746f + languageName: node + linkType: hard + +"mime-types@npm:^2.1.25, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -25494,6 +25519,15 @@ __metadata: languageName: node linkType: hard +"unique-string@npm:^1.0.0": + version: 1.0.0 + resolution: "unique-string@npm:1.0.0" + dependencies: + crypto-random-string: ^1.0.0 + checksum: 588f16bd4ec99b5130f237793d1a5694156adde20460366726573238e41e93b739b87987e863792aeb2392b26f8afb292490ace119c82ed12c46816c9c859f5f + languageName: node + linkType: hard + "unique-string@npm:^2.0.0": version: 2.0.0 resolution: "unique-string@npm:2.0.0" @@ -26142,7 +26176,7 @@ __metadata: resolution: "webpack-dev-middleware@npm:5.3.1" dependencies: colorette: ^2.0.10 - memfs: ^3.4.1 + memfs: ^3.4.3 mime-types: ^2.1.31 range-parser: ^1.2.1 schema-utils: ^4.0.0 @@ -26568,7 +26602,7 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:^2.3.0, write-file-atomic@npm:^2.4.2": +"write-file-atomic@npm:^2.0.0, write-file-atomic@npm:^2.3.0, write-file-atomic@npm:^2.4.2": version: 2.4.3 resolution: "write-file-atomic@npm:2.4.3" dependencies: @@ -26689,6 +26723,13 @@ __metadata: languageName: node linkType: hard +"xdg-basedir@npm:^3.0.0": + version: 3.0.0 + resolution: "xdg-basedir@npm:3.0.0" + checksum: 60d613dcb09b1198c70cb442979825531c605ac7861a8a6131304207d2962020dbb23660ac7e1be324fb9e4111a51a6206d875148d3e98df47a7d1869fa1515f + languageName: node + linkType: hard + "xdg-basedir@npm:^4.0.0": version: 4.0.0 resolution: "xdg-basedir@npm:4.0.0"