Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions packages/apidom-playground/scripts/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,6 @@ process.chdir(path.join(__dirname, '..'));
const build = rewire('react-scripts/scripts/build.js');
const config = build.__get__('config');

// externals
config.externals = {
...config.externals,
'node:fs': '{}',
'node:util': '{}',
};

// fallbacks
config.resolve.fallback = {
...config.resolve.fallback,
Expand Down
7 changes: 0 additions & 7 deletions packages/apidom-playground/scripts/start.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,6 @@ const configFactory = start.__get__('configFactory');
const configFactoryMock = (webpackEnv) => {
const config = configFactory(webpackEnv);

// externals
config.externals = {
...config.externals,
'node:fs': '{}',
'node:util': '{}',
};

// fallbacks
config.resolve.fallback = {
...config.resolve.fallback,
Expand Down
27 changes: 16 additions & 11 deletions packages/apidom-reference/config/webpack/browser.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,6 @@ const browser = {
libraryTarget: 'umd',
library: 'apidomReference',
},
externals: {
'node:fs': '{}',
'node:util': '{}',
},
resolve: {
extensions: ['.ts', '.mjs', '.js', '.json'],
fallback: {
Expand Down Expand Up @@ -61,16 +57,11 @@ const browserMin = {
libraryTarget: 'umd',
library: 'apidomReference',
},
externals: {
'node:fs': '{}',
'node:util': '{}',
},
resolve: {
extensions: ['.ts', '.mjs', '.js', '.json'],
fallback: {
fs: false,
path: false,
util: false,
},
},
module: {
Expand Down Expand Up @@ -110,7 +101,21 @@ const binaryParserReplacer = new webpack.NormalModuleReplacementPlugin(
),
);

browser.plugins.push(binaryParserReplacer);
browserMin.plugins.push(binaryParserReplacer);
const fileResolverReplacer = new webpack.NormalModuleReplacementPlugin(
/resolve\/resolvers\/FileResolver\/index-node\.ts/,
path.join(
path.dirname(fileURLToPath(import.meta.url)),
'..',
'..',
'src',
'resolve',
'resolvers',
'FileResolver',
'index-browser.ts',
),
);

browser.plugins.push(binaryParserReplacer, fileResolverReplacer);
browserMin.plugins.push(binaryParserReplacer, fileResolverReplacer);

export default [browser];
4 changes: 3 additions & 1 deletion packages/apidom-reference/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@
"main": "./cjs/index.cjs",
"browser": {
"./es/parse/parsers/apidom-reference-parser-binary/index-node.js": "./es/parse/parsers/apidom-reference-parser-binary/index-browser.js",
"./cjs/parse/parsers/apidom-reference-parser-binary/index-node.cjs": "./cjs/parse/parsers/apidom-reference-parser-binary/index-browser.cjs"
"./cjs/parse/parsers/apidom-reference-parser-binary/index-node.cjs": "./cjs/parse/parsers/apidom-reference-parser-binary/index-browser.cjs",
"./cjs/resolve/resolvers/FileResolver/index-node.cjs": "./cjs/resolve/resolvers/FileResolver/index-browser.cjs",
"./es/resolve/resolvers/FileResolver/index-node.js": "./es/resolve/resolvers/FileResolver/index-browser.js"
},
"exports": {
"import": "./es/index.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/apidom-reference/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ export { default as JsonParser } from './parse/parsers/apidom-reference-parser-j
export { default as YamlParser } from './parse/parsers/apidom-reference-parser-yaml-1-2';
export { default as BinaryParser } from './parse/parsers/apidom-reference-parser-binary/index-node';

export { default as FileResolver } from './resolve/resolvers/FileResolver';
export { default as FileResolver } from './resolve/resolvers/FileResolver/index-node';
export { default as HttpResolverAxios } from './resolve/resolvers/HttpResolverAxios';
export { default as HttpResolver } from './resolve/resolvers/HttpResolver';
export { default as Resolver } from './resolve/resolvers/Resolver';
Expand Down
2 changes: 1 addition & 1 deletion packages/apidom-reference/src/options/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import FileResolver from '../resolve/resolvers/FileResolver';
import FileResolver from '../resolve/resolvers/FileResolver/index-node';
import HttpResolverAxios from '../resolve/resolvers/HttpResolverAxios';
import OpenApi3_1ResolveStrategy from '../resolve/strategies/openapi-3-1';
import AsyncApi2ResolveStrategy from '../resolve/strategies/asyncapi-2';
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import stampit from 'stampit';

import { Resolver as IResolver } from '../../../types';
import Resolver from '../Resolver';
import { ResolverError } from '../../../util/errors';

const FileResolver: stampit.Stamp<IResolver> = stampit(Resolver, {
init() {
this.name = 'file';
},
methods: {
canRead(): boolean {
return false;
},
async read(): Promise<Buffer> {
throw new ResolverError('FileResolver is not intended to be used in browser context.');
},
},
});

export default FileResolver;
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import { readFile } from 'node:fs';
import { promisify } from 'node:util';
import stampit from 'stampit';

import { Resolver as IResolver, File as IFile } from '../../types';
import Resolver from './Resolver';
import { isFileSystemPath, toFileSystemPath } from '../../util/url';
import { ResolverError } from '../../util/errors';
import { Resolver as IResolver, File as IFile } from '../../../types';
import Resolver from '../Resolver';
import { isFileSystemPath, toFileSystemPath } from '../../../util/url';
import { ResolverError } from '../../../util/errors';

const FileResolver: stampit.Stamp<IResolver> = stampit(Resolver, {
init() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import path from 'node:path';
import { assert } from 'chai';

import FileResolver from '../../../src/resolve/resolvers/FileResolver';
import FileResolver from '../../../src/resolve/resolvers/FileResolver/index-node';
import { ResolverError } from '../../../src/util/errors';
import File from '../../../src/util/File';

Expand Down