mirror of
https://github.com/facebook/docusaurus.git
synced 2025-04-29 18:27:56 +02:00
chore(v1): move v1 docs inside website-1.x (#3504)
* move v1 docs in website-1.x * fix editUrl after moving v1 docs * update crowdin source for v1 docs * fix test after v1 config change * migration cli should support customDocsPath (fix v1->v2 integration tests) * fix migrationConfig.test.ts
This commit is contained in:
parent
85ff9bd33a
commit
41ff9a9fd0
27 changed files with 77 additions and 419 deletions
|
@ -5,7 +5,7 @@ preserve_hierarchy: true
|
||||||
|
|
||||||
files:
|
files:
|
||||||
-
|
-
|
||||||
source: '/docs/**/*.md'
|
source: '/website-1.x/docs/**/*.md'
|
||||||
translation: '/website-1.x/translated_docs/%locale%/**/%original_file_name%'
|
translation: '/website-1.x/translated_docs/%locale%/**/%original_file_name%'
|
||||||
languages_mapping: &anchor
|
languages_mapping: &anchor
|
||||||
locale:
|
locale:
|
||||||
|
|
|
@ -143,7 +143,7 @@ describe('getFile', () => {
|
||||||
'Document 2 is not good',
|
'Document 2 is not good',
|
||||||
'website-1.x/translated_docs/ko/version-1.0.0/doc1.md':
|
'website-1.x/translated_docs/ko/version-1.0.0/doc1.md':
|
||||||
'이것은 오래된 가짜입니다.',
|
'이것은 오래된 가짜입니다.',
|
||||||
'docs/doc1.md': 'Just another document',
|
'website-1.x/docs/doc1.md': 'Just another document',
|
||||||
};
|
};
|
||||||
fs.existsSync = jest.fn().mockReturnValue(true);
|
fs.existsSync = jest.fn().mockReturnValue(true);
|
||||||
fs.readFileSync = jest.fn().mockImplementation((file) => {
|
fs.readFileSync = jest.fn().mockImplementation((file) => {
|
||||||
|
@ -189,7 +189,9 @@ describe('getFile', () => {
|
||||||
|
|
||||||
test('normal docs', () => {
|
test('normal docs', () => {
|
||||||
const metadata = Metadata['en-doc1'];
|
const metadata = Metadata['en-doc1'];
|
||||||
expect(docs.getFile(metadata)).toEqual(fakeContent['docs/doc1.md']);
|
expect(docs.getFile(metadata)).toEqual(
|
||||||
|
fakeContent['website-1.x/docs/doc1.md'],
|
||||||
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
404
packages/docusaurus-migrate/package-lock.json
generated
404
packages/docusaurus-migrate/package-lock.json
generated
|
@ -1,404 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@docusaurus/migrate",
|
|
||||||
"version": "2.0.0-alpha.64",
|
|
||||||
"lockfileVersion": 1,
|
|
||||||
"requires": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@types/color-name": {
|
|
||||||
"version": "1.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
|
|
||||||
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ=="
|
|
||||||
},
|
|
||||||
"@types/fs-extra": {
|
|
||||||
"version": "9.0.1",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"@types/node": "*"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@types/jscodeshift": {
|
|
||||||
"version": "0.7.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/jscodeshift/-/jscodeshift-0.7.1.tgz",
|
|
||||||
"integrity": "sha512-4jkASx74qGl2OUK8NNFEq10QP0MXriOIqeBeNb1IdevHP8k8VDqS5Uv6nIixAA6ZUjjF6/SwOvecrjXkbcaFzw==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"ast-types": "0.12.1",
|
|
||||||
"recast": "0.17.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@types/node": {
|
|
||||||
"version": "14.0.23",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz",
|
|
||||||
"integrity": "sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"@types/unist": {
|
|
||||||
"version": "2.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz",
|
|
||||||
"integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ=="
|
|
||||||
},
|
|
||||||
"ansi-styles": {
|
|
||||||
"version": "4.2.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
|
|
||||||
"integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
|
|
||||||
"requires": {
|
|
||||||
"@types/color-name": "^1.1.1",
|
|
||||||
"color-convert": "^2.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ast-types": {
|
|
||||||
"version": "0.12.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.12.1.tgz",
|
|
||||||
"integrity": "sha512-H2izJAyT2xwew4TxShpmxe6f9R5hHgJQy1QloLiUC2yrJMtyraBWNJL7903rpeCY9keNUipORR/zIUC2XcYKng==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"at-least-node": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
|
|
||||||
"integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="
|
|
||||||
},
|
|
||||||
"bail": {
|
|
||||||
"version": "1.0.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
|
|
||||||
"integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ=="
|
|
||||||
},
|
|
||||||
"ccount": {
|
|
||||||
"version": "1.0.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz",
|
|
||||||
"integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw=="
|
|
||||||
},
|
|
||||||
"chalk": {
|
|
||||||
"version": "4.1.0",
|
|
||||||
"requires": {
|
|
||||||
"ansi-styles": "^4.1.0",
|
|
||||||
"supports-color": "^7.1.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"character-entities": {
|
|
||||||
"version": "1.2.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
|
|
||||||
"integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw=="
|
|
||||||
},
|
|
||||||
"character-entities-legacy": {
|
|
||||||
"version": "1.1.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
|
|
||||||
"integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA=="
|
|
||||||
},
|
|
||||||
"character-reference-invalid": {
|
|
||||||
"version": "1.1.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
|
|
||||||
"integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg=="
|
|
||||||
},
|
|
||||||
"collapse-white-space": {
|
|
||||||
"version": "1.0.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz",
|
|
||||||
"integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ=="
|
|
||||||
},
|
|
||||||
"color-convert": {
|
|
||||||
"version": "2.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
|
||||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
|
||||||
"requires": {
|
|
||||||
"color-name": "~1.1.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"color-name": {
|
|
||||||
"version": "1.1.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
|
||||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
|
||||||
},
|
|
||||||
"commander": {
|
|
||||||
"version": "5.1.0"
|
|
||||||
},
|
|
||||||
"esprima": {
|
|
||||||
"version": "4.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
|
|
||||||
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"extend": {
|
|
||||||
"version": "3.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
|
|
||||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
|
|
||||||
},
|
|
||||||
"fs-extra": {
|
|
||||||
"version": "9.0.1",
|
|
||||||
"requires": {
|
|
||||||
"at-least-node": "^1.0.0",
|
|
||||||
"graceful-fs": "^4.2.0",
|
|
||||||
"jsonfile": "^6.0.1",
|
|
||||||
"universalify": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"graceful-fs": {
|
|
||||||
"version": "4.2.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
|
|
||||||
"integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
|
|
||||||
},
|
|
||||||
"has-flag": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
|
|
||||||
},
|
|
||||||
"inherits": {
|
|
||||||
"version": "2.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
|
||||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
|
||||||
},
|
|
||||||
"is-alphabetical": {
|
|
||||||
"version": "1.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
|
|
||||||
"integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg=="
|
|
||||||
},
|
|
||||||
"is-alphanumerical": {
|
|
||||||
"version": "1.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
|
|
||||||
"integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
|
|
||||||
"requires": {
|
|
||||||
"is-alphabetical": "^1.0.0",
|
|
||||||
"is-decimal": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"is-buffer": {
|
|
||||||
"version": "2.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
|
|
||||||
"integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A=="
|
|
||||||
},
|
|
||||||
"is-decimal": {
|
|
||||||
"version": "1.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
|
|
||||||
"integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw=="
|
|
||||||
},
|
|
||||||
"is-hexadecimal": {
|
|
||||||
"version": "1.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
|
|
||||||
"integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw=="
|
|
||||||
},
|
|
||||||
"is-plain-obj": {
|
|
||||||
"version": "2.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.0.0.tgz",
|
|
||||||
"integrity": "sha512-EYisGhpgSCwspmIuRHGjROWTon2Xp8Z7U03Wubk/bTL5TTRC5R1rGVgyjzBrk9+ULdH6cRD06KRcw/xfqhVYKQ=="
|
|
||||||
},
|
|
||||||
"is-whitespace-character": {
|
|
||||||
"version": "1.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz",
|
|
||||||
"integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w=="
|
|
||||||
},
|
|
||||||
"is-word-character": {
|
|
||||||
"version": "1.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz",
|
|
||||||
"integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA=="
|
|
||||||
},
|
|
||||||
"jsonfile": {
|
|
||||||
"version": "6.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
|
|
||||||
"integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
|
|
||||||
"requires": {
|
|
||||||
"graceful-fs": "^4.1.6",
|
|
||||||
"universalify": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"markdown-escapes": {
|
|
||||||
"version": "1.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz",
|
|
||||||
"integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg=="
|
|
||||||
},
|
|
||||||
"parse-entities": {
|
|
||||||
"version": "2.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
|
|
||||||
"integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
|
|
||||||
"requires": {
|
|
||||||
"character-entities": "^1.0.0",
|
|
||||||
"character-entities-legacy": "^1.0.0",
|
|
||||||
"character-reference-invalid": "^1.0.0",
|
|
||||||
"is-alphanumerical": "^1.0.0",
|
|
||||||
"is-decimal": "^1.0.0",
|
|
||||||
"is-hexadecimal": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"private": {
|
|
||||||
"version": "0.1.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
|
|
||||||
"integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"recast": {
|
|
||||||
"version": "0.17.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/recast/-/recast-0.17.2.tgz",
|
|
||||||
"integrity": "sha512-YHFvn4rBXl8eIjALjUiOV/AP3xFpyGNGNHDw9mAncAWuIdgnBKjbZQ9+P3VlsKcNaNapRVFlTEX1dvDRlYwyxg==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"ast-types": "0.12.1",
|
|
||||||
"esprima": "~4.0.0",
|
|
||||||
"private": "~0.1.5",
|
|
||||||
"source-map": "~0.6.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"remark-parse": {
|
|
||||||
"version": "8.0.2",
|
|
||||||
"requires": {
|
|
||||||
"ccount": "^1.0.0",
|
|
||||||
"collapse-white-space": "^1.0.2",
|
|
||||||
"is-alphabetical": "^1.0.0",
|
|
||||||
"is-decimal": "^1.0.0",
|
|
||||||
"is-whitespace-character": "^1.0.0",
|
|
||||||
"is-word-character": "^1.0.0",
|
|
||||||
"markdown-escapes": "^1.0.0",
|
|
||||||
"parse-entities": "^2.0.0",
|
|
||||||
"repeat-string": "^1.5.4",
|
|
||||||
"state-toggle": "^1.0.0",
|
|
||||||
"trim": "0.0.1",
|
|
||||||
"trim-trailing-lines": "^1.0.0",
|
|
||||||
"unherit": "^1.0.4",
|
|
||||||
"unist-util-remove-position": "^2.0.0",
|
|
||||||
"vfile-location": "^3.0.0",
|
|
||||||
"xtend": "^4.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"repeat-string": {
|
|
||||||
"version": "1.6.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
|
|
||||||
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
|
|
||||||
},
|
|
||||||
"replace-ext": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
|
|
||||||
"integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs="
|
|
||||||
},
|
|
||||||
"semver": {
|
|
||||||
"version": "7.3.2"
|
|
||||||
},
|
|
||||||
"source-map": {
|
|
||||||
"version": "0.6.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
|
||||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"state-toggle": {
|
|
||||||
"version": "1.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz",
|
|
||||||
"integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ=="
|
|
||||||
},
|
|
||||||
"supports-color": {
|
|
||||||
"version": "7.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
|
|
||||||
"integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
|
|
||||||
"requires": {
|
|
||||||
"has-flag": "^4.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"trim": {
|
|
||||||
"version": "0.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
|
|
||||||
"integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0="
|
|
||||||
},
|
|
||||||
"trim-trailing-lines": {
|
|
||||||
"version": "1.1.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz",
|
|
||||||
"integrity": "sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA=="
|
|
||||||
},
|
|
||||||
"trough": {
|
|
||||||
"version": "1.0.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz",
|
|
||||||
"integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA=="
|
|
||||||
},
|
|
||||||
"unherit": {
|
|
||||||
"version": "1.1.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz",
|
|
||||||
"integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==",
|
|
||||||
"requires": {
|
|
||||||
"inherits": "^2.0.0",
|
|
||||||
"xtend": "^4.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"unified": {
|
|
||||||
"version": "9.0.0",
|
|
||||||
"requires": {
|
|
||||||
"bail": "^1.0.0",
|
|
||||||
"extend": "^3.0.0",
|
|
||||||
"is-buffer": "^2.0.0",
|
|
||||||
"is-plain-obj": "^2.0.0",
|
|
||||||
"trough": "^1.0.0",
|
|
||||||
"vfile": "^4.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"unist-util-is": {
|
|
||||||
"version": "4.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
|
|
||||||
"integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ=="
|
|
||||||
},
|
|
||||||
"unist-util-remove-position": {
|
|
||||||
"version": "2.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz",
|
|
||||||
"integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==",
|
|
||||||
"requires": {
|
|
||||||
"unist-util-visit": "^2.0.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"unist-util-visit": {
|
|
||||||
"version": "2.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
|
|
||||||
"integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
|
|
||||||
"requires": {
|
|
||||||
"@types/unist": "^2.0.0",
|
|
||||||
"unist-util-is": "^4.0.0",
|
|
||||||
"unist-util-visit-parents": "^3.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"unist-util-stringify-position": {
|
|
||||||
"version": "2.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz",
|
|
||||||
"integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==",
|
|
||||||
"requires": {
|
|
||||||
"@types/unist": "^2.0.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"unist-util-visit-parents": {
|
|
||||||
"version": "3.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.0.tgz",
|
|
||||||
"integrity": "sha512-0g4wbluTF93npyPrp/ymd3tCDTMnP0yo2akFD2FIBAYXq/Sga3lwaU1D8OYKbtpioaI6CkDcQ6fsMnmtzt7htw==",
|
|
||||||
"requires": {
|
|
||||||
"@types/unist": "^2.0.0",
|
|
||||||
"unist-util-is": "^4.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"universalify": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
|
|
||||||
"integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug=="
|
|
||||||
},
|
|
||||||
"vfile": {
|
|
||||||
"version": "4.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/vfile/-/vfile-4.1.1.tgz",
|
|
||||||
"integrity": "sha512-lRjkpyDGjVlBA7cDQhQ+gNcvB1BGaTHYuSOcY3S7OhDmBtnzX95FhtZZDecSTDm6aajFymyve6S5DN4ZHGezdQ==",
|
|
||||||
"requires": {
|
|
||||||
"@types/unist": "^2.0.0",
|
|
||||||
"is-buffer": "^2.0.0",
|
|
||||||
"replace-ext": "1.0.0",
|
|
||||||
"unist-util-stringify-position": "^2.0.0",
|
|
||||||
"vfile-message": "^2.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"vfile-location": {
|
|
||||||
"version": "3.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.0.1.tgz",
|
|
||||||
"integrity": "sha512-yYBO06eeN/Ki6Kh1QAkgzYpWT1d3Qln+ZCtSbJqFExPl1S3y2qqotJQXoh6qEvl/jDlgpUJolBn3PItVnnZRqQ=="
|
|
||||||
},
|
|
||||||
"vfile-message": {
|
|
||||||
"version": "2.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz",
|
|
||||||
"integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==",
|
|
||||||
"requires": {
|
|
||||||
"@types/unist": "^2.0.0",
|
|
||||||
"unist-util-stringify-position": "^2.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xtend": {
|
|
||||||
"version": "4.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
|
||||||
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -7,12 +7,17 @@
|
||||||
|
|
||||||
import importFresh from 'import-fresh';
|
import importFresh from 'import-fresh';
|
||||||
import {createConfigFile} from '../index';
|
import {createConfigFile} from '../index';
|
||||||
|
import {VersionOneConfig} from '../types';
|
||||||
|
|
||||||
describe('create config', () => {
|
describe('create config', () => {
|
||||||
test('simple test', () => {
|
test('simple test', () => {
|
||||||
const input = importFresh(`${__dirname}/__fixtures__/sourceSiteConfig.js`);
|
const v1Config: VersionOneConfig = importFresh(
|
||||||
|
`${__dirname}/__fixtures__/sourceSiteConfig.js`,
|
||||||
|
) as any;
|
||||||
|
const siteDir = 'website';
|
||||||
|
const newDir = 'websiteMigrated';
|
||||||
|
|
||||||
const result = createConfigFile(input);
|
const result = createConfigFile({v1Config, siteDir, newDir});
|
||||||
|
|
||||||
const output = importFresh(
|
const output = importFresh(
|
||||||
`${__dirname}/__fixtures__/expectedSiteConfig.js`,
|
`${__dirname}/__fixtures__/expectedSiteConfig.js`,
|
|
@ -61,16 +61,46 @@ function sanitizedFileContent(
|
||||||
return sanitizedData;
|
return sanitizedData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO refactor this new type should be used everywhere instead of passing many params to each method
|
||||||
|
type MigrationContext = {
|
||||||
|
siteDir: string;
|
||||||
|
newDir: string;
|
||||||
|
shouldMigrateMdFiles: boolean;
|
||||||
|
shouldMigratePages: boolean;
|
||||||
|
v1Config: VersionOneConfig;
|
||||||
|
v2Config: VersionTwoConfig;
|
||||||
|
};
|
||||||
|
|
||||||
export async function migrateDocusaurusProject(
|
export async function migrateDocusaurusProject(
|
||||||
siteDir: string,
|
siteDir: string,
|
||||||
newDir: string,
|
newDir: string,
|
||||||
shouldMigrateMdFiles: boolean = false,
|
shouldMigrateMdFiles: boolean = false,
|
||||||
shouldMigratePages: boolean = false,
|
shouldMigratePages: boolean = false,
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
const siteConfig = importFresh(`${siteDir}/siteConfig`) as VersionOneConfig;
|
function createMigrationContext(): MigrationContext {
|
||||||
console.log('Starting migration from v1 to v2...');
|
const v1Config = importFresh(`${siteDir}/siteConfig`) as VersionOneConfig;
|
||||||
const config = createConfigFile(siteConfig);
|
console.log('Starting migration from v1 to v2...');
|
||||||
const classicPreset = config.presets[0][1];
|
const partialMigrationContext = {
|
||||||
|
siteDir,
|
||||||
|
newDir,
|
||||||
|
shouldMigrateMdFiles,
|
||||||
|
shouldMigratePages,
|
||||||
|
v1Config,
|
||||||
|
};
|
||||||
|
const v2Config = createConfigFile(partialMigrationContext);
|
||||||
|
return {
|
||||||
|
...partialMigrationContext,
|
||||||
|
v2Config,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
const migrationContext = createMigrationContext();
|
||||||
|
|
||||||
|
// TODO need refactor legacy, we pass migrationContext to all methods
|
||||||
|
const siteConfig = migrationContext.v1Config;
|
||||||
|
const config = migrationContext.v2Config;
|
||||||
|
|
||||||
|
const classicPreset = migrationContext.v2Config.presets[0][1];
|
||||||
|
|
||||||
const deps: Record<string, string> = {
|
const deps: Record<string, string> = {
|
||||||
'@docusaurus/core': DOCUSAURUS_VERSION,
|
'@docusaurus/core': DOCUSAURUS_VERSION,
|
||||||
|
@ -139,7 +169,7 @@ export async function migrateDocusaurusProject(
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
handleVersioning(siteDir, newDir, config, shouldMigrateMdFiles);
|
handleVersioning(siteDir, siteConfig, newDir, config, shouldMigrateMdFiles);
|
||||||
} catch (errorInVersion) {
|
} catch (errorInVersion) {
|
||||||
console.log(
|
console.log(
|
||||||
chalk.red(
|
chalk.red(
|
||||||
|
@ -187,9 +217,15 @@ export async function migrateDocusaurusProject(
|
||||||
console.log('Completed migration from v1 to v2');
|
console.log('Completed migration from v1 to v2');
|
||||||
}
|
}
|
||||||
|
|
||||||
export function createConfigFile(
|
export function createConfigFile({
|
||||||
siteConfig: VersionOneConfig,
|
v1Config,
|
||||||
): VersionTwoConfig {
|
siteDir,
|
||||||
|
newDir,
|
||||||
|
}: Pick<
|
||||||
|
MigrationContext,
|
||||||
|
'v1Config' | 'siteDir' | 'newDir'
|
||||||
|
>): VersionTwoConfig {
|
||||||
|
const siteConfig = v1Config;
|
||||||
const homePageId = siteConfig.headerLinks?.filter((value) => value.doc)[0]
|
const homePageId = siteConfig.headerLinks?.filter((value) => value.doc)[0]
|
||||||
.doc;
|
.doc;
|
||||||
|
|
||||||
|
@ -215,6 +251,7 @@ export function createConfigFile(
|
||||||
'colors',
|
'colors',
|
||||||
'copyright',
|
'copyright',
|
||||||
'editUrl',
|
'editUrl',
|
||||||
|
'customDocsPath',
|
||||||
'facebookComments',
|
'facebookComments',
|
||||||
'usePrism',
|
'usePrism',
|
||||||
'highlight',
|
'highlight',
|
||||||
|
@ -241,6 +278,17 @@ export function createConfigFile(
|
||||||
'Following Fields from siteConfig.js will be added to docusaurus.config.js in `customFields`',
|
'Following Fields from siteConfig.js will be added to docusaurus.config.js in `customFields`',
|
||||||
)}\n${chalk.yellow(Object.keys(customConfigFields).join('\n'))}`,
|
)}\n${chalk.yellow(Object.keys(customConfigFields).join('\n'))}`,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
let v2DocsPath: string | undefined;
|
||||||
|
if (siteConfig.customDocsPath) {
|
||||||
|
const absoluteDocsPath = path.resolve(
|
||||||
|
siteDir,
|
||||||
|
'..',
|
||||||
|
siteConfig.customDocsPath,
|
||||||
|
);
|
||||||
|
v2DocsPath = path.relative(newDir, absoluteDocsPath);
|
||||||
|
}
|
||||||
|
|
||||||
const result: VersionTwoConfig = {
|
const result: VersionTwoConfig = {
|
||||||
title: siteConfig.title ?? '',
|
title: siteConfig.title ?? '',
|
||||||
tagline: siteConfig.tagline,
|
tagline: siteConfig.tagline,
|
||||||
|
@ -258,6 +306,7 @@ export function createConfigFile(
|
||||||
'@docusaurus/preset-classic',
|
'@docusaurus/preset-classic',
|
||||||
{
|
{
|
||||||
docs: {
|
docs: {
|
||||||
|
...(v2DocsPath && {path: v2DocsPath}),
|
||||||
homePageId,
|
homePageId,
|
||||||
showLastUpdateAuthor: true,
|
showLastUpdateAuthor: true,
|
||||||
showLastUpdateTime: true,
|
showLastUpdateTime: true,
|
||||||
|
@ -416,6 +465,7 @@ function migrateBlogFiles(
|
||||||
|
|
||||||
function handleVersioning(
|
function handleVersioning(
|
||||||
siteDir: string,
|
siteDir: string,
|
||||||
|
siteConfig: VersionOneConfig,
|
||||||
newDir: string,
|
newDir: string,
|
||||||
config: VersionTwoConfig,
|
config: VersionTwoConfig,
|
||||||
migrateMDFiles: boolean,
|
migrateMDFiles: boolean,
|
||||||
|
@ -433,6 +483,7 @@ function handleVersioning(
|
||||||
migrateVersionedSidebar(siteDir, newDir, versions, versionRegex, config);
|
migrateVersionedSidebar(siteDir, newDir, versions, versionRegex, config);
|
||||||
fs.mkdirpSync(path.join(newDir, 'versioned_docs'));
|
fs.mkdirpSync(path.join(newDir, 'versioned_docs'));
|
||||||
migrateVersionedDocs(
|
migrateVersionedDocs(
|
||||||
|
siteConfig,
|
||||||
versions,
|
versions,
|
||||||
siteDir,
|
siteDir,
|
||||||
newDir,
|
newDir,
|
||||||
|
@ -456,6 +507,7 @@ function handleVersioning(
|
||||||
}
|
}
|
||||||
|
|
||||||
function migrateVersionedDocs(
|
function migrateVersionedDocs(
|
||||||
|
siteConfig: VersionOneConfig,
|
||||||
versions: string[],
|
versions: string[],
|
||||||
siteDir: string,
|
siteDir: string,
|
||||||
newDir: string,
|
newDir: string,
|
||||||
|
@ -465,7 +517,7 @@ function migrateVersionedDocs(
|
||||||
versions.reverse().forEach((version, index) => {
|
versions.reverse().forEach((version, index) => {
|
||||||
if (index === 0) {
|
if (index === 0) {
|
||||||
fs.copySync(
|
fs.copySync(
|
||||||
path.join(siteDir, '..', 'docs'),
|
path.join(siteDir, '..', siteConfig.customDocsPath || 'docs'),
|
||||||
path.join(newDir, 'versioned_docs', `version-${version}`),
|
path.join(newDir, 'versioned_docs', `version-${version}`),
|
||||||
);
|
);
|
||||||
fs.copySync(
|
fs.copySync(
|
||||||
|
|
|
@ -101,6 +101,7 @@ export type VersionOneConfig = {
|
||||||
colors?: any;
|
colors?: any;
|
||||||
copyright?: string;
|
copyright?: string;
|
||||||
editUrl?: string;
|
editUrl?: string;
|
||||||
|
customDocsPath?: string;
|
||||||
users?: Array<Record<string, unknown>>;
|
users?: Array<Record<string, unknown>>;
|
||||||
disableHeaderTitle?: string;
|
disableHeaderTitle?: string;
|
||||||
disableTitleTagline?: string;
|
disableTitleTagline?: string;
|
||||||
|
|
|
@ -18,7 +18,9 @@ const siteConfig = {
|
||||||
cname: 'docusaurus.io',
|
cname: 'docusaurus.io',
|
||||||
noIndex: false,
|
noIndex: false,
|
||||||
users,
|
users,
|
||||||
editUrl: 'https://github.com/facebook/docusaurus/edit/master/docs/',
|
customDocsPath: 'website-1.x/docs',
|
||||||
|
editUrl:
|
||||||
|
'https://github.com/facebook/docusaurus/edit/master/website-1.x/docs/',
|
||||||
headerLinks: [
|
headerLinks: [
|
||||||
{doc: 'installation', label: 'Docs'},
|
{doc: 'installation', label: 'Docs'},
|
||||||
{doc: 'tutorial-setup', label: 'Tutorial'},
|
{doc: 'tutorial-setup', label: 'Tutorial'},
|
||||||
|
|
Loading…
Add table
Reference in a new issue