diff --git a/__tests__/validate-package-json.test.ts b/__tests__/validate-package-json.test.ts new file mode 100644 index 0000000000..92170c0127 --- /dev/null +++ b/__tests__/validate-package-json.test.ts @@ -0,0 +1,32 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +import util from 'util'; +import globCb from 'glob'; +import fsCb from 'fs'; + +const glob = util.promisify(globCb); +const readFile = util.promisify(fsCb.readFile); + +describe('packages', () => { + test('should contain repository and directory for every package', async () => { + const allPackageJson = await glob('packages/*/package.json'); + expect(allPackageJson.length).toBeGreaterThan(0); + + /* eslint-disable no-await-in-loop,no-restricted-syntax */ + for (const packageJson of allPackageJson) { + const content = JSON.parse(await readFile(packageJson, 'utf8')); + if (content.private !== true) { + expect(content.repository).toEqual({ + type: 'git', + url: 'https://github.com/facebook/docusaurus.git', + directory: packageJson.replace(/\/package\.json$/, ''), + }); + } + } + }); +}); diff --git a/package.json b/package.json index 45deff8912..7e771406c5 100644 --- a/package.json +++ b/package.json @@ -100,6 +100,7 @@ "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-react": "^7.20.0", "eslint-plugin-react-hooks": "^4.0.4", + "glob": "^7.1.6", "husky": "^4.2.3", "jest": "^25.2.7", "lerna": "^3.19.0", diff --git a/packages/docusaurus-1.x/package.json b/packages/docusaurus-1.x/package.json index 19c25c4e99..360ea1969c 100644 --- a/packages/docusaurus-1.x/package.json +++ b/packages/docusaurus-1.x/package.json @@ -11,7 +11,8 @@ ], "repository": { "type": "git", - "url": "https://github.com/facebook/docusaurus.git" + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-1.x" }, "scripts": { "start": "cd ../../website-1.x && yarn start" diff --git a/packages/docusaurus-init-1.x/package.json b/packages/docusaurus-init-1.x/package.json index 084d4c9233..2f179b507a 100644 --- a/packages/docusaurus-init-1.x/package.json +++ b/packages/docusaurus-init-1.x/package.json @@ -10,6 +10,11 @@ "open source", "docusaurus" ], + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-init-1.x" + }, "bin": { "docusaurus-init": "initialize.js" }, diff --git a/packages/docusaurus-init/package.json b/packages/docusaurus-init/package.json index b40d3440f3..1c34be8f7b 100644 --- a/packages/docusaurus-init/package.json +++ b/packages/docusaurus-init/package.json @@ -4,7 +4,8 @@ "description": "Create Docusaurus app easily", "repository": { "type": "git", - "url": "https://github.com/facebook/docusaurus.git" + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-init" }, "bugs": { "url": "https://github.com/facebook/docusaurus/issues" diff --git a/packages/docusaurus-mdx-loader/package.json b/packages/docusaurus-mdx-loader/package.json index 22b54f71df..375508986e 100644 --- a/packages/docusaurus-mdx-loader/package.json +++ b/packages/docusaurus-mdx-loader/package.json @@ -9,6 +9,11 @@ "scripts": { "build": "tsc" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-mdx-loader" + }, "license": "MIT", "dependencies": { "@babel/parser": "^7.9.4", diff --git a/packages/docusaurus-migrate/package.json b/packages/docusaurus-migrate/package.json index 5db1ed7796..b9473bcdda 100644 --- a/packages/docusaurus-migrate/package.json +++ b/packages/docusaurus-migrate/package.json @@ -11,6 +11,11 @@ "build": "tsc", "watch": "tsc --watch" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-migrate" + }, "publishConfig": { "access": "public" }, diff --git a/packages/docusaurus-module-type-aliases/package.json b/packages/docusaurus-module-type-aliases/package.json index 2ae61c311a..4e4198f543 100644 --- a/packages/docusaurus-module-type-aliases/package.json +++ b/packages/docusaurus-module-type-aliases/package.json @@ -6,6 +6,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-module-type-aliases" + }, "devDependencies": { "@types/react": "*", "@types/react-helmet": "*", diff --git a/packages/docusaurus-plugin-client-redirects/package.json b/packages/docusaurus-plugin-client-redirects/package.json index e77331d937..006ae513ed 100644 --- a/packages/docusaurus-plugin-client-redirects/package.json +++ b/packages/docusaurus-plugin-client-redirects/package.json @@ -7,6 +7,11 @@ "build": "tsc", "watch": "tsc --watch" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-plugin-client-redirects" + }, "publishConfig": { "access": "public" }, diff --git a/packages/docusaurus-plugin-content-blog/package.json b/packages/docusaurus-plugin-content-blog/package.json index 5d454dc858..952eec0b26 100644 --- a/packages/docusaurus-plugin-content-blog/package.json +++ b/packages/docusaurus-plugin-content-blog/package.json @@ -8,6 +8,11 @@ "build": "tsc", "watch": "tsc --watch" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-plugin-content-blog" + }, "publishConfig": { "access": "public" }, diff --git a/packages/docusaurus-plugin-content-docs/package.json b/packages/docusaurus-plugin-content-docs/package.json index e886df63d0..b8d32ad7f0 100644 --- a/packages/docusaurus-plugin-content-docs/package.json +++ b/packages/docusaurus-plugin-content-docs/package.json @@ -11,6 +11,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-plugin-content-docs" + }, "license": "MIT", "devDependencies": { "@docusaurus/module-type-aliases": "2.0.0-alpha.66", diff --git a/packages/docusaurus-plugin-content-pages/package.json b/packages/docusaurus-plugin-content-pages/package.json index 55b40437e3..98eaf90e7a 100644 --- a/packages/docusaurus-plugin-content-pages/package.json +++ b/packages/docusaurus-plugin-content-pages/package.json @@ -11,6 +11,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-plugin-content-pages" + }, "license": "MIT", "devDependencies": { "@types/hapi__joi": "^17.1.2" diff --git a/packages/docusaurus-plugin-debug/package.json b/packages/docusaurus-plugin-debug/package.json index dd7db2dbe4..f2b5085a3e 100644 --- a/packages/docusaurus-plugin-debug/package.json +++ b/packages/docusaurus-plugin-debug/package.json @@ -10,6 +10,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-plugin-debug" + }, "license": "MIT", "dependencies": { "@docusaurus/core": "2.0.0-alpha.66", diff --git a/packages/docusaurus-plugin-google-analytics/package.json b/packages/docusaurus-plugin-google-analytics/package.json index 01f3b6f4de..37273fc517 100644 --- a/packages/docusaurus-plugin-google-analytics/package.json +++ b/packages/docusaurus-plugin-google-analytics/package.json @@ -6,6 +6,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-plugin-google-analytics" + }, "license": "MIT", "dependencies": { "@docusaurus/core": "2.0.0-alpha.66" diff --git a/packages/docusaurus-plugin-google-gtag/package.json b/packages/docusaurus-plugin-google-gtag/package.json index ccac8db443..fcd81c330a 100644 --- a/packages/docusaurus-plugin-google-gtag/package.json +++ b/packages/docusaurus-plugin-google-gtag/package.json @@ -6,6 +6,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-plugin-google-gtag" + }, "license": "MIT", "dependencies": { "@docusaurus/core": "2.0.0-alpha.66" diff --git a/packages/docusaurus-plugin-ideal-image/package.json b/packages/docusaurus-plugin-ideal-image/package.json index b2b3dcdc43..77d4e24210 100644 --- a/packages/docusaurus-plugin-ideal-image/package.json +++ b/packages/docusaurus-plugin-ideal-image/package.json @@ -10,6 +10,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-plugin-ideal-image" + }, "license": "MIT", "devDependencies": { "fs-extra": "^9.0.0" diff --git a/packages/docusaurus-plugin-pwa/package.json b/packages/docusaurus-plugin-pwa/package.json index 914b8d57ed..a07d2ac097 100644 --- a/packages/docusaurus-plugin-pwa/package.json +++ b/packages/docusaurus-plugin-pwa/package.json @@ -6,6 +6,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-plugin-pwa" + }, "license": "MIT", "dependencies": { "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", diff --git a/packages/docusaurus-plugin-sitemap/package.json b/packages/docusaurus-plugin-sitemap/package.json index 0aaae735c2..50c45a7287 100644 --- a/packages/docusaurus-plugin-sitemap/package.json +++ b/packages/docusaurus-plugin-sitemap/package.json @@ -10,6 +10,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-plugin-sitemap" + }, "license": "MIT", "devDependencies": { "@types/hapi__joi": "^17.1.2" diff --git a/packages/docusaurus-preset-bootstrap/package.json b/packages/docusaurus-preset-bootstrap/package.json index ef8a232eb4..7ebed5243a 100644 --- a/packages/docusaurus-preset-bootstrap/package.json +++ b/packages/docusaurus-preset-bootstrap/package.json @@ -7,6 +7,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-preset-bootstrap" + }, "dependencies": { "@docusaurus/core": "2.0.0-alpha.66", "@docusaurus/plugin-content-blog": "2.0.0-alpha.66", diff --git a/packages/docusaurus-preset-classic/package.json b/packages/docusaurus-preset-classic/package.json index c9c140c925..e1aaecd2f0 100644 --- a/packages/docusaurus-preset-classic/package.json +++ b/packages/docusaurus-preset-classic/package.json @@ -6,6 +6,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-preset-classic" + }, "license": "MIT", "dependencies": { "@docusaurus/core": "2.0.0-alpha.66", diff --git a/packages/docusaurus-remark-plugin-npm2yarn/package.json b/packages/docusaurus-remark-plugin-npm2yarn/package.json index c901423301..7865b08bb8 100644 --- a/packages/docusaurus-remark-plugin-npm2yarn/package.json +++ b/packages/docusaurus-remark-plugin-npm2yarn/package.json @@ -6,6 +6,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-remark-plugin-npm2yarn" + }, "license": "MIT", "dependencies": { "npm-to-yarn": "^1.0.1" diff --git a/packages/docusaurus-theme-bootstrap/package.json b/packages/docusaurus-theme-bootstrap/package.json index 8479bc8524..261ef82794 100644 --- a/packages/docusaurus-theme-bootstrap/package.json +++ b/packages/docusaurus-theme-bootstrap/package.json @@ -8,6 +8,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-theme-bootstrap" + }, "dependencies": { "@docusaurus/core": "2.0.0-alpha.66", "@docusaurus/plugin-content-blog": "2.0.0-alpha.66", diff --git a/packages/docusaurus-theme-classic/package.json b/packages/docusaurus-theme-classic/package.json index 206a101574..77c824a11f 100644 --- a/packages/docusaurus-theme-classic/package.json +++ b/packages/docusaurus-theme-classic/package.json @@ -7,6 +7,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-theme-classic" + }, "license": "MIT", "scripts": { "build": "tsc --noEmit && yarn babel && yarn prettier", diff --git a/packages/docusaurus-theme-live-codeblock/package.json b/packages/docusaurus-theme-live-codeblock/package.json index 2274961113..420d9b4ead 100644 --- a/packages/docusaurus-theme-live-codeblock/package.json +++ b/packages/docusaurus-theme-live-codeblock/package.json @@ -6,6 +6,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-theme-live-codeblock" + }, "license": "MIT", "dependencies": { "@docusaurus/core": "2.0.0-alpha.66", diff --git a/packages/docusaurus-theme-search-algolia/package.json b/packages/docusaurus-theme-search-algolia/package.json index c343040530..9541254c41 100644 --- a/packages/docusaurus-theme-search-algolia/package.json +++ b/packages/docusaurus-theme-search-algolia/package.json @@ -6,6 +6,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-theme-search-algolia" + }, "license": "MIT", "dependencies": { "@docsearch/react": "^1.0.0-alpha.27", diff --git a/packages/docusaurus-types/package.json b/packages/docusaurus-types/package.json index e4ef61b825..e6c818019e 100644 --- a/packages/docusaurus-types/package.json +++ b/packages/docusaurus-types/package.json @@ -7,6 +7,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-types" + }, "license": "MIT", "dependencies": { "@types/webpack": "^4.41.0", diff --git a/packages/docusaurus-utils-validation/package.json b/packages/docusaurus-utils-validation/package.json index 576ac5b353..6f6fcff083 100644 --- a/packages/docusaurus-utils-validation/package.json +++ b/packages/docusaurus-utils-validation/package.json @@ -11,6 +11,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-utils-validation" + }, "license": "MIT", "devDependencies": { "@types/hapi__joi": "^17.1.2" diff --git a/packages/docusaurus-utils/package.json b/packages/docusaurus-utils/package.json index 35a71c0ab8..186bf43e91 100644 --- a/packages/docusaurus-utils/package.json +++ b/packages/docusaurus-utils/package.json @@ -11,6 +11,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus-utils" + }, "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0", diff --git a/packages/docusaurus/package.json b/packages/docusaurus/package.json index 495cd62d54..3875b12f90 100644 --- a/packages/docusaurus/package.json +++ b/packages/docusaurus/package.json @@ -17,7 +17,8 @@ ], "repository": { "type": "git", - "url": "https://github.com/facebook/docusaurus.git" + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/docusaurus" }, "bin": { "docusaurus": "bin/docusaurus.js" diff --git a/packages/lqip-loader/package.json b/packages/lqip-loader/package.json index e7bca982b0..c529b16e74 100644 --- a/packages/lqip-loader/package.json +++ b/packages/lqip-loader/package.json @@ -6,6 +6,11 @@ "publishConfig": { "access": "public" }, + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/lqip-loader" + }, "license": "MIT", "dependencies": { "loader-utils": "^1.2.3", diff --git a/packages/stylelint-copyright/package.json b/packages/stylelint-copyright/package.json index 43230c34cf..e37fb15b66 100644 --- a/packages/stylelint-copyright/package.json +++ b/packages/stylelint-copyright/package.json @@ -4,6 +4,11 @@ "description": "stylelint plugin to check css files for a copyright header", "main": "index.js", "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/facebook/docusaurus.git", + "directory": "packages/stylelint-copyright" + }, "dependencies": { "stylelint": "^13.2.1" }