Closed foldedcascode closed 3 years ago
same version of node and nvm as the last successful travis build:
[cascode@dppdtt summaly]$ node --version v7.5.0 [cascode@dppdtt summaly]$ npm --version 4.1.2 [cascode@dppdtt summaly]$ nvm --version 0.38.0 [cascode@dppdtt summaly]$ npm install npm WARN deprecated request-promise-native@1.0.7: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 npm WARN deprecated request@2.88.0: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm WARN deprecated @types/form-data@2.5.0: This is a stub types definition. form-data provides its own type definitions, so you do not need this installed. npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.) summaly@2.4.0 /home/cascode/projects/summaly ├── @types/debug@0.0.30 ├─┬ @types/express@4.16.0 │ ├─┬ @types/body-parser@1.19.0 │ │ └── @types/connect@3.4.34 │ ├─┬ @types/express-serve-static-core@4.17.19 │ │ ├── @types/qs@6.9.6 │ │ └── @types/range-parser@1.2.3 │ └─┬ @types/serve-static@1.13.9 │ └── @types/mime@1.3.2 ├── @types/html-entities@1.2.16 ├── @types/mocha@5.2.2 ├── @types/node@10.3.4 ├─┬ @types/request@2.47.1 │ ├── @types/caseless@0.12.2 │ ├── @types/form-data@2.5.0 │ └── @types/tough-cookie@4.0.0 ├── @types/request-promise-native@1.0.15 ├─┬ cheerio-httpcli@0.7.4 │ ├─┬ @types/cheerio@0.22.28 │ │ └── @types/node@14.14.37 │ ├─┬ async@2.6.3 │ │ └── lodash@4.17.21 │ ├─┬ cheerio@0.22.0 │ │ ├─┬ css-select@1.2.0 │ │ │ ├── boolbase@1.0.0 │ │ │ ├── css-what@2.1.3 │ │ │ ├── domutils@1.5.1 │ │ │ └── nth-check@1.0.2 │ │ ├─┬ dom-serializer@0.1.1 │ │ │ └── domelementtype@1.3.1 │ │ ├── entities@1.1.2 │ │ ├─┬ htmlparser2@3.10.1 │ │ │ ├── domhandler@2.4.2 │ │ │ └─┬ readable-stream@3.6.0 │ │ │ ├── string_decoder@1.3.0 │ │ │ └── util-deprecate@1.0.2 │ │ ├── lodash.assignin@4.2.0 │ │ ├── lodash.bind@4.2.1 │ │ ├── lodash.defaults@4.2.0 │ │ ├── lodash.filter@4.6.0 │ │ ├── lodash.flatten@4.4.0 │ │ ├── lodash.foreach@4.5.0 │ │ ├── lodash.map@4.6.0 │ │ ├── lodash.merge@4.6.2 │ │ ├── lodash.pick@4.4.0 │ │ ├── lodash.reduce@4.6.0 │ │ ├── lodash.reject@4.6.0 │ │ └── lodash.some@4.6.0 │ ├── colors@1.4.0 │ ├── foreach@2.0.5 │ ├── he@1.2.0 │ ├─┬ iconv-lite@0.4.24 │ │ └── safer-buffer@2.1.2 │ ├─┬ import-fresh@3.3.0 │ │ ├─┬ parent-module@1.0.1 │ │ │ └── callsites@3.1.0 │ │ └── resolve-from@4.0.0 │ ├── jschardet@2.3.0 │ ├── object-assign@4.1.1 │ ├─┬ os-locale@3.1.0 │ │ ├─┬ execa@1.0.0 │ │ │ ├─┬ cross-spawn@6.0.5 │ │ │ │ ├── nice-try@1.0.5 │ │ │ │ ├── path-key@2.0.1 │ │ │ │ ├── semver@5.7.1 │ │ │ │ ├─┬ shebang-command@1.2.0 │ │ │ │ │ └── shebang-regex@1.0.0 │ │ │ │ └─┬ which@1.3.1 │ │ │ │ └── isexe@2.0.0 │ │ │ ├─┬ get-stream@4.1.0 │ │ │ │ └─┬ pump@3.0.0 │ │ │ │ └── end-of-stream@1.4.4 │ │ │ ├── is-stream@1.1.0 │ │ │ ├── npm-run-path@2.0.2 │ │ │ ├── p-finally@1.0.0 │ │ │ ├── signal-exit@3.0.3 │ │ │ └── strip-eof@1.0.0 │ │ ├─┬ lcid@2.0.0 │ │ │ └── invert-kv@2.0.0 │ │ └─┬ mem@4.3.0 │ │ ├─┬ map-age-cleaner@0.1.3 │ │ │ └── p-defer@1.0.0 │ │ ├── mimic-fn@2.1.0 │ │ └── p-is-promise@2.1.0 │ ├─┬ prettyjson@1.2.1 │ │ └── minimist@1.2.5 │ ├── rsvp@4.8.5 │ ├── spawn-sync@2.0.0 │ ├─┬ tough-cookie@3.0.1 │ │ ├── ip-regex@2.1.0 │ │ ├── psl@1.8.0 │ │ └── punycode@2.1.1 │ ├── type-of@2.0.1 │ └── valid-url@1.0.9 ├─┬ debug@3.1.0 │ └── ms@2.0.0 ├── escape-regexp@0.0.1 ├─┬ express@4.16.3 │ ├─┬ accepts@1.3.7 │ │ └── negotiator@0.6.2 │ ├── array-flatten@1.1.1 │ ├─┬ body-parser@1.18.2 │ │ ├── bytes@3.0.0 │ │ ├── debug@2.6.9 │ │ ├─┬ http-errors@1.6.3 │ │ │ ├── inherits@2.0.3 │ │ │ └── setprototypeof@1.1.0 │ │ ├── iconv-lite@0.4.19 │ │ ├── qs@6.5.1 │ │ └─┬ raw-body@2.3.2 │ │ ├─┬ http-errors@1.6.2 │ │ │ ├── depd@1.1.1 │ │ │ ├── inherits@2.0.3 │ │ │ └── setprototypeof@1.0.3 │ │ └── iconv-lite@0.4.19 │ ├── content-disposition@0.5.2 │ ├── content-type@1.0.4 │ ├── cookie@0.3.1 │ ├── cookie-signature@1.0.6 │ ├── debug@2.6.9 │ ├── depd@1.1.2 │ ├── encodeurl@1.0.2 │ ├── escape-html@1.0.3 │ ├── etag@1.8.1 │ ├─┬ finalhandler@1.1.1 │ │ ├── debug@2.6.9 │ │ ├── statuses@1.4.0 │ │ └── unpipe@1.0.0 │ ├── fresh@0.5.2 │ ├── merge-descriptors@1.0.1 │ ├── methods@1.1.2 │ ├─┬ on-finished@2.3.0 │ │ └── ee-first@1.1.1 │ ├── parseurl@1.3.3 │ ├── path-to-regexp@0.1.7 │ ├─┬ proxy-addr@2.0.6 │ │ ├── forwarded@0.1.2 │ │ └── ipaddr.js@1.9.1 │ ├── qs@6.5.1 │ ├── range-parser@1.2.1 │ ├── safe-buffer@5.1.1 │ ├─┬ send@0.16.2 │ │ ├── debug@2.6.9 │ │ ├─┬ http-errors@1.6.3 │ │ │ ├── inherits@2.0.3 │ │ │ └── setprototypeof@1.1.0 │ │ ├── mime@1.4.1 │ │ └── statuses@1.4.0 │ ├── serve-static@1.13.2 │ ├── setprototypeof@1.1.0 │ ├── statuses@1.4.0 │ ├─┬ type-is@1.6.18 │ │ └── media-typer@0.3.0 │ ├── utils-merge@1.0.1 │ └── vary@1.1.2 ├── html-entities@1.2.1 ├─┬ koa@2.8.1 │ ├─┬ cache-content-type@1.0.1 │ │ └── ylru@1.2.1 │ ├─┬ content-disposition@0.5.3 │ │ └── safe-buffer@5.1.2 │ ├─┬ cookies@0.7.3 │ │ └── keygrip@1.0.3 │ ├── delegates@1.0.0 │ ├── destroy@1.0.4 │ ├── error-inject@1.0.0 │ ├─┬ http-assert@1.4.1 │ │ ├── deep-equal@1.0.1 │ │ └─┬ http-errors@1.7.3 │ │ └── setprototypeof@1.1.1 │ ├─┬ http-errors@1.8.0 │ │ ├── inherits@2.0.4 │ │ ├── setprototypeof@1.2.0 │ │ └── toidentifier@1.0.0 │ ├── is-generator-function@1.0.8 │ ├── koa-compose@4.1.0 │ ├─┬ koa-convert@1.2.0 │ │ ├── co@4.6.0 │ │ └─┬ koa-compose@3.2.1 │ │ └── any-promise@1.3.0 │ ├── koa-is-json@1.0.0 │ ├── only@0.0.2 │ └── statuses@1.5.0 ├─┬ mocha@5.2.0 │ ├── browser-stdout@1.3.1 │ ├── commander@2.15.1 │ ├── diff@3.5.0 │ ├── escape-string-regexp@1.0.5 │ ├─┬ glob@7.1.2 │ │ ├── fs.realpath@1.0.0 │ │ ├─┬ inflight@1.0.6 │ │ │ └── wrappy@1.0.2 │ │ ├── once@1.4.0 │ │ └── path-is-absolute@1.0.1 │ ├── growl@1.10.5 │ ├── he@1.1.1 │ ├─┬ minimatch@3.0.4 │ │ └─┬ brace-expansion@1.1.11 │ │ ├── balanced-match@1.0.2 │ │ └── concat-map@0.0.1 │ ├─┬ mkdirp@0.5.1 │ │ └── minimist@0.0.8 │ └─┬ supports-color@5.4.0 │ └── has-flag@3.0.0 ├─┬ request@2.88.0 │ ├── aws-sign2@0.7.0 │ ├── aws4@1.11.0 │ ├── caseless@0.12.0 │ ├─┬ combined-stream@1.0.8 │ │ └── delayed-stream@1.0.0 │ ├── extend@3.0.2 │ ├── forever-agent@0.6.1 │ ├─┬ form-data@2.3.3 │ │ └── asynckit@0.4.0 │ ├─┬ har-validator@5.1.5 │ │ ├─┬ ajv@6.12.6 │ │ │ ├── fast-deep-equal@3.1.3 │ │ │ ├── fast-json-stable-stringify@2.1.0 │ │ │ ├── json-schema-traverse@0.4.1 │ │ │ └── uri-js@4.4.1 │ │ └── har-schema@2.0.0 │ ├─┬ http-signature@1.2.0 │ │ ├── assert-plus@1.0.0 │ │ ├─┬ jsprim@1.4.1 │ │ │ ├── extsprintf@1.3.0 │ │ │ ├── json-schema@0.2.3 │ │ │ └─┬ verror@1.10.0 │ │ │ └── core-util-is@1.0.2 │ │ └─┬ sshpk@1.16.1 │ │ ├── asn1@0.2.4 │ │ ├── bcrypt-pbkdf@1.0.2 │ │ ├── dashdash@1.14.1 │ │ ├── ecc-jsbn@0.1.2 │ │ ├── getpass@0.1.7 │ │ ├── jsbn@0.1.1 │ │ └── tweetnacl@0.14.5 │ ├── is-typedarray@1.0.0 │ ├── isstream@0.1.2 │ ├── json-stringify-safe@5.0.1 │ ├─┬ mime-types@2.1.30 │ │ └── mime-db@1.47.0 │ ├── oauth-sign@0.9.0 │ ├── performance-now@2.1.0 │ ├── qs@6.5.2 │ ├── safe-buffer@5.2.1 │ ├─┬ tough-cookie@2.4.3 │ │ └── punycode@1.4.1 │ ├── tunnel-agent@0.6.0 │ └── uuid@3.4.0 ├─┬ request-promise-native@1.0.7 │ ├── request-promise-core@1.1.2 │ ├── stealthy-require@1.1.1 │ └── tough-cookie@2.5.0 ├── require-all@2.2.0 ├── trace-redirect@1.0.6 └── typescript@2.9.2 [cascode@dppdtt summaly]$ npm run build > summaly@2.4.0 build /home/cascode/projects/summaly > tsc node_modules/@types/qs/index.d.ts:61:101 - error TS2304: Cannot find name 'unknown'. 61 function parse(str: string | Record<string, string>, options?: IParseOptions): { [key: string]: unknown }; ~~~~~~~ node_modules/cheerio-httpcli/index.d.ts:14:37 - error TS2304: Cannot find name 'CheerioStatic'. 14 interface CheerioStaticEx extends CheerioStatic { ~~~~~~~~~~~~~ node_modules/cheerio-httpcli/index.d.ts:16:26 - error TS2304: Cannot find name 'CheerioOptionsInterface'. 16 entityHtml(options?: CheerioOptionsInterface): string; ~~~~~~~~~~~~~~~~~~~~~~~ node_modules/cheerio-httpcli/index.d.ts:17:44 - error TS2304: Cannot find name 'CheerioOptionsInterface'. 17 entityHtml(selector: string, options?: CheerioOptionsInterface): string; ~~~~~~~~~~~~~~~~~~~~~~~ node_modules/cheerio-httpcli/index.d.ts:18:44 - error TS2304: Cannot find name 'CheerioOptionsInterface'. 18 entityHtml(element: Cheerio, options?: CheerioOptionsInterface): string; ~~~~~~~~~~~~~~~~~~~~~~~ node_modules/cheerio-httpcli/index.d.ts:19:25 - error TS2304: Cannot find name 'CheerioElement'. 19 entityHtml(element: CheerioElement, options?: CheerioOptionsInterface): string; ~~~~~~~~~~~~~~ node_modules/cheerio-httpcli/index.d.ts:19:51 - error TS2304: Cannot find name 'CheerioOptionsInterface'. 19 entityHtml(element: CheerioElement, options?: CheerioOptionsInterface): string; ~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:46:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 46 $('meta[property="og:title"]').attr('content') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:47:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 47 $('meta[property="twitter:title"]').attr('content') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:48:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 48 $('title').text(); ~~~~~~~~~~ src/general.ts:57:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 57 $('meta[property="og:image"]').attr('content') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:58:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 58 $('meta[property="twitter:image"]').attr('content') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:59:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 59 $('link[rel="image_src"]').attr('href') || ~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:60:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 60 $('link[rel="apple-touch-icon"]').attr('href') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:61:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 61 $('link[rel="apple-touch-icon image_src"]').attr('href'); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:66:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 66 $('meta[property="twitter:player"]').attr('content') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:67:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 67 $('meta[name="twitter:player"]').attr('content'); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:70:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 70 $('meta[property="twitter:player:width"]').attr('content') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:71:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 71 $('meta[name="twitter:player:width"]').attr('content')); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:74:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 74 $('meta[property="twitter:player:height"]').attr('content') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:75:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 75 $('meta[name="twitter:player:height"]').attr('content')); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:78:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 78 $('meta[property="og:description"]').attr('content') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:79:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 79 $('meta[property="twitter:description"]').attr('content') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:80:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 80 $('meta[name="description"]').attr('content'); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:91:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 91 $('meta[property="og:site_name"]').attr('content') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:92:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 92 $('meta[name="application-name"]').attr('content') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:98:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 98 $('link[rel="shortcut icon"]').attr('href') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/general.ts:99:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 99 $('link[rel="icon"]').attr('href') || ~~~~~~~~~~~~~~~~~~~~~ src/general.ts:102:20 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 102 const sensitive = $('.tweet').attr('data-possibly-sensitive') === 'true' ~~~~~~~~~~~ src/plugins/amazon.ts:34:16 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 34 const title = $('#title').text(); ~~~~~~~~~~~ src/plugins/amazon.ts:37:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 37 $('#productDescription').text() || ~~~~~~~~~~~~~~~~~~~~~~~~ src/plugins/amazon.ts:38:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 38 $('meta[name="description"]').attr('content'); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/plugins/amazon.ts:40:28 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 40 const thumbnail: string = $('#landingImage').attr('src'); ~~~~~~~~~~~~~~~~~~ src/plugins/amazon.ts:43:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 43 $('meta[property="twitter:player"]').attr('content') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/plugins/amazon.ts:44:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 44 $('meta[name="twitter:player"]').attr('content'); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/plugins/amazon.ts:47:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 47 $('meta[property="twitter:player:width"]').attr('content') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/plugins/amazon.ts:48:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 48 $('meta[name="twitter:player:width"]').attr('content')); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/plugins/amazon.ts:51:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 51 $('meta[property="twitter:player:height"]').attr('content') || ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/plugins/amazon.ts:52:3 - error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'CheerioStaticEx' has no compatible call signatures. 52 $('meta[name="twitter:player:height"]').attr('content')); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! Linux 5.10.19_1 npm ERR! argv "/home/cascode/.nvm/versions/node/v7.5.0/bin/node" "/home/cascode/.nvm/versions/node/v7.5.0/bin/npm" "run" "build" npm ERR! node v7.5.0 npm ERR! npm v4.1.2 npm ERR! code ELIFECYCLE npm ERR! summaly@2.4.0 build: `tsc` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the summaly@2.4.0 build script 'tsc'. npm ERR! Make sure you have the latest version of node.js and npm installed. npm ERR! If you do, this is most likely a problem with the summaly package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! tsc npm ERR! You can get information on how to open an issue for this project with: npm ERR! npm bugs summaly npm ERR! Or if that isn't available, you can get their info via: npm ERR! npm owner ls summaly npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! /home/cascode/projects/summaly/npm-debug.log
same version of node and nvm as the last successful travis build: