resources-filtering.rst 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. .. include:: ../_header.rst
  2. .. highlight:: bash
  3. Resources filtering
  4. -------------------
  5. |PhaserEditor|_ is the typical web application with a server layer and a client (browser) layer. Because the browser has no direct access to the file of the projects, the editor loads `many resources in memory <resources-caching.html>`_. For this reason, you must keep a low number of files in the project. Usually, HTML5 games need a few files, but you may include the files of third-party tools or the files of the server-side of the game.
  6. When you are running the editor in free-mode, it has a fixed number of files allowed in the project. If you are running the editor in premium-mode, the max number of files allowed per project is 1000. However, if you are working on a huge project, you can change that limit with the ``-max-number-files`` flag:
  7. .. code::
  8. $ PhaserEditor2D -max-number-files 50000
  9. `Learn more about the server options <../misc/server-options.html>`_
  10. If you cannot change the structure of your project, you can exclude files from the Phaser Editor 2D project by using ``.skip`` files. It is similar to how you can exclude files from a Git repository, using ``.gitignore`` files.
  11. You can create a ``.skip`` file in a folder of the project, and write the file name patterns you want to exclude.
  12. This is an example of a ``.skip`` file:
  13. .. code::
  14. # exclude all node_modules folders in the project.
  15. **/node_modules
  16. # exclude a single file in the current directory
  17. my-private-secret.data
  18. # exclude all files in the form @2x.png, @2x.json,...
  19. **/*@2x.*
  20. If the ``.skip`` file is empty, then the editor assumes it has a ``*`` pattern. It means, it will exclude all the folder's content. We did it that way for backward compatibility with previous versions of the editor.
  21. In addition to the ``.skip`` files you create in each project, you can edit the ``default-skip`` file that is placed in the Phaser Editor 2D install directory. The patterns defined in that file will be applied to all projects. By default, it includes the pattens to skip all files starting in a dor (``.``), all ``node_modules`` folders, and all ``__MACOSX`` files.
  22. Another way of filtering the files, is using the ``skip`` setting of the `project configuration file <../project-config.html>`_. You can set an array of "skipping rules", the same used in the ``.skip`` file:
  23. .. code::
  24. // phasereditor2d.config.json
  25. {
  26. "skip": ["my-private-secret.data", "**/*@2x.*"]
  27. }
  28. Patterns
  29. ========
  30. We use the `doublestart <https://github.com/bmatcuk/doublestar#patterns>`_ project for pattern matching. Following is a part of the documentation of that project:
  31. Special terms in the patterns:
  32. ============== ========
  33. Special Terms Meaning
  34. ============== ========
  35. ``*`` matches any sequence of non-path-separators
  36. ``**`` matches any sequence of characters, including path separators
  37. ``?`` matches any single non-path-separator character
  38. ``[class]`` matches any single non-path-separator character against a class of characters (see below)
  39. ``{alt1,...}`` matches a sequence of characters if one of the comma-separated alternatives matches
  40. ============== ========
  41. Character classes support the following:
  42. ============== ========
  43. Class Meaning
  44. ============== ========
  45. ``[abc]`` matches any single character within the set
  46. ``[a-z]`` matches any single character in the range
  47. ``[^class]`` matches any single character which does *not* match the class
  48. ============== ========