Skip to content

Basis server crashes when "b:svg" is used with empty sprite path. #23

Description

@sm0g

OS: Mac OS X El Capitan 10.11.6
Browser: Firefox 52.0.2 (64 bit)
Basis tools: 1.10.2

Steps:

  1. Use SVG sprites file explicitly: basis.resource('/app/ui/base/svg/sprites.svg').fetch().startUse();
  2. Use SVG symbol in a template: <b:svg use="#icon-calendar"/> or <b:svg src="/app/ui/base/svg/sprites.svg" use="#icon-calendar"/>
  3. Important note. basis server rewrite rule is used:
    "^/folder/(.*)$": "http://localhost:8099/index.html [P, QSA]"
  4. It works fine if use "http://localhost:8099" url but crashes in case of "http://localhost:8099/folder/123"

Please see https://github.com/sm0g/basis-server-issue as an example.

Expect to see an icon but basis server crashes. Please see logs:

path.js:7
    throw new TypeError('Path must be a string. Received ' + inspect(path));
    ^

TypeError: Path must be a string. Received null
    at assertPath (path.js:7:11)
    at Object.join (path.js:1211:7)
    at absolutePath (/usr/local/lib/node_modules/basisjs-tools/lib/server/modules/files.js:226:34)
    at Object.absolutePath (/usr/local/lib/node_modules/basisjs-tools/lib/server/modules/files.js:233:12)
    at resolvePathnameFile (/usr/local/lib/node_modules/basisjs-tools/lib/server/modules/http-server.js:193:26)
    at Object.defaultRequestHandler [as fn] (/usr/local/lib/node_modules/basisjs-tools/lib/server/modules/http-server.js:275:5)
    at processRequest (/usr/local/lib/node_modules/basisjs-tools/lib/server/modules/http-server.js:324:16)
    at next (/usr/local/lib/node_modules/basisjs-tools/lib/server/modules/http-server.js:326:9)
    at Object.virtualPathMiddleware [as fn] (/usr/local/lib/node_modules/basisjs-tools/lib/server/modules/http/virtualPath.js:37:16)
    at processRequest (/usr/local/lib/node_modules/basisjs-tools/lib/server/modules/http-server.js:324:16)

P.S.
It works normally in Chrome and IE11.
In build mode icon is just not displayed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions