@docusaurus/utils 3.5.1 → 3.5.2-canary-6121

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.
@@ -4,8 +4,9 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
+ import Globby from 'globby';
7
8
  /** A re-export of the globby instance. */
8
- export { default as Globby } from 'globby';
9
+ export { Globby };
9
10
  /**
10
11
  * The default glob patterns we ignore when sourcing content.
11
12
  * - Ignore files and folders starting with `_` recursively
@@ -37,4 +38,6 @@ export declare function createMatcher(patterns: string[]): Matcher;
37
38
  * to any of the `rootFolders`.
38
39
  */
39
40
  export declare function createAbsoluteFilePathMatcher(patterns: string[], rootFolders: string[]): Matcher;
41
+ export declare function safeGlobby(patterns: string[], options?: Globby.GlobbyOptions): Promise<string[]>;
42
+ export declare function globTranslatableSourceFiles(patterns: string[]): Promise<string[]>;
40
43
  //# sourceMappingURL=globUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"globUtils.d.ts","sourceRoot":"","sources":["../src/globUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,0CAA0C;AAC1C,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,QAAQ,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,UAK9B,CAAC;AAEF,KAAK,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;AAExC;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CASzD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAqBT"}
1
+ {"version":3,"file":"globUtils.d.ts","sourceRoot":"","sources":["../src/globUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,0CAA0C;AAC1C,OAAO,EAAC,MAAM,EAAC,CAAC;AAEhB;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,UAK9B,CAAC;AAEF,KAAK,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;AAExC;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CASzD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAqBT;AAID,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,MAAM,CAAC,aAAa,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAQnB;AAGD,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAiBnB"}
package/lib/globUtils.js CHANGED
@@ -9,14 +9,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.GlobExcludeDefault = exports.Globby = void 0;
10
10
  exports.createMatcher = createMatcher;
11
11
  exports.createAbsoluteFilePathMatcher = createAbsoluteFilePathMatcher;
12
+ exports.safeGlobby = safeGlobby;
13
+ exports.globTranslatableSourceFiles = globTranslatableSourceFiles;
12
14
  const tslib_1 = require("tslib");
13
15
  // Globby/Micromatch are the 2 libs we use in Docusaurus consistently
14
16
  const path_1 = tslib_1.__importDefault(require("path"));
15
17
  const micromatch_1 = tslib_1.__importDefault(require("micromatch")); // Note: Micromatch is used by Globby
16
18
  const utils_common_1 = require("@docusaurus/utils-common");
17
- /** A re-export of the globby instance. */
18
- var globby_1 = require("globby");
19
- Object.defineProperty(exports, "Globby", { enumerable: true, get: function () { return tslib_1.__importDefault(globby_1).default; } });
19
+ const globby_1 = tslib_1.__importDefault(require("globby"));
20
+ exports.Globby = globby_1.default;
21
+ const pathUtils_1 = require("./pathUtils");
20
22
  /**
21
23
  * The default glob patterns we ignore when sourcing content.
22
24
  * - Ignore files and folders starting with `_` recursively
@@ -69,4 +71,28 @@ function createAbsoluteFilePathMatcher(patterns, rootFolders) {
69
71
  }
70
72
  return (absoluteFilePath) => matcher(getRelativeFilePath(absoluteFilePath));
71
73
  }
74
+ // Globby that fix Windows path patterns
75
+ // See https://github.com/facebook/docusaurus/pull/4222#issuecomment-795517329
76
+ async function safeGlobby(patterns, options) {
77
+ // Required for Windows support, as paths using \ should not be used by globby
78
+ // (also using the windows hard drive prefix like c: is not a good idea)
79
+ const globPaths = patterns.map((dirPath) => (0, pathUtils_1.posixPath)(path_1.default.relative(process.cwd(), dirPath)));
80
+ return (0, globby_1.default)(globPaths, options);
81
+ }
82
+ // A bit weird to put this here, but it's used by core + theme-translations
83
+ async function globTranslatableSourceFiles(patterns) {
84
+ // We only support extracting source code translations from these kind of files
85
+ const extensionsAllowed = new Set([
86
+ '.js',
87
+ '.jsx',
88
+ '.ts',
89
+ '.tsx',
90
+ // TODO support md/mdx too? (may be overkill)
91
+ // need to compile the MDX to JSX first and remove front matter
92
+ // '.md',
93
+ // '.mdx',
94
+ ]);
95
+ const filePaths = await safeGlobby(patterns);
96
+ return filePaths.filter((filePath) => extensionsAllowed.has(path_1.default.extname(filePath)));
97
+ }
72
98
  //# sourceMappingURL=globUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"globUtils.js","sourceRoot":"","sources":["../src/globUtils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAiCH,sCASC;AAeD,sEAwBC;;AA/ED,qEAAqE;AAErE,wDAAwB;AACxB,oEAAoC,CAAC,qCAAqC;AAC1E,2DAAmD;AACnD,0CAA0C;AAC1C,iCAAyC;AAAjC,yHAAA,OAAO,OAAU;AAEzB;;;;GAIG;AACU,QAAA,kBAAkB,GAAG;IAChC,8BAA8B;IAC9B,UAAU;IACV,2BAA2B;IAC3B,iBAAiB;CAClB,CAAC;AAIF;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAAC,QAAkB;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,iCAAiC;QACjC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;IACrB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACvE,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,6BAA6B,CAC3C,QAAkB,EAClB,WAAqB;IAErB,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAExC,SAAS,mBAAmB,CAAC,gBAAwB;QACnD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CACjD,CAAC,IAAA,wBAAS,EAAC,UAAU,EAAE,GAAG,CAAC,EAAE,IAAA,wBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACnE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAC/B,CACF,CAAC;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,oEAAoE,gBAAgB,kDAAkD,WAAW,CAAC,IAAI,CACpJ,IAAI,CACL,EAAE,CACJ,CAAC;QACJ,CAAC;QACD,OAAO,cAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,gBAAwB,EAAE,EAAE,CAClC,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"globUtils.js","sourceRoot":"","sources":["../src/globUtils.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -17,7 +17,7 @@ export { type ContentPaths, type SourceToPermalink, resolveMarkdownLinkPathname,
17
17
  export { type SluggerOptions, type Slugger, createSlugger } from './slugger';
18
18
  export { isNameTooLong, shortName, posixPath, toMessageRelativeFilePath, aliasedSitePath, aliasedSitePathToRelativePath, escapePath, addTrailingPathSeparator, } from './pathUtils';
19
19
  export { md5Hash, simpleHash, docuHash } from './hashUtils';
20
- export { Globby, GlobExcludeDefault, createMatcher, createAbsoluteFilePathMatcher, } from './globUtils';
20
+ export { Globby, GlobExcludeDefault, safeGlobby, globTranslatableSourceFiles, createMatcher, createAbsoluteFilePathMatcher, } from './globUtils';
21
21
  export { getFileLoaderUtils, getWebpackLoaderCompilerName, type WebpackCompilerName, } from './webpackUtils';
22
22
  export { escapeShellArg } from './shellUtils';
23
23
  export { loadFreshModule } from './moduleUtils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -7,7 +7,7 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.parseMarkdownContentTitle = exports.DEFAULT_PARSE_FRONT_MATTER = exports.createExcerpt = exports.admonitionTitleToDirectiveLabel = exports.unwrapMdxCodeBlocks = exports.escapeMarkdownHeadingIds = exports.parseMarkdownHeadingId = exports.getTagVisibility = exports.groupTaggedItems = exports.buildSshUrl = exports.buildHttpsUrl = exports.hasSSHProtocol = exports.serializeURLPath = exports.toURLPath = exports.parseURLOrPath = exports.parseLocalURLPath = exports.parseURLPath = exports.resolvePathname = exports.isValidPathname = exports.encodePath = exports.fileToPath = exports.getEditUrl = exports.normalizeUrl = exports.findAsyncSequential = exports.mapAsyncSequential = exports.localizePath = exports.getPluginI18nPath = exports.updateTranslationFileMessages = exports.mergeTranslations = exports.GitNotFoundError = exports.FileNotTrackedError = exports.getFileCommitDate = exports.readOutputHTMLFile = exports.generate = exports.WEBPACK_URL_LOADER_LIMIT = exports.DEFAULT_PLUGIN_ID = exports.DEFAULT_PORT = exports.CODE_TRANSLATIONS_FILE_NAME = exports.DEFAULT_I18N_DIR_NAME = exports.THEME_PATH = exports.OUTPUT_STATIC_ASSETS_DIR_NAME = exports.DEFAULT_STATIC_DIR_NAME = exports.SRC_DIR_NAME = exports.GENERATED_FILES_DIR_NAME = exports.BABEL_CONFIG_FILE_NAME = exports.DEFAULT_CONFIG_FILE_NAME = exports.DEFAULT_BUILD_DIR_NAME = exports.DOCUSAURUS_VERSION = exports.NODE_MINOR_VERSION = exports.NODE_MAJOR_VERSION = void 0;
10
- exports.reportInlineTags = exports.normalizeTags = exports.LAST_UPDATE_FALLBACK = exports.readLastUpdateData = exports.getLastUpdate = exports.getGitLastUpdate = exports.flattenRoutes = exports.askPreferredLanguage = exports.escapeRegexp = exports.isUnlisted = exports.isDraft = exports.getFolderContainingFile = exports.findFolderContainingFile = exports.getContentPathList = exports.readDataFile = exports.getDataFilePath = exports.loadFreshModule = exports.escapeShellArg = exports.getWebpackLoaderCompilerName = exports.getFileLoaderUtils = exports.createAbsoluteFilePathMatcher = exports.createMatcher = exports.GlobExcludeDefault = exports.Globby = exports.docuHash = exports.simpleHash = exports.md5Hash = exports.addTrailingPathSeparator = exports.escapePath = exports.aliasedSitePathToRelativePath = exports.aliasedSitePath = exports.toMessageRelativeFilePath = exports.posixPath = exports.shortName = exports.isNameTooLong = exports.createSlugger = exports.resolveMarkdownLinkPathname = exports.writeMarkdownHeadingId = exports.parseMarkdownFile = void 0;
10
+ exports.reportInlineTags = exports.normalizeTags = exports.LAST_UPDATE_FALLBACK = exports.readLastUpdateData = exports.getLastUpdate = exports.getGitLastUpdate = exports.flattenRoutes = exports.askPreferredLanguage = exports.escapeRegexp = exports.isUnlisted = exports.isDraft = exports.getFolderContainingFile = exports.findFolderContainingFile = exports.getContentPathList = exports.readDataFile = exports.getDataFilePath = exports.loadFreshModule = exports.escapeShellArg = exports.getWebpackLoaderCompilerName = exports.getFileLoaderUtils = exports.createAbsoluteFilePathMatcher = exports.createMatcher = exports.globTranslatableSourceFiles = exports.safeGlobby = exports.GlobExcludeDefault = exports.Globby = exports.docuHash = exports.simpleHash = exports.md5Hash = exports.addTrailingPathSeparator = exports.escapePath = exports.aliasedSitePathToRelativePath = exports.aliasedSitePath = exports.toMessageRelativeFilePath = exports.posixPath = exports.shortName = exports.isNameTooLong = exports.createSlugger = exports.resolveMarkdownLinkPathname = exports.writeMarkdownHeadingId = exports.parseMarkdownFile = void 0;
11
11
  var constants_1 = require("./constants");
12
12
  Object.defineProperty(exports, "NODE_MAJOR_VERSION", { enumerable: true, get: function () { return constants_1.NODE_MAJOR_VERSION; } });
13
13
  Object.defineProperty(exports, "NODE_MINOR_VERSION", { enumerable: true, get: function () { return constants_1.NODE_MINOR_VERSION; } });
@@ -88,6 +88,8 @@ Object.defineProperty(exports, "docuHash", { enumerable: true, get: function ()
88
88
  var globUtils_1 = require("./globUtils");
89
89
  Object.defineProperty(exports, "Globby", { enumerable: true, get: function () { return globUtils_1.Globby; } });
90
90
  Object.defineProperty(exports, "GlobExcludeDefault", { enumerable: true, get: function () { return globUtils_1.GlobExcludeDefault; } });
91
+ Object.defineProperty(exports, "safeGlobby", { enumerable: true, get: function () { return globUtils_1.safeGlobby; } });
92
+ Object.defineProperty(exports, "globTranslatableSourceFiles", { enumerable: true, get: function () { return globUtils_1.globTranslatableSourceFiles; } });
91
93
  Object.defineProperty(exports, "createMatcher", { enumerable: true, get: function () { return globUtils_1.createMatcher; } });
92
94
  Object.defineProperty(exports, "createAbsoluteFilePathMatcher", { enumerable: true, get: function () { return globUtils_1.createAbsoluteFilePathMatcher; } });
93
95
  var webpackUtils_1 = require("./webpackUtils");
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/urlUtils.d.ts CHANGED
@@ -50,7 +50,7 @@ export type URLPath = {
50
50
  export declare function toURLPath(url: URL): URLPath;
51
51
  /**
52
52
  * Let's name the concept of (pathname + search + hash) as URLPath
53
- * See also https://twitter.com/kettanaito/status/1741768992866308120
53
+ * See also https://x.com/kettanaito/status/1741768992866308120
54
54
  * Note: this function also resolves relative pathnames while parsing!
55
55
  */
56
56
  export declare function parseURLPath(urlPath: string, fromPath?: string): URLPath;
package/lib/urlUtils.js CHANGED
@@ -190,7 +190,7 @@ function toURLPath(url) {
190
190
  }
191
191
  /**
192
192
  * Let's name the concept of (pathname + search + hash) as URLPath
193
- * See also https://twitter.com/kettanaito/status/1741768992866308120
193
+ * See also https://x.com/kettanaito/status/1741768992866308120
194
194
  * Note: this function also resolves relative pathnames while parsing!
195
195
  */
196
196
  function parseURLPath(urlPath, fromPath) {
@@ -30,9 +30,8 @@ type FileLoaderUtils = {
30
30
  };
31
31
  /**
32
32
  * Returns unified loader configurations to be used for various file types.
33
- *
34
33
  * Inspired by https://github.com/gatsbyjs/gatsby/blob/8e6e021014da310b9cc7d02e58c9b3efe938c665/packages/gatsby/src/utils/webpack-utils.ts#L447
35
34
  */
36
- export declare function getFileLoaderUtils(): FileLoaderUtils;
35
+ export declare function getFileLoaderUtils(isServer: boolean): FileLoaderUtils;
37
36
  export {};
38
37
  //# sourceMappingURL=webpackUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webpackUtils.d.ts","sourceRoot":"","sources":["../src/webpackUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAC9B,mBAAmB,CAYrB;AAED,KAAK,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3D,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE;QACP,IAAI,EAAE,CAAC,OAAO,EAAE;YAAC,MAAM,EAAE,WAAW,CAAA;SAAC,KAAK,WAAW,CAAC;QACtD,GAAG,EAAE,CAAC,OAAO,EAAE;YAAC,MAAM,EAAE,WAAW,CAAA;SAAC,KAAK,WAAW,CAAC;QACrD,6BAA6B,EAAE,MAAM,CAAC;QACtC,kCAAkC,EAAE,MAAM,CAAC;QAC3C,4BAA4B,EAAE,MAAM,CAAC;KACtC,CAAC;IACF,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,WAAW,CAAC;QAC1B,KAAK,EAAE,MAAM,WAAW,CAAC;QACzB,KAAK,EAAE,MAAM,WAAW,CAAC;QACzB,GAAG,EAAE,MAAM,WAAW,CAAC;QACvB,WAAW,EAAE,MAAM,WAAW,CAAC;KAChC,CAAC;CACH,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAqHpD"}
1
+ {"version":3,"file":"webpackUtils.d.ts","sourceRoot":"","sources":["../src/webpackUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAC9B,mBAAmB,CAYrB;AAED,KAAK,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3D,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE;QACP,IAAI,EAAE,CAAC,OAAO,EAAE;YAAC,MAAM,EAAE,WAAW,CAAA;SAAC,KAAK,WAAW,CAAC;QACtD,GAAG,EAAE,CAAC,OAAO,EAAE;YAAC,MAAM,EAAE,WAAW,CAAA;SAAC,KAAK,WAAW,CAAC;QACrD,6BAA6B,EAAE,MAAM,CAAC;QACtC,kCAAkC,EAAE,MAAM,CAAC;QAC3C,4BAA4B,EAAE,MAAM,CAAC;KACtC,CAAC;IACF,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,WAAW,CAAC;QAC1B,KAAK,EAAE,MAAM,WAAW,CAAC;QACzB,KAAK,EAAE,MAAM,WAAW,CAAC;QACzB,GAAG,EAAE,MAAM,WAAW,CAAC;QACvB,WAAW,EAAE,MAAM,WAAW,CAAC;KAChC,CAAC;CACH,CAAC;AA2IF;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,eAAe,CAErE"}
@@ -23,12 +23,9 @@ function getWebpackLoaderCompilerName(context) {
23
23
  throw new Error(`Cannot get valid Docusaurus webpack compiler name. Found compilerName=${compilerName}`);
24
24
  }
25
25
  }
26
- /**
27
- * Returns unified loader configurations to be used for various file types.
28
- *
29
- * Inspired by https://github.com/gatsbyjs/gatsby/blob/8e6e021014da310b9cc7d02e58c9b3efe938c665/packages/gatsby/src/utils/webpack-utils.ts#L447
30
- */
31
- function getFileLoaderUtils() {
26
+ // TODO this historical code is quite messy
27
+ // We should try to get rid of it and move to assets pipeline
28
+ function createFileLoaderUtils({ isServer, }) {
32
29
  // Files/images < urlLoaderLimit will be inlined as base64 strings directly in
33
30
  // the html
34
31
  const urlLoaderLimit = constants_1.WEBPACK_URL_LOADER_LIMIT;
@@ -38,6 +35,7 @@ function getFileLoaderUtils() {
38
35
  loader: require.resolve(`file-loader`),
39
36
  options: {
40
37
  name: fileLoaderFileName(options.folder),
38
+ emitFile: !isServer,
41
39
  },
42
40
  }),
43
41
  url: (options) => ({
@@ -46,6 +44,7 @@ function getFileLoaderUtils() {
46
44
  limit: urlLoaderLimit,
47
45
  name: fileLoaderFileName(options.folder),
48
46
  fallback: require.resolve('file-loader'),
47
+ emitFile: !isServer,
49
48
  },
50
49
  }),
51
50
  // TODO avoid conflicts with the ideal-image plugin
@@ -53,9 +52,9 @@ function getFileLoaderUtils() {
53
52
  // Maybe with the ideal image plugin, all md images should be "ideal"?
54
53
  // This is used to force url-loader+file-loader on markdown images
55
54
  // https://webpack.js.org/concepts/loaders/#inline
56
- inlineMarkdownImageFileLoader: `!${(0, pathUtils_1.escapePath)(require.resolve('url-loader'))}?limit=${urlLoaderLimit}&name=${fileLoaderFileName('images')}&fallback=${(0, pathUtils_1.escapePath)(require.resolve('file-loader'))}!`,
57
- inlineMarkdownAssetImageFileLoader: `!${(0, pathUtils_1.escapePath)(require.resolve('file-loader'))}?name=${fileLoaderFileName('images')}!`,
58
- inlineMarkdownLinkFileLoader: `!${(0, pathUtils_1.escapePath)(require.resolve('file-loader'))}?name=${fileLoaderFileName('files')}!`,
55
+ inlineMarkdownImageFileLoader: `!${(0, pathUtils_1.escapePath)(require.resolve('url-loader'))}?limit=${urlLoaderLimit}&name=${fileLoaderFileName('images')}&fallback=${(0, pathUtils_1.escapePath)(require.resolve('file-loader'))}${isServer ? `&emitFile=false` : ''}!`,
56
+ inlineMarkdownAssetImageFileLoader: `!${(0, pathUtils_1.escapePath)(require.resolve('file-loader'))}?name=${fileLoaderFileName('images')}${isServer ? `&emitFile=false` : ''}!`,
57
+ inlineMarkdownLinkFileLoader: `!${(0, pathUtils_1.escapePath)(require.resolve('file-loader'))}?name=${fileLoaderFileName('files')}${isServer ? `&emitFile=false` : ''}!`,
59
58
  };
60
59
  const rules = {
61
60
  /**
@@ -102,7 +101,6 @@ function getFileLoaderUtils() {
102
101
  ],
103
102
  },
104
103
  titleProp: true,
105
- ref: ![path_1.default],
106
104
  },
107
105
  },
108
106
  ],
@@ -124,4 +122,15 @@ function getFileLoaderUtils() {
124
122
  };
125
123
  return { loaders, rules };
126
124
  }
125
+ const FileLoaderUtilsMap = {
126
+ server: createFileLoaderUtils({ isServer: true }),
127
+ client: createFileLoaderUtils({ isServer: false }),
128
+ };
129
+ /**
130
+ * Returns unified loader configurations to be used for various file types.
131
+ * Inspired by https://github.com/gatsbyjs/gatsby/blob/8e6e021014da310b9cc7d02e58c9b3efe938c665/packages/gatsby/src/utils/webpack-utils.ts#L447
132
+ */
133
+ function getFileLoaderUtils(isServer) {
134
+ return isServer ? FileLoaderUtilsMap.server : FileLoaderUtilsMap.client;
135
+ }
127
136
  //# sourceMappingURL=webpackUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webpackUtils.js","sourceRoot":"","sources":["../src/webpackUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webpackUtils.js","sourceRoot":"","sources":["../src/webpackUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/utils",
3
- "version": "3.5.1",
3
+ "version": "3.5.2-canary-6121",
4
4
  "description": "Node utility functions for Docusaurus packages.",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -18,8 +18,8 @@
18
18
  },
19
19
  "license": "MIT",
20
20
  "dependencies": {
21
- "@docusaurus/logger": "3.5.1",
22
- "@docusaurus/utils-common": "3.5.1",
21
+ "@docusaurus/logger": "3.5.2-canary-6121",
22
+ "@docusaurus/utils-common": "3.5.2-canary-6121",
23
23
  "@svgr/webpack": "^8.1.0",
24
24
  "escape-string-regexp": "^4.0.0",
25
25
  "file-loader": "^6.2.0",
@@ -43,7 +43,7 @@
43
43
  "node": ">=18.0"
44
44
  },
45
45
  "devDependencies": {
46
- "@docusaurus/types": "3.5.1",
46
+ "@docusaurus/types": "3.5.2-canary-6121",
47
47
  "@types/dedent": "^0.7.0",
48
48
  "@types/github-slugger": "^1.3.0",
49
49
  "@types/micromatch": "^4.0.2",
@@ -59,5 +59,5 @@
59
59
  "optional": true
60
60
  }
61
61
  },
62
- "gitHead": "5acbc57bd62f3f808ef72007cd67d4c410d13829"
62
+ "gitHead": "896e16cdd4bdd1811d287dc60ff932ca00be57e4"
63
63
  }
package/src/globUtils.ts CHANGED
@@ -10,8 +10,11 @@
10
10
  import path from 'path';
11
11
  import Micromatch from 'micromatch'; // Note: Micromatch is used by Globby
12
12
  import {addSuffix} from '@docusaurus/utils-common';
13
+ import Globby from 'globby';
14
+ import {posixPath} from './pathUtils';
15
+
13
16
  /** A re-export of the globby instance. */
14
- export {default as Globby} from 'globby';
17
+ export {Globby};
15
18
 
16
19
  /**
17
20
  * The default glob patterns we ignore when sourcing content.
@@ -85,3 +88,40 @@ export function createAbsoluteFilePathMatcher(
85
88
  return (absoluteFilePath: string) =>
86
89
  matcher(getRelativeFilePath(absoluteFilePath));
87
90
  }
91
+
92
+ // Globby that fix Windows path patterns
93
+ // See https://github.com/facebook/docusaurus/pull/4222#issuecomment-795517329
94
+ export async function safeGlobby(
95
+ patterns: string[],
96
+ options?: Globby.GlobbyOptions,
97
+ ): Promise<string[]> {
98
+ // Required for Windows support, as paths using \ should not be used by globby
99
+ // (also using the windows hard drive prefix like c: is not a good idea)
100
+ const globPaths = patterns.map((dirPath) =>
101
+ posixPath(path.relative(process.cwd(), dirPath)),
102
+ );
103
+
104
+ return Globby(globPaths, options);
105
+ }
106
+
107
+ // A bit weird to put this here, but it's used by core + theme-translations
108
+ export async function globTranslatableSourceFiles(
109
+ patterns: string[],
110
+ ): Promise<string[]> {
111
+ // We only support extracting source code translations from these kind of files
112
+ const extensionsAllowed = new Set([
113
+ '.js',
114
+ '.jsx',
115
+ '.ts',
116
+ '.tsx',
117
+ // TODO support md/mdx too? (may be overkill)
118
+ // need to compile the MDX to JSX first and remove front matter
119
+ // '.md',
120
+ // '.mdx',
121
+ ]);
122
+
123
+ const filePaths = await safeGlobby(patterns);
124
+ return filePaths.filter((filePath) =>
125
+ extensionsAllowed.has(path.extname(filePath)),
126
+ );
127
+ }
package/src/index.ts CHANGED
@@ -97,6 +97,8 @@ export {md5Hash, simpleHash, docuHash} from './hashUtils';
97
97
  export {
98
98
  Globby,
99
99
  GlobExcludeDefault,
100
+ safeGlobby,
101
+ globTranslatableSourceFiles,
100
102
  createMatcher,
101
103
  createAbsoluteFilePathMatcher,
102
104
  } from './globUtils';
package/src/urlUtils.ts CHANGED
@@ -211,7 +211,7 @@ export function toURLPath(url: URL): URLPath {
211
211
 
212
212
  /**
213
213
  * Let's name the concept of (pathname + search + hash) as URLPath
214
- * See also https://twitter.com/kettanaito/status/1741768992866308120
214
+ * See also https://x.com/kettanaito/status/1741768992866308120
215
215
  * Note: this function also resolves relative pathnames while parsing!
216
216
  */
217
217
  export function parseURLPath(urlPath: string, fromPath?: string): URLPath {
@@ -50,12 +50,13 @@ type FileLoaderUtils = {
50
50
  };
51
51
  };
52
52
 
53
- /**
54
- * Returns unified loader configurations to be used for various file types.
55
- *
56
- * Inspired by https://github.com/gatsbyjs/gatsby/blob/8e6e021014da310b9cc7d02e58c9b3efe938c665/packages/gatsby/src/utils/webpack-utils.ts#L447
57
- */
58
- export function getFileLoaderUtils(): FileLoaderUtils {
53
+ // TODO this historical code is quite messy
54
+ // We should try to get rid of it and move to assets pipeline
55
+ function createFileLoaderUtils({
56
+ isServer,
57
+ }: {
58
+ isServer: boolean;
59
+ }): FileLoaderUtils {
59
60
  // Files/images < urlLoaderLimit will be inlined as base64 strings directly in
60
61
  // the html
61
62
  const urlLoaderLimit = WEBPACK_URL_LOADER_LIMIT;
@@ -72,6 +73,7 @@ export function getFileLoaderUtils(): FileLoaderUtils {
72
73
  loader: require.resolve(`file-loader`),
73
74
  options: {
74
75
  name: fileLoaderFileName(options.folder),
76
+ emitFile: !isServer,
75
77
  },
76
78
  }),
77
79
  url: (options: {folder: AssetFolder}) => ({
@@ -80,6 +82,7 @@ export function getFileLoaderUtils(): FileLoaderUtils {
80
82
  limit: urlLoaderLimit,
81
83
  name: fileLoaderFileName(options.folder),
82
84
  fallback: require.resolve('file-loader'),
85
+ emitFile: !isServer,
83
86
  },
84
87
  }),
85
88
 
@@ -92,13 +95,19 @@ export function getFileLoaderUtils(): FileLoaderUtils {
92
95
  require.resolve('url-loader'),
93
96
  )}?limit=${urlLoaderLimit}&name=${fileLoaderFileName(
94
97
  'images',
95
- )}&fallback=${escapePath(require.resolve('file-loader'))}!`,
98
+ )}&fallback=${escapePath(require.resolve('file-loader'))}${
99
+ isServer ? `&emitFile=false` : ''
100
+ }!`,
96
101
  inlineMarkdownAssetImageFileLoader: `!${escapePath(
97
102
  require.resolve('file-loader'),
98
- )}?name=${fileLoaderFileName('images')}!`,
103
+ )}?name=${fileLoaderFileName('images')}${
104
+ isServer ? `&emitFile=false` : ''
105
+ }!`,
99
106
  inlineMarkdownLinkFileLoader: `!${escapePath(
100
107
  require.resolve('file-loader'),
101
- )}?name=${fileLoaderFileName('files')}!`,
108
+ )}?name=${fileLoaderFileName('files')}${
109
+ isServer ? `&emitFile=false` : ''
110
+ }!`,
102
111
  };
103
112
 
104
113
  const rules: FileLoaderUtils['rules'] = {
@@ -149,7 +158,6 @@ export function getFileLoaderUtils(): FileLoaderUtils {
149
158
  ],
150
159
  },
151
160
  titleProp: true,
152
- ref: ![path],
153
161
  },
154
162
  },
155
163
  ],
@@ -173,3 +181,16 @@ export function getFileLoaderUtils(): FileLoaderUtils {
173
181
 
174
182
  return {loaders, rules};
175
183
  }
184
+
185
+ const FileLoaderUtilsMap = {
186
+ server: createFileLoaderUtils({isServer: true}),
187
+ client: createFileLoaderUtils({isServer: false}),
188
+ };
189
+
190
+ /**
191
+ * Returns unified loader configurations to be used for various file types.
192
+ * Inspired by https://github.com/gatsbyjs/gatsby/blob/8e6e021014da310b9cc7d02e58c9b3efe938c665/packages/gatsby/src/utils/webpack-utils.ts#L447
193
+ */
194
+ export function getFileLoaderUtils(isServer: boolean): FileLoaderUtils {
195
+ return isServer ? FileLoaderUtilsMap.server : FileLoaderUtilsMap.client;
196
+ }