diff --git a/packages/contract-console/output.js b/packages/contract-console/output.js new file mode 100644 index 0000000000000000000000000000000000000000..afc573d8358c6f65144dec30325025eb09e209af --- /dev/null +++ b/packages/contract-console/output.js @@ -0,0 +1,1209 @@ +{ + mode: 'development', + context: '/home/joel/projects/open-source/jsonql/packages/contract-console', + devtool: 'cheap-module-eval-source-map', + node: { + setImmediate: false, + dgram: 'empty', + fs: 'empty', + net: 'empty', + tls: 'empty', + child_process: 'empty' + }, + output: { + path: '/home/joel/projects/open-source/jsonql/packages/contract-console/dist', + filename: '[name].js', + publicPath: '/', + globalObject: '(typeof self !== \'undefined\' ? self : this)' + }, + resolve: { + alias: { + '@': '/home/joel/projects/open-source/jsonql/packages/contract-console/src', + vue$: 'vue/dist/vue.runtime.esm.js' + }, + extensions: [ + '.mjs', + '.js', + '.jsx', + '.vue', + '.json', + '.wasm', + '.ts', + '.tsx' + ], + modules: [ + 'node_modules', + '/home/joel/projects/open-source/jsonql/packages/contract-console/node_modules', + '/home/joel/projects/open-source/jsonql/packages/contract-console/node_modules/@vue/cli-service/node_modules' + ] + }, + resolveLoader: { + modules: [ + '/home/joel/projects/open-source/jsonql/packages/contract-console/node_modules/@vue/cli-plugin-typescript/node_modules', + '/home/joel/projects/open-source/jsonql/packages/contract-console/node_modules/@vue/cli-plugin-babel/node_modules', + 'node_modules', + '/home/joel/projects/open-source/jsonql/packages/contract-console/node_modules', + '/home/joel/projects/open-source/jsonql/packages/contract-console/node_modules/@vue/cli-service/node_modules' + ] + }, + module: { + noParse: /^(vue|vue-router|vuex|vuex-router-sync)$/, + rules: [ + /* config.module.rule('vue') */ + { + test: /\.vue$/, + use: [ + /* config.module.rule('vue').use('cache-loader') */ + { + loader: 'cache-loader', + options: { + cacheDirectory: '/home/joel/projects/open-source/jsonql/packages/contract-console/node_modules/.cache/vue-loader', + cacheIdentifier: '1255578f' + } + }, + /* config.module.rule('vue').use('vue-loader') */ + { + loader: 'vue-loader', + options: { + compilerOptions: { + preserveWhitespace: false + }, + cacheDirectory: '/home/joel/projects/open-source/jsonql/packages/contract-console/node_modules/.cache/vue-loader', + cacheIdentifier: '1255578f' + } + } + ] + }, + /* config.module.rule('images') */ + { + test: /\.(png|jpe?g|gif|webp)(\?.*)?$/, + use: [ + /* config.module.rule('images').use('url-loader') */ + { + loader: 'url-loader', + options: { + limit: 4096, + fallback: { + loader: 'file-loader', + options: { + name: 'img/[name].[hash:8].[ext]' + } + } + } + } + ] + }, + /* config.module.rule('svg') */ + { + test: /\.(svg)(\?.*)?$/, + use: [ + /* config.module.rule('svg').use('file-loader') */ + { + loader: 'file-loader', + options: { + name: 'img/[name].[hash:8].[ext]' + } + } + ] + }, + /* config.module.rule('media') */ + { + test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, + use: [ + /* config.module.rule('media').use('url-loader') */ + { + loader: 'url-loader', + options: { + limit: 4096, + fallback: { + loader: 'file-loader', + options: { + name: 'media/[name].[hash:8].[ext]' + } + } + } + } + ] + }, + /* config.module.rule('fonts') */ + { + test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/i, + use: [ + /* config.module.rule('fonts').use('url-loader') */ + { + loader: 'url-loader', + options: { + limit: 4096, + fallback: { + loader: 'file-loader', + options: { + name: 'fonts/[name].[hash:8].[ext]' + } + } + } + } + ] + }, + /* config.module.rule('pug') */ + { + test: /\.pug$/, + oneOf: [ + /* config.module.rule('pug').oneOf('pug-vue') */ + { + resourceQuery: /vue/, + use: [ + /* config.module.rule('pug').oneOf('pug-vue').use('pug-plain-loader') */ + { + loader: 'pug-plain-loader' + } + ] + }, + /* config.module.rule('pug').oneOf('pug-template') */ + { + use: [ + /* config.module.rule('pug').oneOf('pug-template').use('raw') */ + { + loader: 'raw-loader' + }, + /* config.module.rule('pug').oneOf('pug-template').use('pug-plain') */ + { + loader: 'pug-plain-loader' + } + ] + } + ] + }, + /* config.module.rule('css') */ + { + test: /\.css$/, + oneOf: [ + /* config.module.rule('css').oneOf('vue-modules') */ + { + resourceQuery: /module/, + use: [ + /* config.module.rule('css').oneOf('vue-modules').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('css').oneOf('vue-modules').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2, + modules: true, + localIdentName: '[name]_[local]_[hash:base64:5]' + } + }, + /* config.module.rule('css').oneOf('vue-modules').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('css').oneOf('vue') */ + { + resourceQuery: /\?vue/, + use: [ + /* config.module.rule('css').oneOf('vue').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('css').oneOf('vue').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('css').oneOf('vue').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('css').oneOf('normal-modules') */ + { + test: /\.module\.\w+$/, + use: [ + /* config.module.rule('css').oneOf('normal-modules').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('css').oneOf('normal-modules').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2, + modules: true, + localIdentName: '[name]_[local]_[hash:base64:5]' + } + }, + /* config.module.rule('css').oneOf('normal-modules').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('css').oneOf('normal') */ + { + use: [ + /* config.module.rule('css').oneOf('normal').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('css').oneOf('normal').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('css').oneOf('normal').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + } + ] + } + ] + }, + /* config.module.rule('postcss') */ + { + test: /\.p(ost)?css$/, + oneOf: [ + /* config.module.rule('postcss').oneOf('vue-modules') */ + { + resourceQuery: /module/, + use: [ + /* config.module.rule('postcss').oneOf('vue-modules').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('postcss').oneOf('vue-modules').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2, + modules: true, + localIdentName: '[name]_[local]_[hash:base64:5]' + } + }, + /* config.module.rule('postcss').oneOf('vue-modules').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('postcss').oneOf('vue') */ + { + resourceQuery: /\?vue/, + use: [ + /* config.module.rule('postcss').oneOf('vue').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('postcss').oneOf('vue').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('postcss').oneOf('vue').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('postcss').oneOf('normal-modules') */ + { + test: /\.module\.\w+$/, + use: [ + /* config.module.rule('postcss').oneOf('normal-modules').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('postcss').oneOf('normal-modules').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2, + modules: true, + localIdentName: '[name]_[local]_[hash:base64:5]' + } + }, + /* config.module.rule('postcss').oneOf('normal-modules').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('postcss').oneOf('normal') */ + { + use: [ + /* config.module.rule('postcss').oneOf('normal').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('postcss').oneOf('normal').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('postcss').oneOf('normal').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + } + ] + } + ] + }, + /* config.module.rule('scss') */ + { + test: /\.scss$/, + oneOf: [ + /* config.module.rule('scss').oneOf('vue-modules') */ + { + resourceQuery: /module/, + use: [ + /* config.module.rule('scss').oneOf('vue-modules').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('scss').oneOf('vue-modules').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2, + modules: true, + localIdentName: '[name]_[local]_[hash:base64:5]' + } + }, + /* config.module.rule('scss').oneOf('vue-modules').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('scss').oneOf('vue-modules').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('scss').oneOf('vue') */ + { + resourceQuery: /\?vue/, + use: [ + /* config.module.rule('scss').oneOf('vue').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('scss').oneOf('vue').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('scss').oneOf('vue').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('scss').oneOf('vue').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('scss').oneOf('normal-modules') */ + { + test: /\.module\.\w+$/, + use: [ + /* config.module.rule('scss').oneOf('normal-modules').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('scss').oneOf('normal-modules').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2, + modules: true, + localIdentName: '[name]_[local]_[hash:base64:5]' + } + }, + /* config.module.rule('scss').oneOf('normal-modules').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('scss').oneOf('normal-modules').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('scss').oneOf('normal') */ + { + use: [ + /* config.module.rule('scss').oneOf('normal').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('scss').oneOf('normal').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('scss').oneOf('normal').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('scss').oneOf('normal').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false + } + } + ] + } + ] + }, + /* config.module.rule('sass') */ + { + test: /\.sass$/, + oneOf: [ + /* config.module.rule('sass').oneOf('vue-modules') */ + { + resourceQuery: /module/, + use: [ + /* config.module.rule('sass').oneOf('vue-modules').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('sass').oneOf('vue-modules').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2, + modules: true, + localIdentName: '[name]_[local]_[hash:base64:5]' + } + }, + /* config.module.rule('sass').oneOf('vue-modules').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('sass').oneOf('vue-modules').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false, + indentedSyntax: true + } + } + ] + }, + /* config.module.rule('sass').oneOf('vue') */ + { + resourceQuery: /\?vue/, + use: [ + /* config.module.rule('sass').oneOf('vue').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('sass').oneOf('vue').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('sass').oneOf('vue').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('sass').oneOf('vue').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false, + indentedSyntax: true + } + } + ] + }, + /* config.module.rule('sass').oneOf('normal-modules') */ + { + test: /\.module\.\w+$/, + use: [ + /* config.module.rule('sass').oneOf('normal-modules').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('sass').oneOf('normal-modules').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2, + modules: true, + localIdentName: '[name]_[local]_[hash:base64:5]' + } + }, + /* config.module.rule('sass').oneOf('normal-modules').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('sass').oneOf('normal-modules').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false, + indentedSyntax: true + } + } + ] + }, + /* config.module.rule('sass').oneOf('normal') */ + { + use: [ + /* config.module.rule('sass').oneOf('normal').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('sass').oneOf('normal').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('sass').oneOf('normal').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('sass').oneOf('normal').use('sass-loader') */ + { + loader: 'sass-loader', + options: { + sourceMap: false, + indentedSyntax: true + } + } + ] + } + ] + }, + /* config.module.rule('less') */ + { + test: /\.less$/, + oneOf: [ + /* config.module.rule('less').oneOf('vue-modules') */ + { + resourceQuery: /module/, + use: [ + /* config.module.rule('less').oneOf('vue-modules').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('less').oneOf('vue-modules').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2, + modules: true, + localIdentName: '[name]_[local]_[hash:base64:5]' + } + }, + /* config.module.rule('less').oneOf('vue-modules').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('less').oneOf('vue-modules').use('less-loader') */ + { + loader: 'less-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('less').oneOf('vue') */ + { + resourceQuery: /\?vue/, + use: [ + /* config.module.rule('less').oneOf('vue').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('less').oneOf('vue').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('less').oneOf('vue').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('less').oneOf('vue').use('less-loader') */ + { + loader: 'less-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('less').oneOf('normal-modules') */ + { + test: /\.module\.\w+$/, + use: [ + /* config.module.rule('less').oneOf('normal-modules').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('less').oneOf('normal-modules').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2, + modules: true, + localIdentName: '[name]_[local]_[hash:base64:5]' + } + }, + /* config.module.rule('less').oneOf('normal-modules').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('less').oneOf('normal-modules').use('less-loader') */ + { + loader: 'less-loader', + options: { + sourceMap: false + } + } + ] + }, + /* config.module.rule('less').oneOf('normal') */ + { + use: [ + /* config.module.rule('less').oneOf('normal').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('less').oneOf('normal').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('less').oneOf('normal').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('less').oneOf('normal').use('less-loader') */ + { + loader: 'less-loader', + options: { + sourceMap: false + } + } + ] + } + ] + }, + /* config.module.rule('stylus') */ + { + test: /\.styl(us)?$/, + oneOf: [ + /* config.module.rule('stylus').oneOf('vue-modules') */ + { + resourceQuery: /module/, + use: [ + /* config.module.rule('stylus').oneOf('vue-modules').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('stylus').oneOf('vue-modules').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2, + modules: true, + localIdentName: '[name]_[local]_[hash:base64:5]' + } + }, + /* config.module.rule('stylus').oneOf('vue-modules').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('stylus').oneOf('vue-modules').use('stylus-loader') */ + { + loader: 'stylus-loader', + options: { + sourceMap: false, + preferPathResolver: 'webpack' + } + } + ] + }, + /* config.module.rule('stylus').oneOf('vue') */ + { + resourceQuery: /\?vue/, + use: [ + /* config.module.rule('stylus').oneOf('vue').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('stylus').oneOf('vue').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('stylus').oneOf('vue').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('stylus').oneOf('vue').use('stylus-loader') */ + { + loader: 'stylus-loader', + options: { + sourceMap: false, + preferPathResolver: 'webpack' + } + } + ] + }, + /* config.module.rule('stylus').oneOf('normal-modules') */ + { + test: /\.module\.\w+$/, + use: [ + /* config.module.rule('stylus').oneOf('normal-modules').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('stylus').oneOf('normal-modules').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2, + modules: true, + localIdentName: '[name]_[local]_[hash:base64:5]' + } + }, + /* config.module.rule('stylus').oneOf('normal-modules').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('stylus').oneOf('normal-modules').use('stylus-loader') */ + { + loader: 'stylus-loader', + options: { + sourceMap: false, + preferPathResolver: 'webpack' + } + } + ] + }, + /* config.module.rule('stylus').oneOf('normal') */ + { + use: [ + /* config.module.rule('stylus').oneOf('normal').use('vue-style-loader') */ + { + loader: 'vue-style-loader', + options: { + sourceMap: false, + shadowMode: false + } + }, + /* config.module.rule('stylus').oneOf('normal').use('css-loader') */ + { + loader: 'css-loader', + options: { + sourceMap: false, + importLoaders: 2 + } + }, + /* config.module.rule('stylus').oneOf('normal').use('postcss-loader') */ + { + loader: 'postcss-loader', + options: { + sourceMap: false + } + }, + /* config.module.rule('stylus').oneOf('normal').use('stylus-loader') */ + { + loader: 'stylus-loader', + options: { + sourceMap: false, + preferPathResolver: 'webpack' + } + } + ] + } + ] + }, + /* config.module.rule('js') */ + { + test: /\.m?jsx?$/, + exclude: [ + function () { /* omitted long function */ } + ], + use: [ + /* config.module.rule('js').use('cache-loader') */ + { + loader: 'cache-loader', + options: { + cacheDirectory: '/home/joel/projects/open-source/jsonql/packages/contract-console/node_modules/.cache/babel-loader', + cacheIdentifier: '2835135d' + } + }, + /* config.module.rule('js').use('babel-loader') */ + { + loader: 'babel-loader' + } + ] + }, + /* config.module.rule('ts') */ + { + test: /\.ts$/, + use: [ + /* config.module.rule('ts').use('cache-loader') */ + { + loader: 'cache-loader', + options: { + cacheDirectory: '/home/joel/projects/open-source/jsonql/packages/contract-console/node_modules/.cache/ts-loader', + cacheIdentifier: '79086cb7' + } + }, + /* config.module.rule('ts').use('babel-loader') */ + { + loader: 'babel-loader' + }, + /* config.module.rule('ts').use('ts-loader') */ + { + loader: 'ts-loader', + options: { + transpileOnly: true, + appendTsSuffixTo: [ + '\\.vue$' + ], + happyPackMode: false + } + } + ] + }, + /* config.module.rule('tsx') */ + { + test: /\.tsx$/, + use: [ + /* config.module.rule('tsx').use('cache-loader') */ + { + loader: 'cache-loader', + options: { + cacheDirectory: '/home/joel/projects/open-source/jsonql/packages/contract-console/node_modules/.cache/ts-loader', + cacheIdentifier: '79086cb7' + } + }, + /* config.module.rule('tsx').use('babel-loader') */ + { + loader: 'babel-loader' + }, + /* config.module.rule('tsx').use('ts-loader') */ + { + loader: 'ts-loader', + options: { + transpileOnly: true, + happyPackMode: false, + appendTsxSuffixTo: [ + '\\.vue$' + ] + } + } + ] + } + ] + }, + plugins: [ + /* config.plugin('vue-loader') */ + new VueLoaderPlugin(), + /* config.plugin('define') */ + new DefinePlugin( + { + 'process.env': { + NODE_ENV: '"development"', + BASE_URL: '"/"' + } + } + ), + /* config.plugin('case-sensitive-paths') */ + new CaseSensitivePathsPlugin(), + /* config.plugin('friendly-errors') */ + new FriendlyErrorsWebpackPlugin( + { + additionalTransformers: [ + function () { /* omitted long function */ } + ], + additionalFormatters: [ + function () { /* omitted long function */ } + ] + } + ), + /* config.plugin('hmr') */ + new HotModuleReplacementPlugin(), + /* config.plugin('progress') */ + new ProgressPlugin(), + /* config.plugin('html') */ + new HtmlWebpackPlugin( + { + templateParameters: function () { /* omitted long function */ }, + template: '/home/joel/projects/open-source/jsonql/packages/contract-console/public/index.html' + } + ), + /* config.plugin('preload') */ + new PreloadPlugin( + { + rel: 'preload', + include: 'initial', + fileBlacklist: [ + /\.map$/, + /hot-update\.js$/ + ] + } + ), + /* config.plugin('prefetch') */ + new PreloadPlugin( + { + rel: 'prefetch', + include: 'asyncChunks' + } + ), + /* config.plugin('copy') */ + new CopyWebpackPlugin( + [ + { + from: '/home/joel/projects/open-source/jsonql/packages/contract-console/public', + to: '/home/joel/projects/open-source/jsonql/packages/contract-console/dist', + toType: 'dir', + ignore: [ + '.DS_Store' + ] + } + ] + ), + /* config.plugin('fork-ts-checker') */ + new ForkTsCheckerWebpackPlugin( + { + vue: true, + tslint: false, + formatter: 'codeframe', + checkSyntacticErrors: false + } + ) + ], + entry: { + app: [ + './src/main.ts' + ] + } +} diff --git a/packages/contract-console/package.json b/packages/contract-console/package.json index 1b5fa0b49819755463b2d8741460f599a26876cc..10d7ebe0fc455c95f8d502f6ec5ab5515dd1e4b1 100644 --- a/packages/contract-console/package.json +++ b/packages/contract-console/package.json @@ -29,9 +29,9 @@ "@vue/cli-service": "^3.9.3", "@vue/test-utils": "1.0.0-beta.29", "chai": "^4.2.0", - "jsonql-client": "^1.2.3", + "jsonql-client": "^1.2.4", "jsonql-koa": "^1.3.3", - "lint-staged": "^9.2.0", + "lint-staged": "^9.2.1", "server-io-core": "^1.2.0-beta.2", "typescript": "^3.5.3", "vue-template-compiler": "^2.6.10" diff --git a/packages/contract-console/src/plugin/jsonql.ts b/packages/contract-console/src/plugin/jsonql.ts new file mode 100644 index 0000000000000000000000000000000000000000..8cd28cb7a224c3c23e76999934ff186240f79e86 --- /dev/null +++ b/packages/contract-console/src/plugin/jsonql.ts @@ -0,0 +1,8 @@ + +import Fly from 'flyio/dist/npm' + +export default { + install(Vue: Vue, options: any) { + + } +} diff --git a/packages/koa/package.json b/packages/koa/package.json index b5012dd1522cbbcd8f0b0cb0ec2cdeb8f837e004..ed9c8041a441d5f186dc135f7fe1cc89ffcac4fa 100755 --- a/packages/koa/package.json +++ b/packages/koa/package.json @@ -1,6 +1,6 @@ { "name": "jsonql-koa", - "version": "1.3.3", + "version": "1.3.4", "description": "jsonql Koa middleware", "main": "index.js", "files": [ @@ -47,7 +47,7 @@ "koa": "^2.7.0", "koa-compose": "^4.1.0", "lodash": "^4.17.15", - "node-cache": "^4.2.0" + "node-cache": "^4.2.1" }, "author": "to1source ", "contributors": [ diff --git a/packages/koa/src/lib/config-check/index.js b/packages/koa/src/lib/config-check/index.js index e6fd6ccd28547cb4b65bcbd5b24be2f931622e89..bf6674dd64fcdf6ede45bcd04229c1928346bf15 100644 --- a/packages/koa/src/lib/config-check/index.js +++ b/packages/koa/src/lib/config-check/index.js @@ -22,10 +22,23 @@ const applyAuthOptions = function(config) { const { contract } = config; if (isContractJson(contract)) { config.contract = contract; + // @ 1.3.4 + if (config.withPublicContract) { + getContract(config, true) + } } else { // this will pass a Promise then resolve inside the middleware config.initContract = getContract(config) + .then(contract => { + // @ 1.3.4 + if (config.withPublicContract) { + getContract(config, true) + } + return contract; + }) } + + if (config.enableAuth && config.useJwt && !isString(config.useJwt)) { const { keysDir, publicKeyFileName, privateKeyFileName } = config; const publicKeyPath = join(keysDir, publicKeyFileName) diff --git a/packages/koa/src/lib/config-check/options.js b/packages/koa/src/lib/config-check/options.js index 83ec90342413413bad291658160ff4582141ac42..c8193e1500dccb5c2ff5bc96d5207f856185d9f0 100755 --- a/packages/koa/src/lib/config-check/options.js +++ b/packages/koa/src/lib/config-check/options.js @@ -62,6 +62,8 @@ const appProps = { enableJsonp: createConfig(false, [BOOLEAN_TYPE]), // show or hide the description field in the public contract contractWithDesc: createConfig(false, [BOOLEAN_TYPE]), + // @1.3.4 whenever generate a contract will generate the public contract as well + withPublicContract: createConfig(true, [BOOLEAN_TYPE]), keysDir: createConfig(join(dirname, DEFAULT_KEYS_DIR), [STRING_TYPE]), publicKeyFileName: createConfig(DEFAULT_PUBLIC_KEY_FILE, [STRING_TYPE]), privateKeyFileName: createConfig(DEFAULT_PRIVATE_KEY_FILE, [STRING_TYPE]), diff --git a/packages/koa/src/lib/contract-generator/contract-generator.js b/packages/koa/src/lib/contract-generator/contract-generator.js index ccda917dc4b7559f01206e340f3765441c64bab0..364b4c60f5c69a485afb4db7839dea0b9c642f4b 100755 --- a/packages/koa/src/lib/contract-generator/contract-generator.js +++ b/packages/koa/src/lib/contract-generator/contract-generator.js @@ -21,7 +21,7 @@ const readContract = function(contractDir, pub) { return fsx.readJsonSync(file) } return false; -}; +} /** * contract create handler diff --git a/packages/koa/tests/koa.test.js b/packages/koa/tests/koa.test.js index 7fa9f34acfa12a274b217c05cba76985ac6ea59c..037f90b9512c8b7cf3bf295ff8e408a9fb97e3b0 100755 --- a/packages/koa/tests/koa.test.js +++ b/packages/koa/tests/koa.test.js @@ -1,5 +1,6 @@ const test = require('ava') +const { SHOW_CONTRACT_DESC_PARAM } = require('jsonql-constants') const superkoa = require('superkoa') const { join } = require('path') const debug = require('debug')('jsonql-koa:test:koa') @@ -11,8 +12,17 @@ const { resolverDir, contractDir } = dirs; const createServer = require('./helpers/server') const dir = 'standard'; -test.before((t) => { - t.context.app = createServer({}, dir) +const makeServer = function() { + return new Promise(resolver => { + const app = createServer({}, dir) + setTimeout(() => { + resolver(app) + }, 5000) + }) +} + +test.before( async (t) => { + t.context.app = await makeServer() }) test.after( () => { @@ -21,6 +31,15 @@ test.after( () => { }) // start test +// @1.3.4 test if there is a public / private contract generated +test('It should create a contract and a public contract file at the same time', t => { + + const cd = join(contractDir, dir) + + t.truthy( fsx.existsSync(join(cd, 'contract.json')) ) + t.truthy( fsx.existsSync(join(cd, 'public-contract.json')) ) + +}) test("Hello world test", async t => { let res = await superkoa(t.context.app) @@ -49,6 +68,7 @@ test("It should return a public contract with helloWorld", async (t) => { t.falsy(contract.query.helloWorld.description) }) + // start test test('It should return json object',async (t) => { let res = await superkoa(t.context.app) @@ -88,13 +108,17 @@ test("It should able see a dummy web console page", async t => { t.is(200, res.status) }) -test("It should return a contract file without the description field", async t => { +// for some reason if I run this as standalone then it works but run with other with +// the new test with both contract created failed +test.only("It should return a contract file without the description field", async t => { let res = await superkoa(t.context.app) .get('/jsonql') - .query({ desc: 'y' }) + .query(SHOW_CONTRACT_DESC_PARAM) .set(headers) let contract = res.body.data; + debug(SHOW_CONTRACT_DESC_PARAM, contract.query) + t.truthy(contract.query.helloWorld.description) })