cloudflare / json-schema-tools

Packages for working with JSON Schema and JSON Hyper-Schema
BSD 3-Clause "New" or "Revised" License
321 stars 30 forks source link

Error: Cannot find module '@cloudflare/json-hyper-schema' and other start-up bumps... #15

Open busticated opened 6 years ago

busticated commented 6 years ago

hi there :wave:

i'm trying to get up and running using doca. i was able to init a local docs app:

doca init -i path/to/my/project/files/ -o ./docs
Folder docs has been created.
Importing these schemas from path/to/my/project/files/:
- manifest.json
- manifest.schema.json
Doca project files has been copied!
Customizing doca project files:
docs/schemas.js
Trying to yarn add @cloudflare/doca-default-theme for project docs...
Theme @cloudflare/doca-default-theme at docs has been successfully installed!
Setting docs theme to @cloudflare/doca-default-theme. Files changed:
docs/src/client/main.js
docs/src/server/html.js
docs/webpack/build.js

i then cd ./docs && npm i which runs fine but when i try to run the resulting app, i get Error: Cannot find module '@cloudflare/json-hyper-schema'

if i install that dependency via npm i @cloudflare/json-hyper-schema --save, i'm able to run npm run build:nojs but then the resulting app is empty - open build/index.html shows what looks like empty boilerplate.

looking at the schemas.js and getting-started.json files, i see:

>>cat ./schemas.js 
import { fromJS } from 'immutable';

export default fromJS([
  // The "getting started" schema, which is automatically added to this
  // list by the scaffolding process, provides table-of-contents links
  // for the sections in src/client/introduction.js.  You are free
  // to customize or remove both the schema and the introduction component.
  require('./getting-started.json'),

]);

and

>>cat ./getting-started.json 
{
  "id": "/getting/started",
  "title": "Getting started",
  "cfHidden": true,
  "links": [
    {
      "title": "Endpoints",
      "href": "about:endpoints"
    },
    {
      "title": "Requests",
      "href": "about:requests"
    },
    {
      "title": "Responses",
      "href": "about:responses"
    },
    {
      "title": "Resource Identifiers",
      "href": "about:identifiers"
    }
  ]
}

not sure where i went wrong but fwiw, i'm doing perhaps two things that are unexpected / not handled: 1) i'm running npm (not yarn) and 2) my data and schema are located in the same directory (manifest.json and manifest.schema.json where the former is my actual data and the later is the schema file using $schema: "http://json-schema.org/draft-07/schema#")

any pointers you could provide would be much appreciated 🙏

miguelmartin75 commented 5 years ago

I ran into this issue as well. Doing a yarn add @cloudflare/json-hyper-schema resolves it but it's a bit of an odd fix.

mbulfair commented 5 years ago

I also have run into this issue, also I am not using yarn but NPM as well.

rbuckland commented 5 years ago

@busticated buried in your issue is the following ...

2) my data and schema are located in the same directory (manifest.json and manifest.schema.json where the former is my actual data and the later is the schema file using $schema: "http://json-schema.org/draft-07/schema#")

any pointers you could provide would be much appreciated 🙏

I have created a feature (10 minutes) that allows you to pass in the **/*.schema.json so you can ignore the data files.

https://github.com/rbuckland/json-schema-tools/tree/feature/doca-glob-option I raised it specifically as #18

zhangyongjing commented 5 years ago

I ran into this issue as well. Doing a yarn add @cloudflare/json-hyper-schema resolves it but it's a bit of an odd fix.

i did the same then it works.

KyleTryon commented 4 years ago

Here to report the same. Though I am attempting to use NPM. Ended up running NPM install (which there was already a node_modules folder so I had assumed it was ran as a part of the cli), that installed quite a bit but did not resolve the issue.

Installed it manually (via npm), got new errors:

ERROR in ./getting-started.json
Module build failed: LoaderRunnerError: Module '/Users/x/Documents/GitHub/y/documentation/node_modules/@cloudflare/json-schema-apidoc-loader/lib/loader.js' is not a loader (must have normal or pitch function)
vishal62189 commented 4 years ago

Just run npm i @cloudflare/json-hyper-schema , it will resolve this issue