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
1 change: 0 additions & 1 deletion apidom/.gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
node_modules/
/lerna-debug.log
/tree-sitter-json.wasm
.idea/
*.iml
49 changes: 36 additions & 13 deletions apidom/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 5 additions & 4 deletions apidom/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
},
"comments": {
"scripts": {
"prebuild": "We build WASM here once and copy into specific packages to avoid multiple WASM build"
"prebuild": "We build WASM directly inside node_modules"
}
},
"scripts": {
"postinstall": "npm run link-parent-bin",
"prebuild": "tree-sitter build-wasm ./node_modules/tree-sitter-json && copyfiles tree-sitter-json.wasm packages/apidom-parser-adapter-asyncapi2-0-json && copyfiles tree-sitter-json.wasm packages/apidom-parser-adapter-openapi3-1-json",
"prebuild": "cd ./node_modules/tree-sitter-json && tree-sitter generate ./grammar.js && tree-sitter build-wasm && cd ../tree-sitter-yaml && cross-env BABEL_ENV=commonjs NODE_OPTIONS='-r core-js/stable @babel/register' tree-sitter generate ./grammar.js && tree-sitter build-wasm",
"build": "lerna run build",
"lint": "lerna run lint",
"lint:fix": "lerna run lint",
Expand Down Expand Up @@ -76,7 +76,7 @@
"regenerator-runtime": "=0.13.5",
"rimraf": "=3.0.2",
"terser-webpack-plugin": "=3.0.2",
"tree-sitter-cli": "=0.16.9",
"tree-sitter-cli": "=0.17.0",
"typescript": "=3.9.3",
"webpack": "=4.43.0",
"webpack-cli": "=3.3.11"
Expand All @@ -88,6 +88,7 @@
"apidom-ns-openapi3-1": "file:packages/apidom-ns-openapi3-1",
"apidom-parser": "file:packages/apidom-parser",
"apidom-parser-adapter-asyncapi2-0-json": "file:packages/apidom-parser-adapter-asyncapi2-0-json",
"apidom-parser-adapter-openapi3-1-json": "file:packages/apidom-parser-adapter-openapi3-1-json"
"apidom-parser-adapter-openapi3-1-json": "file:packages/apidom-parser-adapter-openapi3-1-json",
"apidom-parser-adapter-openapi3-1-yaml": "file:packages/apidom-parser-adapter-openapi3-1-yaml"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,3 @@
/es
/lib
/types
/tree-sitter-json.wasm
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"build:es": "cross-env BABEL_ENV=es babel src --out-dir es --extensions '.ts' --root-mode 'upward'",
"build:commonjs": "cross-env BABEL_ENV=commonjs babel src --out-dir lib --extensions '.ts' --root-mode 'upward'",
"build:umd:browser": "npm run build:wasm && cross-env BABEL_ENV=browser webpack --config config/webpack/browser.config.js --progress",
"build:wasm": "node ./scripts/file-exists.js tree-sitter-json.wasm && exit 0 || tree-sitter build-wasm ../../node_modules/tree-sitter-json",
"build:wasm": "node ../../scripts/file-exists.js ../../node_modules/tree-sitter-json/tree-sitter-json.wasm && exit 0 || cd ../../node_modules/tree-sitter-json && tree-sitter generate ./grammar.js && tree-sitter build-wasm",
"lint": "eslint ./",
"lint:fix": "eslint ./ --fix",
"clean": "rimraf ./es ./lib ./dist tree-sitter-json.wasm",
Expand All @@ -31,11 +31,11 @@
"ramda": "=0.27.0",
"ramda-adjunct": "=2.27.0",
"stampit": "=4.3.1",
"tree-sitter": "=0.16.2",
"tree-sitter": "=0.17.0",
"tree-sitter-json": "=0.16.0",
"web-tree-sitter": "=0.16.4"
"web-tree-sitter": "=0.17.0"
},
"devDependencies": {
"tree-sitter-cli": "=0.16.9"
"tree-sitter-cli": "=0.17.0"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import './index-browser-patch';

import Parser from 'web-tree-sitter';
import * as apiDOM from 'apidom';
// @ts-ignore
import treeSitterJson from 'tree-sitter-json/tree-sitter-json.wasm';

import parse from '.';
// @ts-ignore
import treeSitterJson from '../../tree-sitter-json.wasm';

export { namespace } from './index';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,3 @@
/es
/lib
/types
/tree-sitter-json.wasm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "apidom-parser-adapter-openapi3-1-json",
"version": "0.1.0",
"description": "OpenAPI 3.1 adapter for ApiDOM parser",
"description": "OpenAPI 3.1 JSON adapter for ApiDOM parser",
"main": "lib/adapter-node.js",
"module": "es/adapter-browser.js",
"jsnext:main": "es/adapter-browser.js",
Expand All @@ -12,7 +12,7 @@
"build:es": "cross-env BABEL_ENV=es babel src --out-dir es --extensions '.ts' --root-mode 'upward'",
"build:commonjs": "cross-env BABEL_ENV=commonjs babel src --out-dir lib --extensions '.ts' --root-mode 'upward'",
"build:umd:browser": "npm run build:wasm && cross-env BABEL_ENV=browser webpack --config config/webpack/browser.config.js --progress",
"build:wasm": "node ./scripts/file-exists.js tree-sitter-json.wasm && exit 0 || tree-sitter build-wasm ../../node_modules/tree-sitter-json",
"build:wasm": "node ../../scripts/file-exists.js ../../node_modules/tree-sitter-json/tree-sitter-json.wasm && exit 0 || cd ../../node_modules/tree-sitter-json && tree-sitter generate ./grammar.js && tree-sitter build-wasm",
"lint": "eslint ./",
"lint:fix": "eslint ./ --fix",
"clean": "rimraf ./es ./lib ./dist tree-sitter-json.wasm",
Expand All @@ -31,11 +31,11 @@
"ramda": "=0.27.0",
"ramda-adjunct": "=2.27.0",
"stampit": "=4.3.1",
"tree-sitter": "=0.16.2",
"tree-sitter": "=0.17.0",
"tree-sitter-json": "=0.16.0",
"web-tree-sitter": "=0.16.4"
"web-tree-sitter": "=0.17.0"
},
"devDependencies": {
"tree-sitter-cli": "=0.16.9"
"tree-sitter-cli": "=0.17.0"
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
export const mediaTypes = [
'application/vnd.oai.openapi;version=3.1.0',
'application/vnd.oai.openapi+json;version=3.1.0',
'application/vnd.oai.openapi+yaml;version=3.1.0',
];

export const detect = (source: string): boolean =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import './index-browser-patch';

import Parser from 'web-tree-sitter';
import * as apiDOM from 'apidom';
// @ts-ignore
import treeSitterJson from 'tree-sitter-json/tree-sitter-json.wasm';

import parse from '.';
// @ts-ignore
import treeSitterJson from '../../tree-sitter-json.wasm';

export { namespace } from './index';

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/dist
/es
/lib
/types
/config
/.nyc_output
/node_modules
/**/*.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/dist
/es
/lib
/types
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
'use strict';

module.exports = {
recursive: true,
spec: 'test/**/*.ts',
require: ['test/mocha-bootstrap.js'],
};
2 changes: 2 additions & 0 deletions apidom/packages/apidom-parser-adapter-openapi3-1-yaml/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
save-prefix="="
save=false
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
'use strict';

const path = require('path');
const { nonMinimizeTrait, minimizeTrait } = require('./traits.config');

const browser = {
mode: 'production',
entry: ['./src/polyfills.ts', './src/adapter-browser.ts'],
target: 'web',
node: {
fs: 'empty',
},
performance: {
maxEntrypointSize: 712000,
maxAssetSize: 712000,
},
output: {
path: path.resolve('./dist'),
filename: 'apidom-parser-adapter-openapi3-1-yaml.browser.js',
libraryTarget: 'umd',
library: 'apidomParserAdapterOpenApi3_1Yaml',
},
resolve: {
extensions: ['.ts', '.mjs', '.js', '.json'],
},
module: {
rules: [
{
test: /\.wasm$/,
loader: 'file-loader',
type: 'javascript/auto',
},
{
test: /\.(ts|js)?$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
babelrc: true,
rootMode: 'upward',
},
},
},
],
},
...nonMinimizeTrait,
};

const browserMin = {
mode: 'production',
entry: ['./src/polyfills.ts', './src/adapter-browser.ts'],
target: 'web',
node: {
fs: 'empty',
},
output: {
path: path.resolve('./dist'),
filename: 'apidom-parser-adapter-openapi3-1-yaml.browser.min.js',
libraryTarget: 'umd',
library: 'apidomParserAdapterOpenApi3_1Yaml',
},
resolve: {
extensions: ['.ts', '.mjs', '.js', '.json'],
},
module: {
rules: [
{
test: /\.wasm$/,
loader: 'file-loader',
type: 'javascript/auto',
},
{
test: /\.(ts|js)?$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
babelrc: true,
rootMode: 'upward',
},
},
},
],
},
...minimizeTrait,
};

module.exports = [browser, browserMin];
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
'use strict';

const webpack = require('webpack');
const TerserPlugin = require('terser-webpack-plugin');

const nonMinimizeTrait = {
optimization: {
minimize: false,
usedExports: false,
concatenateModules: false,
},
};

const minimizeTrait = {
plugins: [
new webpack.LoaderOptionsPlugin({
minimize: true,
}),
],
optimization: {
minimizer: [
new TerserPlugin({
terserOptions: {
compress: {
warnings: false,
},
output: {
comments: false,
},
},
}),
],
},
};

module.exports = {
nonMinimizeTrait,
minimizeTrait,
};
Loading