Skip to content

Installing Twig Engine on new project causes errors on npm run patternlab build #895

@hdwebpros

Description

@hdwebpros

I am using Patternlab [email protected] on Windows, with Node 9.9.0, using a Vanilla Edition.

Expected Behavior

npm run patternlab build turns .twig files into public twig patterns without error

Actual Behavior

Seems like for each pattern you get:
(node:11932) [DEP0013] DeprecationWarning: Calling an asynchronous function without callback is deprecated.
and then

{ Error: Command failed: php C:\websites\fail3\node_modules\exec-php\lib\php\cli.php -pC:\Users\RYANBO~1\AppData\Local\Temp\tmp-11932tjn5me1.m9qf.tmp -rC:\Users\RYANBO~1\AppData\Local\Temp\tmp-11932tus7wsp.18ge.tmp
PHP Fatal error:  Uncaught Twig_Error_Loader: The "..\..\..\..\source\_patterns" directory does not exist ("C:\websites\fail3\node_modules\node-twig\php\..\..\..\..\source\_patterns"). in C:\websites\fail3\node_modules\node-twig\php\vendor\twig\twig\lib\Twig\Loader\Filesystem.php:101
Stack trace:
#0 C:\websites\fail3\node_modules\node-twig\php\vendor\twig\twig\lib\Twig\Loader\Filesystem.php(82): Twig_Loader_Filesystem->addPath('..\\..\\..\\..\\sou...', '__main__')
#1 C:\websites\fail3\node_modules\node-twig\php\vendor\twig\twig\lib\Twig\Loader\Filesystem.php(40): Twig_Loader_Filesystem->setPaths(Array)
#2 C:\websites\fail3\node_modules\node-twig\php\Twig.php(80): Twig_Loader_Filesystem->__construct('..\\..\\..\\..\\sou...')
#3 C:\websites\fail3\node_modules\exec-php\lib\php\functions.php(28): render('02-pages\\00-gen...', Array)
#4 C:\websites\fail3\node_modules\exec-php\lib\php\cli.php(14): _exec_php_call_user_function('C:\\websites\\fai...', 'render', Array)
#5 {main}
  thrown in C:\websites\fail3\node_modules\node-twig\php\vendor\twig\twig\lib\Twig\Loader\Filesystem.php on line 101

    at ChildProcess.exithandler (child_process.js:273:12)
    at ChildProcess.emit (events.js:180:13)
    at maybeClose (internal/child_process.js:936:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
  killed: false,
  code: 255,
  signal: null,
  cmd: 'php C:\\websites\\fail3\\node_modules\\exec-php\\lib\\php\\cli.php -pC:\\Users\\RYANBO~1\\AppData\\Local\\Temp\\tmp-11932tjn5me1.m9qf.tmp -rC:\\Users\\RYANBO~1\\AppData\\Local\\Temp\\tmp-11932tus7wsp.18ge.tmp' }
undefined

sidenote this happens on the initial npm run patternlab build. If you run it after the error, it says patternlab → build: Yay, your Pattern Lab project was successfully built ☺ but the patterns within public still show only the text "undefined". Example location public/patterns/00-test-00-testpattern/00-test-00-testpattern.markup-only.html

Steps to Reproduce

*In Windows, go to a blank folder via cmd
*Run npm init -y && npx @pattern-lab/cli -c patternlab init (this issue works through how you can even do that if you have npx/npm cache issues)
*Since the starterkit doesn't allow you to choose an engine... run npm install @pattern-lab/engine-twig
*Edit your package.json and include "patternlab": "patternlab" within the scripts section
*Create a twig pattern
*Create a folder within source called fonts since the build looks for that. (I may submit another issue around that)
*Run npm run patternlab build

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