text:
stdlib - 4.1.0

I ran into an issue with 4.1.0. It appears no one ever updated stdlib here and it was on 4.2.2. With puppet-firewalld 4.1.0 I got the error below
Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Resource type not found: Stdlib::Ensure
::Service (file: /XXXXX/firewalld/manifests/init.pp, line: 36, column: 3)
Once I updated stdlib to the latest (6.1.0) it all ran fine.
Would it be possible to add a version check in puppet-firewalld or on the main page put the minimum stdlib required version?

The version requirement in the metadata.json looks correct to me.  That gets used on the puppet forge.
Maintaining it in the README as well isn't practical IMO.

Stdlib 4.2.2 is actually already over 5 years old.  I'm very surprised you were able to run such an old version without any other issues for so long.

I see it now. My bad

No worries.  Thanks for the interest.  We're always interested in PRs to improve docs.

authors: Phurion alexjfisher

repo: voxpupuli/puppet-firewalld


text:
Tablet UI Fixes

Here is a list of UI elements that are not working correctly or can be better:
-Name of the experience:

in the first menu it's called "VR4VET job test and in the rest "Name of the experience"
the back arrow doesn't work in a lot of sub-menus
There is no method/function to change this name

-Tabs

The color of the tab doesn't match the selected tab in some cases
EG:

about is the one on display, but feedback is the one in blue

here, feedback is selected, and the color matches the selections
-Pages (container)

In order for the container not to get stack with elements in a single page , we decided to call (). Refresh() this is not a sustainable solution since it won't work with all containers.

-Scripts/Classes
There are some scripts that in my understanding were used for testing, please delete this scripts since it can be confusing to have multiple Subtask scripts etc.

Size
arrow buttons for the page change are quite small and hard to select
In my opinion, the name of the experience takes too much space

Tablet Score info - #139

about the pages containers using Refresh():
Refresh() - runs only on the specific ContentPageChanger responsible for that particular container, clearing and repopulating the list with the necessary elements. Performance wise it is appropriate, as the GetComponent<>() call performance impact is negligible if not called 10k times a frame or so, and in this case it is only called when changing the visible task, subtask, etc.
Most element containers (Tasks, Subtasks, Steps, Skills) use ContentPageChanger- except the score sheet, which uses ScoreChartUI for navigation.

source: gharchive/issue

authors: Jorest alxyzz irtazakhan

license: MIT

license_type: permissive

license_source: github-api


text:
バックアップに失敗する

Description of the bug / バグの説明
バックアップボタンを押してバックアップを試みると
failed to create whole tree

とログに出力されてバックアップに失敗する。
Steps to Reproduce / 再現手順

バックアップボタンを押す。

Expected Behavior / 想定される挙動
バックアップが作成されるべき
Screenshots / スクリーンショット
No response
Software Version / バージョン情報
v0.1.15
OS
Windows11 Pro 23H2 / Windows 10.0.22631
Webview Version / Webviewバージョン
129.0.2792.79
Additional context / 補足
裏でUnityHubやUnityEditorが動いたりはしていないようでした。

ドライブを入れ替えた際にドライブレターが変更されて存在しないパスがバックアップの保存先に設定されていました。お騒がせしました。

そのような場合もちゃんとしたわかりやすいエラーを出すべきなのでOpenします

repo: vrc-get/vrc-get


text:
Add documentation based on Antora

Adds documentation based on Antora
Adds a GH CI job to automatically publish to GitHub Pages (for now)
Run a local preview with make docs-preview on localhost:2020

I like it so far, thanks. I wonder how we should combine service specific documentation with generic documentation and how or where we should differentiate between technical documentation and product documentation. See https://git.vshn.net/vshn/docs/products/-/merge_requests/52 for what I mean, maybe this gives an idea what I mean.

source: gharchive/pull-request

authors: ccremer tobru

repo: vshn/appcat-service-prototype


text:
Review gitlab.rb Template

Gitlab has progressed a lot in the last months. The file templates/gitlab.rb.erb needs to be revised and aligned to the template found in Omnibus.

doing some grep foo and looking at the diff from HEAD > omnibus 8.0 the following 2 groupings are not supported currently by this module:
+# sentinel['bind'] = '0.0.0.0'
+# sentinel['port'] = 26379
+# sentinel['quorum'] = 1
+# sentinel['down_after_milliseconds'] = 10000
+# sentinel['failover_timeout'] = 60000
+# sidekiq_cluster['enable'] = false
+# sidekiq_cluster['ha'] = false
+# sidekiq_cluster['log_directory'] = "/var/log/gitlab/sidekiq-cluster"
+# sidekiq_cluster['interval'] = 5 # The number of seconds to wait between worker checks
+# sidekiq_cluster['queue_groups'] = [

best I can tell every other config directive is covered by the existing template.

Thanks! It's not just adding parameters, but also removing deprecated parameters... Will hopefully work on this over the next weeks.

Would these parameters fit in this category ?
gitlab_rails['backup_path'] = <path>
git_data_dirs({"default" => "<path>"})

Would these parameters fit in this category ?

Yes =) See also #110

All the configuration options mentioned above should be supported now. I recently added the missing git_data_dirs (thanks to Corey Osman) and sidekiq_cluster options.

authors: davidgubler james-powis matonb tobru

repo: vshn/puppet-gitlab

license_source: bigquery


text:
As5600 incorrectly works

As5600 dont work with this sketch, but works good with testing skech.
Магнитный датчик угла не работает, даже не шумит при поднесении магнита на любое расстояние, вы сталкивались с таким? Может ли быть такое изза не подключенных других осей? Что делать?

У вас не используются другие i2c устройства - ADS1015 или MCP23017?
Обновил код  (файлы AFFBWheel.ino, bb_i2c.h, bb_i2c.cpp), попробуйте теперь.

Другие устройства не использовались, теперь все работает, спасибо.

repo: vsulako/AFFBWheel


text:
feat: Sync Cart with Checkout

What's the purpose of this pull request?
This PR solves two issues we had with the Cart on VTEX at FastStore.

Clear cart after order is placed
Cart reacts to changes on items at /checkout.

How it works?
These two issues can be solved by changing the behavior of validateCart function. For this to work, validateCart needs to understand when Checkout UI/Order Placed changed the cart, and if so, return this changed cart instead of trying to replicate the browser's cart state on the checkout API.
This can be done by using the customData field on the VTEX orderForm. The idea is to keep the Etag the last time validateCart touched the cart. If the tag differs from the current OrderFrom items, this means someone else changed the cart and thus we need to return this new order form instead of applying the usual replication logic of validateCart.
The etag is computed following:
etag = md5(JSON.stringify(orderForm.items))

After computing the etag, we set the custom data using the customData API. After the proposed changes, the validateCart function becomes:
validateCart(cart):
   orderForm = getOrderFormOnVTEX

   if orderForm.etag is stale
       updateOrderFormEtag(orderForm)
       return orderForm

   else
      follow usual flow

How can I enable it?
This feature is behind a feature flag called  enableOrderFormSync. Also, customData requires some additional setup to the checkout's config. Add the custom app to the checkout config:
{
  "fields": [
    "cartEtag"
  ],
  "id": "faststore",
  "major": 1
}

To know how to do this app setup, follow this guide
How to test it?
There are two cases to test. Open any of our starter's deploy previews and:

Make sure the cart is cleared after the order is placed
Make sure the cart on any PLP is in sync with any changes made on /checkout.

Results
Below you can see the before/after comparison of this feature:

Starters Deploy Preview

https://github.com/vtex-sites/nextjs.store/pull/38
https://github.com/vtex-sites/gatsby.store/pull/46

LGTM, but one question: is there a reason why we're using orderForm.items to generate the etag and not orderForm completely?
I feel this can turn into a pain in the future, something as some other type of info being changed on the checkout (like freight values or destination) and not being reflected on the store front.

Hmmm, I think you're right! Let me test with the whole orderForm to see what we got.

LGTM, but one question: is there a reason why we're using orderForm.items to generate the etag and not orderForm completely?
I feel this can turn into a pain in the future, something as some other type of info being changed on the checkout (like freight values or destination) and not being reflected on the store front.

Hmmm, I think you're right! Let me test with the whole orderForm to see what we got.
It's now me from the future coming back here. No, the code enters in an infinite loop :(

Ok, but why? Shouldn't we treat these cases?

LGTM, but one question: is there a reason why we're using orderForm.items to generate the etag and not orderForm completely?
I feel this can turn into a pain in the future, something as some other type of info being changed on the checkout (like freight values or destination) and not being reflected on the store front.

Hmmm, I think you're right! Let me test with the whole orderForm to see what we got.
It's now me from the future coming back here. No, the code enters in an infinite loop :(

Ok, but why? Shouldn't we treat these cases?

Ok, I think I understand what'a happening. The issue here is that paymentData changes for each time we use the updateItems/setCustomData APIs, making this loop happens. I'd say for us to start with only items since we are just sensitive to it and iterate more on this later on

LGTM, but one question: is there a reason why we're using orderForm.items to generate the etag and not orderForm completely?
I feel this can turn into a pain in the future, something as some other type of info being changed on the checkout (like freight values or destination) and not being reflected on the store front.

Hmmm, I think you're right! Let me test with the whole orderForm to see what we got.
It's now me from the future coming back here. No, the code enters in an infinite loop :(

Ok, but why? Shouldn't we treat these cases?

Ok, I think I understand what'a happening. The issue here is that paymentData changes for each time we use the updateItems/setCustomData APIs, making this loop happens. I'd say for us to start with only items since we are just sensitive to it and iterate more on this later on

Okay, you have my approval 👍

authors: icazevedo tlgimenes

repo: vtex/faststore


text:
Npm publish

Hi, maybe i made an error, but when i go to do npm publish i have this error
[19:02:18] error Could not resolve entry (./src/index.js)
undefined
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! vue-piuma@1.0.0 build: `bili`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the vue-piuma@1.0.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

i have investigate a little, when i start project i rename index.js to index.vue for single file component, i think bili can't operate with vue extension so i add an entry on bili in package.json but i have an error on
1 : <template>
2 :   <div>
3 :     <img :src="piumize">

Hey @Remeic
I think you could simply
import MyComponent from './MyComponent.vue'

export default MyComponent

You need an entry js file so it can get transpiled into es5 or browser compatible code.
Besides that, the entry file could help you make your component to act as a plugin
const MyPlugin= {
  install (Vue) {
    // your plugin code here
  }
}
// Automatic installation if Vue has been added to the global scope.
if (typeof window !== 'undefined' && window.Vue) {
  window.Vue.use(MyPlugin)
}
export default MyPlugin

Sorry for delay, university and work take me all time, thanks @cristijora  it works but seems i have some error with my single file component, like error
<img :src="piumize">
unexpected token = or
Adjacent JSX elements must be wrapped in an enclosing tag (6:0)
Here the project vue-piuma

Can you link me a project or a resource so i can learn how i can made a good single file component?
Until now i follow the official documentation
Thanks in advance

Hmm you may be using an out-dated version of create-vue-component, the latest version added support for .vue component. (https://github.com/vue-land/create-vue-component/commit/39e70b6e8c4665d360c24ea534007841332e5fac)
btw you should configure bili to bundle src/index.vue in this case:

authors: Remeic cristijora egoist

repo: vue-land/create-vue-component

license: mit


text:
ts check

Describe the bug
When introducing macros and using $ref in the nuxt3 project, ts will prompt that $ref cannot be found.
But it does not affect normal use, just no type hint.
Do need to configure related type declarations?
like the vite project.
{
  "compilerOptions": {
     "types": ["unplugin-vue-macros/macros-global"]
  }
}

Reproduction
no
System Info
no

Used Package Manager
pnpm
Validations

[x] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

See https://github.com/vue-macros/vue-macros/tree/main/playground/nuxt, or provide a reproduction repo.

I tried to run the playground locally but it didn't work and the related APIs were all imported with relative paths, and there seemed to be nothing to refer to.
Maybe I opened it the wrong way.

authors: naiheyoung sxzz

repo: vue-macros/vue-macros


text:
多个菜单使用同一个页面怎么传参数

Question （问题描述）
左侧菜单栏配置了不同类型的分类菜单，但都是在同一个页面上，只是加载不同的分类，怎么才能传参数到页面里。
Describe the solution you'd like （你期待的是什么？）
有没有办法通过给那个页面传参的方式，不需要重复建多个component。

已解决
往components/Menu/menu.js内 rederMenuItem(menu)函数添加代码
const menuParams = menu.meta.params || {}
const props = { to: { name: menu.name, params:menuParams } }
在路由配置meta里填入要传到相同component的参数。在对应的component页面监听$route。
watch:{       $route:function(){         console.log(this.$route.params.type)       }   }

已解决
往components/Menu/menu.js内 rederMenuItem(menu)函数添加代码
const menuParams = menu.meta.params || {}
const props = { to: { name: menu.name, params:menuParams } }
在路由配置meta里填入要传到相同component的参数。在对应的component页面监听$route。
watch:{       $route:function(){         console.log(this.$route.params.type)       }   }

repo: vueComponent/ant-design-vue-pro


text:
Support import() in Jest

We should add babel-plugin-dynamic-import-node
[] - Add "dynamic-import-node" to babel plugins for the test environment.
https://github.com/vuejs-templates/webpack/blob/b366b8397e142e38d491246129c4fbc8e68fb213/template/.babelrc#L12
[] - Add the plugin to package.json as a dev dependency.

closed in a37bcbb8d0455611e0e16aecccd6f2c9b7f51090

repo: vuejs-templates/webpack


text:
fix(reactivity): ensure computed re-evaluates after dep cleanup

close #12020

/ecosystem-ci run

+1 This fixes a bug since Vue 3.5.7
My CI tests suddenly failed with Vue 3.5.7+ because the pinia getters were no longer computed

/ecosystem-ci run

authors: SamuelWei jh-leong

repo: vuejs/core


text:
fix(language-plugin-pug): compute offset correctly of pug class

fix #1767

It should be noted that this currently only applies to cases where classnames are completely consecutive. Due to the code parsing logic, it cannot obtain the source offset for each class. I'm trying to find a solution.

Thanks for looking into this!

authors: KazariEX johnsoncodehk

repo: vuejs/language-tools


text:
Doc inhance of how to config Multipage mode on server

What problem does this feature solve?
The official doc only mentions how to config a single page website. But users like me don't know how to write httpd.conf on Apache and can't find help information on both Apache/NGINX and Vue docs, so on the forum of both sides.
I wonder whether an example configuartion can be put on the vue-cli(or vue-router) docs.
Thanks!
What does the proposed API look like?
Doc inhancement

Could you tell me when can the docs been update?

I had a discussion with my friends, and I figued out how to config today. How can I help? Make a comment in this issue?

Send a pull request for this file https://github.com/vuejs/vue-cli/blob/dev/docs/guide/deployment.md#docker-nginx, adding guides on multipage configurations.

OK👌 I'll try, since I am a Chinese, I may make grammar mistakes.🤣

authors: GodofHope sodatea

repo: vuejs/vue-cli


text:
fix: prevent snoretoast shortcut, set notif title (#2720)

This prevents SnoreToast from installing a Start Menu shortcut by specifying an appID. The appID is also used to set the
notification's title bar text in Windows 10. That text is now set to "Vue UI", which replaces the default value of "SnoreToast".
fixes #2720
Screenshot of desktop notification on Windows 10:

Screenshot of notification bar on Windows 10:

What kind of change does this PR introduce? (check at least one)

[x] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Docs
[ ] Underlying tools
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

Other information:

Once this fix lands, users may want to manually undo the SnoreToast changes from their system, as described below.
Remove SnoreToast shortcut from Start Menu
Option A: File Explorer

Right-click Start Menu > SnoreToast, and choose More > Open File Location, which opens File Explorer.
In File Explorer, delete the root folder of SnoreToast.

Option B: Windows Command Line

Open cmd.exe

Run this rmdir command:
 rmdir /s /q "%APPDATA%\Microsoft\Windows\Start Menu\Programs\SnoreToast"

Remove SnoreToast's registry key
Note: SnoreToast sets a registry key in order to register its notification center. The UUID seen in the key is for SnoreToast v0.7.0.
Option A: Registry Editor

Open regedit.exe
In the location textbox at the top right below the menu bar, enter: HKCU\Software\Classes\CLSID\{eb1fdd5b-8f70-4b5a-b230-998a2dc19303} to jump to the key in the registry.
Right-click the {eb1fdd5b-8f70-4b5a-b230-998a2dc19303} folder, and choose Delete.

Option B: Windows Command Line

Open cmd.exe

Run this reg command:
 reg delete /f \Software\Classes\CLSID\{eb1fdd5b-8f70-4b5a-b230-998a2dc19303}

This is a good thing to have


text:
feat(runtime-core/transition): add more explicit warning

closes #1850

I left the comment in #1850 thinking we did not already have a warning for this, but turns out we already do. I think the current one is good enough.

repo: vuejs/vue-next


text:
fix(runtime-core): inject function support self-inject

Before this pull request, I have read #1818 and #2400. And I think self-inject feature is required.
I wrote a vue3 plugin that depends on self-inject. Without self-inject feature, every container component must be splited into two components.
We can learn from angular.  In angular, we can define component scope providers. By default we can self-inject.
And we can use @Skip to inject from parent.
WARNING!!! In this pull request, by default we inject from parent, and use selfInject parameter to control whether or not self-inject.
By the way. I don't think v3.0.2 is a patch update. It should be a minor update at least. It is not a  compatible update.

@CyberAP @69hunter

Thank you but this would be a breaking change on something that is working as intended. It won't be considered unless it's fixing an existing case without breaking others.
You might want to open an RFC in the rfcs repository instead to propose something new

Thank you but this would be a breaking change on something that is working as intended. It won't be considered unless it's fixing an existing case without breaking others.
You might want to open an RFC in the rfcs repository instead to propose something new

What's proposed in the PR is not really a breaking change as it uses a new, 3rd argument to inject() to optionally self-inject.
However I agree that it should go through RFC, as required for new features.

What's proposed in the PR is not really a breaking change as it uses a new, 3rd argument to inject() to optionally self-inject.
However I agree that it should go through RFC, as required for new features.

@posva Thank you for you reply.
This PR is absolutely not a breaking change. I just add a optional parameter selfInject.
In fact, v3.0.2 is a breaking change.
In v3.0.1, inject function is self-inject by default. But in v3.0.2, inject function inject from parent by default and I have no way to inject from self. So I add a extra optional parameter to control self-inject or not.
If you think RFC is required. Could you tell me where should I post the RFC.
Is this link right?

@posva Thank you for you reply.
This PR is absolutely not a breaking change. I just add a optional parameter selfInject.
In fact, v3.0.2 is a breaking change.
In v3.0.1, inject function is self-inject by default. But in v3.0.2, inject function inject from parent by default and I have no way to inject from self. So I add a extra optional parameter to control self-inject or not.
If you think RFC is required. Could you tell me where should I post the RFC.
Is this link right?

yes, that's the link

yes, that's the link

authors: LinusBorg huanggm posva


text:
Redirect old links in docs to new ones in VuePress

Since a lot of courses, books, blog posts, etc still link to pages in the non-VuePress docs I'm thinking some redirects should be set up. Unfortunately, I don't have a complete list of links, but here's one.

Yeah, same as https://github.com/vuejs/vue-router/issues/2214
I wanted to make the redirect but saw Evan added it then removed it, so waiting for an answer 😓

authors: chrisvfritz posva

repo: vuejs/vue-router


text:
vue-router如何实现异步动态加载路由呢？比如动态加载菜单

用户登录系统后，主页面发起异步请求系统初始化数据（例如此用户可以访问的菜单列表数据）。
请问在vue-router2.0中，如何异步加载路由表数据？
我看大多数的例子都是在routes.js里面把路由表写死的，但是大多数系统都是要根据用户权限来获取菜单和路由数据的，这个在vue2.0中应该怎么解决？

你好，请使用论坛或gitter提问，issue列表只用于提交bug和feature request，谢谢！

路由表一定是静态的。你需要的是鉴权：http://router.vuejs.org/zh-cn/advanced/meta.html

@lampo1024
请问下你最后是怎么解决这个问题的，我也遇到了一样的问题。

同问

如果你用了 vuex，可以在 beforeEach 中单独引用 store，然后直接调用 store.dispatch('xxxx')，后面的事情就是拿 state 里的数据做鉴权了
// 这里的方法在 main.js 中调用，同时传入 router 和 vuex 实例。
init (router, store) {
        let permissions = this;
        router.beforeEach(async (to, from, next) => {
            await store.dispatch('getUserInfo');
            if (store.state.userInfo.hasLogin) {
                next()
            }
            else {
                evtBus.$emit('login');
                next(false)
            }

        })
    }

如果没用 vuex，就直接在beforeEach中直接向后端请求数据，后面都是一样的了。
说白了鉴权的行为是属于未进入系统之前的行为，这块的数据的获取和校验理论上是应该和系统数据分开的，需要单独处理。

authors: chaohuaGH fnlctrl jyjunyz lampo1024 lomotony


text:
examples warning

Hi, all.
resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers resolve failed:  { Error: Cannot find module 'nightwatch-helpers'     at Function.Module._resolveFilename (module.js:472:15)     at Function.requireRelative.resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/require-relative/0.8.7/require-relative/index.js:30:17)     at resolve (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:26:26)     at findAndRemove (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:83:11)     at /Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:126:13     at Array.map (native)     at loadPreset (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/lib/serialize.js:118:29)     at module.exports (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/modify-babel-preset/3.2.0/modify-babel-preset/index.js:95:19)     at Object.<anonymous> (/Users/xiecg/Desktop/vue-router/node_modules/.npminstall/babel-preset-es2015-loose/8.0.0/babel-preset-es2015-loose/index.js:5:18)     at Module._compile (module.js:573:32) code: 'MODULE_NOT_FOUND' } nightwatch-helpers
How to solve ?

do npm install or yarn at the root of the project. You're just missing a dependency

@posva
Thank you for reply, problem solved.

authors: posva xiecg


text:
LESS Highlighting

Less syntax breaks on some cases, especially when nesting.

Hello @yyx990803, seems the culprit in the syntax highlighting is the [MaterialTheme] (https://github.com/equinusocio/material-theme) I've installed, not Vue syntax highlighting. Apologies for any inconvenience i've caused.
I guess the theme installs Less syntax highlighting and becomes the default highlighter for .less extensions, causing the havoc.

@moe-szyslak thanks a lot for posting the solution.
I suffered from this issue from last week. I didn't even check if problem existed elsewhere.

authors: moe-szyslak prog-rajkamal

repo: vuejs/vue-syntax-highlight


text:
Remove ErrorWrapper

What problem does this feature solve?
ErrorWrapper is returned only in wrapper.find. I think there is no benefit of using it over returning null.
What does the proposed API look like?
wrapper.find returns null (or undefined) when no item is found, similarly to #Array.prototype.find

The benefit of an ErrorWrapper is to handle errors where find or findAll are unsuccessful, so that users get clear error messages, instead of type errors.
There is already a way to check that an element doesn't exist, using the exists method
I don't see the benefit of returning null, when we can handle the error for users instead.

The benefit is the error handling. It's the difference between:
Uncaught TypeError: Cannot read property 'trigger' of null
and:
find did not return .some-class, cannot call trigger() on empty Wrapper

I've found it difficult to agree with this. Let's say you have spec:
it('should have correct title', () => {
    expect(wrapper.find('.item').text()).to.equal('Example title');
});

When this spec fails, you'll get output like for example:
some-component
    should have correct title
       Error: [vue-test-utils]: find did not return .item, cannot call text() on empty Wrapper
         at components/some-component.spec.js:25:15

After remove ErrorWrapper it would be:
it('should have correct title', () => {
    expect(wrapper.find('.item').text()).to.equal('Example title');
});
------------------------------------------------------------------------------
some-component
    should have correct title
       Error: Uncaught TypeError: Cannot read property 'text' of null
         at components/some-component.spec.js:25:15

I don't see why find did not return .item, cannot call text() on empty Wrapper message may be helpful for developer to debug why spec fails.

Works for me:
const DOM = wrapper.find("#id");
expect(DOM.exists()).toBe(false);

authors: damoncp eddyerburgh lusarz

repo: vuejs/vue-test-utils


text:
Shorthand for property passing :value vs :value="value"

What problem does this feature solve?
Subject pretty much sums it all up. More often than not a property name matches a variable name. Typing :value="value" :options="options" looks a bit excessive.
Feature is strictly cosmetics but it would help us to write less and more expressive code.
What does the proposed API look like?
<component :prop1 :prop2 /> would automatically pass prop1 and prop2 to the component. If prop1/prop2 is not defined undefined would be passed instead. Additionally a warning would be printed to the console.

Duplicate of https://github.com/vuejs/vue/issues/5835

authors: buzdyk posva

repo: vuejs/vue


text:
Can Vue.JS app run without index.html file?

What problem does this feature solve?
I want to know if it is possible to work with vue.js only working with javasript files.
What does the proposed API look like?
Vue.js working without using a index.html file

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server, gitter or StackOverflow.

authors: Justineo juancampuzano


text:
Transition with JS hooks and v-show – display: none removed too late

Vue.js version
2.1.4
Reproduction Link
https://jsfiddle.net/acies/6x2g6v02/
Steps to reproduce

Create a <transition> tag.
Set the transition tag to not rely on CSS with :css="false", as well as trigger on appear.
Add a v-show for an element inside the <transition> tag.
Add an @enter callback for the transition, and call done inside the callback.

What is Expected?
The element toggled with v-show is visually present when in the @enter callback—even before the call to done—just as it is with v-if.
What is actually happening?
Vue keeps (defers removal of) display: noneuntil after @after-enter.
Callbacks for v-if and v-show are thus not interchangeable.
E.g.: starting an animation on @enter that relies on retrieving the global position of an element would work for v-if, but fail for v-show due to the lack of offsets/offset parents as a result of display: none.
Relevant:  https://github.com/vuejs/vue/blob/ae93d2bef8e20402ae3501aa5cdcf14b0ee19c12/src/platforms/web/runtime/directives/show.js#L31-L32 ?

Looks like a string interpolation problem to me, because it works if you don't use it: https://jsfiddle.net/6x2g6v02/1/

The strange thing is that if you log $el.style, then the display property is set to "", which is correct, yet $el.style.display reports "none". Could this be an issue where the afterEnter callback fires too early?

authors: TheDutchCoder acies


text:
using v-if and v-for with string, render result is unexpected

Vue.js version
2.1.7 2.18 2.1.9
Reproduction Link
https://jsfiddle.net/yreenchan/e1jw7qh0/
Steps to reproduce

use v-if and v-for to render string
when the value is not Array, v-else also render as v-for

{{item}}

else: {{desc}}

What is Expected?
When the value is not Array, render v-else once as a string expected.
What is actually happening?
v-else render multiple times.

https://vuejs.org/v2/guide/list.html#v-for-with-v-if

When they exists on the same node, v-for has a higher priority than v-if

what @repsac-by said. You can use the template tag: https://jsfiddle.net/posva/kakqtbpu/

@repsac-by @posva I got it, thanks!

authors: posva repsac-by yreenchan


text:
Use shields.io compliant badge for SauceLabs

Just a small change to make the readme nicer.

(I'm pushing to master since this change affects only the readme file)

The badge I used supports multiple browsers and versions.

Ah cool. It's showing Android only because I recently ran a single-browser test.

done

This is very subjective, but wouldn't this be too many badges?
I really think the matrix version is easier to read. The line break wouldn't suffice imo to make the badge equivalent readable enough

I personally don't like the matrix because it's very big and takes a lot of vertical space. The badges are nice and people are used to them.

I see. So many badges on a single line are harder to read, even if we're used to reading badges. I personally prioritise readability over vertical space on a readme

Still personal preference, but to me it's easier to read: "Browser: version, version, version" instead of  the matrix style. Especially because in the matrix style you have also the OS version that confuses a lot, for example myself get confused often by the windows version and the IE version 🙄

On a second thought, I still find the matrix to provide a better at-a-glance view of browser compatibility than badges. Thanks for the PR though!

authors: FezVrasta posva yyx990803


text:
Avoid the use of unnecessary images, particularly for code

As a totally blind developer, the use of images for some of the code samples in the docs is rather annoying, to say the least. Is there a benefit to doing things this way? Would folks be open to considering alternatives? Or could there be a way to give access to the raw code, perhaps by turning the images into links, which lead to the code in a text format?
For an example of what I'm talking about, see the introduction section of https://vuejs.org/v2/guide/single-file-components.html

I would not recommend putting the code in the alt attribute. It's really only intended for short snippets of text, and would most likely not preserve linebreaks and so forth.
The longdesc attribute is also something I wouldn't recommend, since it is not well understood by many screen reader users, and has some limitations that make it a poor choice in general.
I think the best option is to make the code available behind a link/button. You could cause this button to toggle between showing the code as text or as a screenshot, or it could just show/hide the code as text.  Either way, this would be nice, since it wouldn't require that the user leave the page. Alternatively, you could just link to a page that only has the code on it.
You could also simply embed the code as screen reader only text, as you mentioned, but the problem with doing that is that having access to the raw code could be helpful for folks who might wish to copy/paste, and for users who require a high degree of magnification, or who perhaps use custom fonts to make text easier to read.  So, if we can make the code available in text to more people than just screen reader users, that would be preferable IMHO.
Hopefully this all makes sense. If not, let me know, and I'll be happy to clarify, or discuss other alternatives.
I very much appreciate your willingness to address this.

Thanks! I followed your suggestion to create text versions of the images. I'd love to hear what you think. 🙂

To provide more information, another reason we started using images here was because highlight.js didn't offer good syntax highlighting for .vue files. If someone were able to write that syntax highlighter or was even willing to manually write syntax-highlighted HTML for these two code examples, I'd be willing to remove the images altogether.

Glad to hear it! 😄 I'll close then, but happy to reopen pending new information or if we realize there's a case we still don't handle. Further discussion in this issue is also still welcome.

If highlighter.js doesn't work well can we not just embed the gist in the page directly @chrisvfritz?

I believe VuePress (which those docs are using) uses Prism underneath and it looks like an adequate syntax highlighter might exist for that. In that case, I'm open to switching to Prism for these docs, using hexo-prism-plugin. PR welcome is someone wants to take that on. 🙂

The hexo-prism-plugin docs should give you a good place to get started. Feel free to reach out if you get stuck though. 🙂

I know this is a really old issue but I opened this issue to request support for Vue SFCs on the highlight.js repo, since I use it anyway for my personal website and could/would make use of it myself.
If you guys are still using highlight.js and still desire .vue support then perhaps you could take a moment to give it a :+1:.

I believe this issue can be closed now.

authors: cannona chrisvfritz goelrohan6 phanan sustained


text:
Add Vue + TypeScript guide

I've wrote a beginner's guide of using Vue.js with TypeScript. It introduces official declaration files and vue-class-component briefly. I think readers can make simple applications after understanding this guide.
I added this guide after SSR guide but not sure it is appropriate place.
@kaorun343 @HerringtonDarkholme Your review would be appreciated if you have time :)

It looks so great to me! 😄

@ktsn @kaorun343 @HerringtonDarkholme I just revised this. Fantastic info here! Beyond tweaking some language and reorganizing a bit, I removed some explanations about TypeScript that weren't specific to Vue (e.g. different ways of importing JS modules), as I think we might want to assume some TypeScript experience here. I'm not an expert though, so let me know if you think that was a mistake.

@chrisvfritz Looks great! Thanks for your revising 😄

Could you please to tell me which color theme do you use in the VScode? Thank you.

@STayinloves It's all a lie, unfortunately. @phanan photoshopped a screenshot I took to better match Vue's colors. 🙂

😛 I'm sorry…

Oh, anyway, still thank both of you. Maybe can hack one some day. @chrisvfritz @phanan

I write a color theme like this for VSCode today. Published at here. Someone may have interest.😛

authors: STayinloves chrisvfritz kaorun343 ktsn phanan


text:
chagne Jade to Pug

Closes #695

Guys, we at @translation-gang are waiting for this changes to be merged to merge our translations for the same thing )

authors: gbezyuk kazupon


text:
[BUG] Domains are not fetched from Shopware instance

Describe the bug

I followed the instructions on installing the pwa canary version and I get the following error when executing this command:
npx @shopware-pwa/cli@canary init
Error:
Please provide username and password for plugins authentication. You can leave the fields empty if connecting to demo instance or if you don't need plugins :)
✔ Shopware admin username: · admin
✔ Shopware admin password: · ********
✔ Do you want to allow dev mode for slots? (Don't use for production!) (y/N) · false
UNEXPECTED ERROR [object Object]
✔ Generating plugins files
Shopware languages refreshed
Plugins generated
CMS prepared
Shopware languages refreshed

Not sure what the UNEXPECTED ERROR [object Object] is, but the end results is that the domains.json is an empty object and the languages.json seems to be populated correctly:
{
  "en-US": {
    "id": "2fbb5fe2e29a4d70aa5854ce7ce3e20b",
    "code": "en-US",
    "name": "English"
  },
  "de-DE": {
    "id": "48748d8b982b4224925959b62a473b6d",
    "code": "de-DE",
    "name": "German"
  }

The app fails to start.
In the Shopware instance access logs I see the following 500 error
- [04/Feb/2021:17:23:56 +0000] "GET //pwa/866f04b9e45b1a938800b6f730fe1db5.json HTTP/1.1" 500 843 "-" "axios/0.21.1"
shopware_1  | 172.18.0.2 - - [04/Feb/2021:17:23:56 +0000] "GET /store-api/v3/language HTTP/1.1" 200 2091 "-" "axios/0.21.1"

Additional context

Using:
shopware-pwa/shopware-pwa 2.0
Shopware 6.3.5.0

@willopez thanks for reporting! Could you check whether shopwareEndpoint in your shopware-pwa.config.js contains a trailing /? If so, try removing it and re-initialising.
Dom

@elkmod I does not, just to verify this is correct,  my shopwareEndpoint is set to a URL of a storefront, in my case the headless storefront and it has a domain set, which is what I am setting shopwareEndpoint to. This is the URL that returns a 500 error, https://pwa-api.willopez.com//pwa/866f04b9e45b1a938800b6f730fe1db5.json that is my sales channel url.
And I see this error when starting the PWA:

Further, the unexpected error in the CLI seems to be coming from this call: https://github.com/vuestorefront/shopware-pwa/blob/792eca1f9ad7d2e638249a0521c5d52bf2906782/packages/cli/src/extensions/plugins-extensions.ts#L38
There is no try catch so the error just gets swallowed up. My understanding is that the plugin configuration should be retrieved using the Admin API, however, that request uses the value in shopwareEndpoint which points to the sales channel, I guest the Admin API is accessible via that URL?

Also, unrelated to this, but I attempted to join the pwa slack channel, but the invite has expired in the link in the README. Please update, thanks.

Hi @willopez!
First of all - I am able to run a local version of shopware-pwa with your API, so it is working perfectly fine.
Let my try to clarify:
shopwareEndpoint is the URL which all API requests paths are built made relative to. It has nothing to with the domain configuration of your sales channel. A good indication is the URL of your admin panel. In your case it is located at https://pwa-api.willopez.com/admin. Hence, the root path of your Shopware instance - the shopwareEndpoint is https://pwa-api.willopez.com (without a trailing /)
shopwareAccessToken is used to identify the sales channel for your PWA
pwaHost is the URL relative to which you want your frontend application to do the routing. It is tied to the domain configuration of your sales channel. If your sales channel has only a single configured domain (which CAN be the same as shopwareEndpoint, but by no means has to), set pwaHost to the same value (again without trailing /).
If however, you're going to configure multiple domains (which in Shopware wording can also mean suffixes rather than just domains) like

https://pwa-frontend.willopez.com/us
https://pwa-frontend.willopez.com/gb
https://pwa-frontend.willopez.com/whatever

they would share the common pwaHost which in that case would be https://pwa-frontend.willopez.com. The shopwareEndpoint in that case would remain the same as before.
Try the following configuration for shopware-pwa.config.js, it worked for me
module.exports = {
  shopwareEndpoint: "https://pwa-api.willopez.com",
  shopwareAccessToken: "SWSCYTV6VLPJQNVUCENOQNO5QW",
  pwaHost: "https://pwa-api.willopez.com",
};

PS: You should be able to join the slack channel without an explicit invitation (we will remove the old one from the README) - VSF Slack Channel

@elkmod Got it, I was just confused as to the mapping of the domains, everything is working now. Thanks! and great work on this project.

authors: elkmod willopez

repo: vuestorefront/shopware-pwa


text:
Allow finding servers by tag.

Added functionality to query a list of servers based on tag.
This is helpful when you want to know which backend the server came from eg. etcd or AWS ECS.

Can you rebase to latest master?

Closed due to inactivity

authors: archisgore ldez nickschuch

repo: vulcand/oxy


text:
[Troubleshooting] Migration to Version "0.22" ... "0.24"

The recent releases had a lot of breaking, but important changes. The migration could be a bit confusing for the users at the beginning. Here is a summary of the most notable things in the high level API to review during migration:

[Since 0.22.0] The Image and ImageView interfaces were split. Images are no longer implement View interface by default.
If you face compilation errors like the trait bound `AttachmentImage: SafeDeref` is not satisfied in the DescriptorSet builder, you need to pass ImageView wrapper of the attachment instead of attachment itself, e.g:
 let image: ImmutableImage<..> = ...;
 let view = ImageView::new(image).unwrap();

 let set = PersistentDescriptorSet::start(layout.clone())
   .add_sampled_image(view, ...) // view instead of image
   .unwrap()
   .build()
   .unwrap();

[Since 0.22.0] ImageDimensions and Dimensions interfaces joined together. Always use new ImageDimensions interface.

[Since 0.22.0] Vulkano Shader macro from now on generates named layouts. Default layout type name from the shader's module is MainLayout instead of just Layout when using glsl as a source.

[Since 0.22.0] ~If glsl code contains unused layout bindings(never referred in the glsl source code) they are excluded from the descriptor sets. If the DescriptorSet builder fails to build, review unused bindings in the glsl source code.~ (this is no longer relevant since 0.23.0. In 0.23.0 this feature is optional).

[Since 0.22.0] If you have read only buffers in glsl code that are not tagged as readonly, from now on they must be tagged to ensure Vulkano puts barriers correctly.

[Since 0.23.0] framebuffer module was renamed to render_pass. Most of the high level API is more or less the same, but you need to refactor imports module in your code accordingly.

[Since 0.23.0] AutoCommandBufferBuilder::new renamed toAutoCommandBufferBuilder::primary/secondary. For primary form there is a new additional 3rd parameter. Use CommandBufferUsage::MultipleSubmit for this parameter to fulfill the same behavior you previously had with old new constructor.

[Since 0.23.0] Format template-type removed from all Image constructors(as it was practically useless in most cases). For example instead of Arc<StorageImage<Format>> you can write just Arc<StorageImage>.

[Since 0.23.0] Swapchain::new replaced with Swapchain::start and the Swapchain from now on is constructing within a builder with more precise named builder functions, e.g.:
  let (swapchain, swapchain_images) = Swapchain::start(queue.device().clone(), surface.clone())
    .num_images(surface_capabilities.min_image_count)
    .format(swapchain_format.0)
    .dimensions(surface_dimensions)
    .build()
    .unwrap();

[Since 0.24.0] Vulkano is now uses Ash instead of vk-sys(we still maintain vk-sys for back compatibility for a while).

[Since 0.24.0] PhysicalDevice properties structure has been changed and unified. Most of the properties are now fetching from the PhysicalDevice::properties function, and returning complete list of available features of the device based on Vulkan specification.
Properties access cheatsheet:

device.name() became device.properties().device_name();
device.extended_properties().subgroup_size became device.properties().subgroup_size;
device.ty() became device.properties().device_type (returning an Option with the same values from PhysicalDeviceType enum values).

[Since 0.24.0] Vulkan, SpirV and Instance versions must be explicitly specified:

Instance::new(None, Version::major_minor(1, 1), extensions, layers). Here Version is vulkano::Version;
vulkano_shaders::shader! { ty: "compute",path: "./shader.glsl", vulkan_version: "1.1", spirv_version: "1.3" }.

Do you want to keep this open?

authors: Eliah-Lakhin Rua

repo: vulkano-rs/vulkano


text:
Ignore vk.xml and spirv.core.grammar.json from editor search results

Having these files be searched when one is doing a project-wide search is rather counter-productive. This fixes that for any editor that uses ripgrep e.g. vscode, Helix and Neovim with the Telescope plugin.

Is there a way to un-ignore those files, if I do want to search in them?

I do hope that this won't confuse and surprise people who edit/contribute to the codebase, but we'll see.


text:
Discussion: create a helpers folder

Is it a good idea to create a helpers folder instead of putting helpers into the views folder? Or is this the best way to do it? It might geht a bit cluttered in this folder after some time.

Good thinking. Is there any naming convention for such a folder?

Later

authors: oa wintermeyer

repo: vutuv/vutuv


text:
🛑 Ecoindex.fr Backend API is down

In 8983793, Ecoindex.fr Backend API (https://ecoindex.p.rapidapi.com/health) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Ecoindex.fr Backend API is back up in 8cd125c after 8 minutes.

repo: vvatelot/upptime


text:
Migration away from withIronSessionApiRoute

Upgrading from v6 to v8 of this package. What's the easiest way to migrate withIronSessionApiRoute?

+1 on this. Is there an upgrade guide?

in my cases,
export default withIronSessionApiRoute(
  async function handler (
    req: NextApiRequest,
    res: NextApiResponse,
  ) {

 ...
}, IronSessionOptions)

export default async function handler (
    req: NextApiRequest,
    res: NextApiResponse,
) {
    const session = await getIronSession<ApiResonseData>(req, res, IronSessionOptions)
   ...
}

Here's the OG source code: https://github.com/vvo/iron-session/blob/v6/next/index.ts

Yep this is how it was done previously: https://github.com/vvo/iron-session/blob/70d2ff14aacb51e83284d51832fdcda539b4dabc/next/index.ts#L19-L46

repo: vvo/iron-session


text:
Ecoflow River 2 Max suddenly entities stopped working

Until yesterday everything worked fine.
And suddenly all entities stopped working.
I'm doing an Ecoflow restart every 2 minutes so that I can monitor battery status.
But now, nothing works.
which logs should I sent to you?
tnx!

Just install this integration and cant connect...loading infinity
My River 2 Max firmware is 4.1.1.56 ; WIFI version 2.1.2.26


text:
Support displaying branch information

And take into account branch when deciding which build is old (i.e. the latest change on develop branch should show up as latest even if there is a feature branch build that is newer deployed to a different env

I'd like to be able to scan the environments in the dashboard and know which feature branch is deployed where. Today I have to click on each build to see which branch it is and then see if there are any newer builds for that branch - it's a lot of clicks

Good idea to show the branch. Not a huge amount of space available though. Maybe if is optional, and is truncated if the name is too long it might work...
As to the point about taking into account the branch. Can you explain a bit more what you mean? Currently, it doesn't matter what branch it's on, it's the environment and time of deployment that is important.

So currently it seems that when deciding which builds are considered old, if I have the latest master branch deployed to PROD env, but there is a later develop branch deployed to QA, the PROD env build is considered old. Same in the case where I have a feature branch build deployed to QA1 env, even though I have the latest develop branch build deployed to QA2, it shows as old because the feature branch was built and deployed more recently.
The issue I have is that all but one deployment is showing as old when it really depends on what you mean by old. I think it should be branch specific so it should only show as old if there is a newer build on that branch ready to be deployed. I realize that it probably not in the scope of what the dashboard knows (it only knows about deployments).
The most important thing is being able to see the branch name. Deciding which build are old is probably more user specific.

This has been added in v1.10.0 via the custom property feature.

authors: brimimc vyadh

repo: vyadh/teamcity-deployment-dashboard


text:
which version KYPO

Do you use the "KYPO CRP" or "KYPO-CRP-LITE" version?

I use the latest KYPO CRP, haven't tested with KYPO CRP Lite, but I don't see why it would be any different.

Hi support team,
Ok, but I tried to install the latest version of KYPO-CRP many times but
still got the "imageloopbackoff" error. Can you make a detailed tutorial
for me? Or can I record my installation and send it to you?.
I will be very grateful if I get your help.
Regards,
Vào 18:04, Th 2, 21 thg 8, 2023 Zdeněk Vydra @.***> đã
viết:

I use the latest KYPO CRP, haven't tested with KYPO CRP Lite, but I don't
see why it would be any different.
—
Reply to this email directly, view it on GitHub
https://github.com/vydrazde/terraform-provider-kypo/issues/33#issuecomment-1686118879,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQT4Q53HYRNPNVPYMI4I3F3XWM6D5ANCNFSM6AAAAAA3YEFTG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Sorry, this is not KYPO support; this is a Terraform provider for KYPO. If you have questions or issues with the Terraform provider, please open another issue.

repo: vydrazde/terraform-provider-kypo


text:
Ale's prettier-eslint formatting different to command line

I have Ale's Prettier-ESLint integration setup like so:
let g:ale_fixers = {}
let g:ale_fixers['javascript'] = [
\ 'prettier_eslint',
\]
let g:ale_fix_on_save = 1
let g:ale_javascript_prettier_eslint_options = '--single-quote --trailing-comma es5 --no-semi'

And when I save JS files it does run.
However if I then, on the command line, run:
./node_modules/.bin/prettier-eslint --no-semi --single-quote --trailing-comma es5 src/foo.js

It gives me different output. Most of the differences seem to relate to desired line length. For example, here you can see a diff. Each line with a - was what ALE wrote, and the + is what the command line changed it to:
-        if (
-          dst[key] &&
-          dst[key].constructor &&
-          dst[key].constructor === Object
-        ) {
+        if (dst[key] && dst[key].constructor && dst[key].constructor === Object) {

I'm not sure if there's some extra settings I need to set but I can't see anything obvious.

Here's my ALEInfo, although it doesn't seem to mention Prettier ESLint in there. I ran this just after I ran ALEFix.
Current Filetype: javascript
Available Linters: ['eslint', 'flow', 'jscs', 'jshint', 'standard', 'xo']
Enabled Linters: ['eslint', 'flow', 'jscs', 'jshint', 'standard', 'xo']
Linter Variables:
let g:ale_javascript_eslint_executable = 'eslint'
let g:ale_javascript_eslint_options = ''
let g:ale_javascript_eslint_use_global = 0
let g:ale_javascript_flow_executable = 'flow'
let g:ale_javascript_flow_use_global = 0
let g:ale_javascript_jshint_executable = 'jshint'
let g:ale_javascript_jshint_use_global = 0
let g:ale_javascript_standard_executable = 'standard'
let g:ale_javascript_standard_options = ''
let g:ale_javascript_standard_use_global = 0
let g:ale_javascript_xo_executable = 'xo'
let g:ale_javascript_xo_options = ''
let g:ale_javascript_xo_use_global = 0
Global Variables:
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_format = '%s'
let g:ale_echo_msg_warning_str = 'Warning'
let g:ale_enabled = 1
let g:ale_keep_list_window_open = 0
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'never'
let g:ale_linter_aliases = {}
let g:ale_linters = {'html': []}
let g:ale_open_list = 0
let g:ale_set_highlights = 0
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_set_signs = 1
let g:ale_sign_column_always = 0
let g:ale_sign_error = '>>'
let g:ale_sign_offset = 1000000
let g:ale_sign_warning = '--'
let g:ale_statusline_format = ['⨉ %d', '⚠ %d', '']
let g:ale_warn_about_trailing_whitespace = 1
Command History:
(finished - exit code 0) ['/bin/zsh', '-c', '''/Users/jackfranklin/git/songkick/ng-store/node_modules/eslint/bin/eslint.js'' -f unix --stdin --stdin-filename ''/Users/jackfranklin/git/songkick/ng-store/src/app/bootstrap.js'' < ''/var/folders/_x/3v71r9wx7t932h0528ww4wh40000gn/T/vhNvuIn/5/bootstrap.js''']
<<>>
(finished - exit code 0) ['/bin/zsh', '-c', '''/Users/jackfranklin/git/songkick/ng-store/node_modules/eslint/bin/eslint.js'' -f unix --stdin --stdin-filename ''/Users/jackfranklin/git/songkick/ng-store/src/app/bootstrap.js'' < ''/var/folders/_x/3v71r9wx7t932h0528ww4wh40000gn/T/vhNvuIn/7/bootstrap.js''']
<<>>

So this does seem to be down to the print-width option that Prettier has. When I set it in Ale to a larger value (say, 120), its formatting matches what I'd expect.  But when I set it back to 80 then Ale starts formatting differently.

Got it! It's because we have an ESLint rule that sets max-len to 120, and I would assume that prettier-eslint on the command line is reading that and using it to configure Prettier. I'm not sure why that doesn't happen when ALE runs it though. I'll keep digging.

I recommend using prettier combined with eslint instead.

let g:ale_fixers['javascript'] = ['prettier', 'eslint']

If you install eslint_d, ALE will run that instead. eslint_d can execute much more quickly, but isn't always up-to-date with the latest version of ESLint.

Great, thank you! I'll try setting up elsint_d.

eslint_d is indeed much quicker, thank you!
I am noticing one thing though; I'm now not seeing ESLint errors appear on save, as I would expect, when I have ESLint enabled for linting + Prettier/ESLint for fixing. Once Prettier has run + the buffer has saved I don't see any new lint errors; just the old ones; and I have to manually run ALELint to trigger them. Maybe if fixing, we should fix + then lint afterwards again?

It should be doing that. I'll take a look at that later when I look at the file reloading issues.
I'll see if it's possible to set the ESLint config for prettier-eslint like I do for the eslint fixer.

Now the documentation contains my recommendation. I'll be looking into the other issue.

Hello (I'm so sorry for spamming you), this is still happening to me. My setup is:
let g:ale_linters = { 'javascript': ['eslint'] }
let g:ale_sign_column_always = 1
let g:ale_lint_on_text_changed = 'never'
let g:ale_lint_on_enter = 0
let g:ale_fixers = {}
let g:ale_fixers['javascript'] = ['prettier_eslint']

and in package.json
  "devDependencies": {
    "babel-eslint": "^8.0.0",
    "eslint": "^4.7.2",
    "eslint-plugin-prettier": "^2.3.1",
    "eslint-plugin-react": "^7.3.0",
    "prettier": "^1.7.0",
    "prettier-eslint": "^8.1.1"
  }

You may have to update some of your packages for it to work. I'm not sure myself, as I don't use prettier.

yeah, that's why I thought but I/m pretty sure I'm using the latest versions of my dependencies, I even updated my plugins. Sorry for keeping this alive :(

@ricbermo you get this working?

@megalithic well it's working now. You can check my dotfiles. Also, I have this config on my projects:
    "async": "^2.6.0",
    "babel-cli": "^6.24.1",
    "babel-eslint": "^8.0.2",
    "babel-jest": "22.4.1",
    "babel-plugin-module-resolver": "^3.0.0",
    "babel-preset-env": "^1.4.0",
    "babel-preset-flow": "^6.23.0",
    "babel-preset-react-native": "4.0.0",
    "babel-preset-stage-2": "^6.24.1",
    "babel-watch": "^2.0.6",
    "chalk": "^1.1.3",
    "eslint": "^4.12.0",
    "eslint-import-resolver-babel-module": "^4.0.0-beta.3",
    "eslint-plugin-import": "^2.8.0",
    "eslint-plugin-prettier": "^2.3.1",
    "eslint-plugin-react": "^7.5.1",
    "flow-bin": "^0.46.0",
    "fs-extra": "^3.0.1",
    "jest": "22.4.2",
    "nps": "^5.7.1",
    "nps-utils": "^1.5.0",
    "patch-package": "5.1.1",
    "prettier": "^1.8.2",
    "prettier-eslint": "^8.2.2",
    "react-test-renderer": "16.2.0",
    "reactotron-react-native": "^1.13.2",
    "reactotron-redux": "^1.13.0",
    "redux-mock-store": "^1.3.0",
    "yargs": "^8.0.1"
  },

authors: jackfranklin megalithic ricbermo w0rp


text:
[new linter] add stylelint support

add stylelint support for

css
scss
sass

Looks good to me. :+1:

I'm having trouble getting stylelint to pick up my style violations.
I've tried editing a file within a directory that has a .stylelintrc and a nested directory too, but I never see any violations in the gutter.
Is there something special I need to do @diartyz?

@aaronmcadam
you doesn't need to specify a syntax, it will be automatically inferred by the file extension.
can you get the error when you using stylelint in shell ?
eg: stylelint path/to/file

Thanks @diartyz, it turned out that my global stylelint was out of date and I was configuring a property that didn't exist with that version. It's working now :smile:

@aaronmcadam
btw, you can use the local npm package now.
https://github.com/w0rp/ale/pull/226

authors: aaronmcadam diartyz w0rp


text:
Improvements by imaandrew

@w84death , just letting you know about these improvements by @imaandrew (not tested by myself yet). And thank you so much for such a wonderful project! Here's why I am so interested:
Even today the floppies are still being used, for example - as virtual floppies inside the coreboot open source BIOS. Just imagine: your wonderful floppy could be a part of someone's BIOS build! (for a coreboot supported motherboard, maybe you have or could get one - see https://www.coreboot.org/Supported_Motherboards )
If you already have a coreboot-supported motherboard, or a real chance to get one, - wouldn't it be cool to be able to launch your own OS straight from the BIOS chip? ;) With one simple command its possible to add any floppy to coreboot BIOS build - and then you see it as a permanent boot entry at your BIOS menu! Multiple floppies could be added this way (as long as you have enough space left inside the BIOS flash chip, luckily LZMA compression could be used for the stored floppies to reduce their occupied size)

@informer2016 this is awesome! I did not know that coreboot has such functionality. Thanks a lot for the tip now I'm way more curious about this BIOS replacement :)


text:
Commonjs export is not working

I have a module which depends on cal-heatmap. In this module, I'm importing cal-heatmap via esm
import CalHeatmap from "cal-heatmap";
...

I'm bundling this module with webpack using the umd target and because I do not want the bundle size of the module to be large, I've externalize cal-heatmap.
Externalizing cal-heatmap causes it to be referenced in the module using the commonjs syntax, require("cal-heatmap");
But when I use the exported module in my project, the reference to cal-heatmap breaks the project. After hours of hair-pulling, I noticed that the global d3, d3-selection, d3-color and d3-fetch externalized in cal-heatmap is the root source of the issue. They are all undefined when imported with commonjs syntax

change it into
import CalHeatmap from '@labzh/cal-heatmap'

authors: FallingEpiphany nkemcels


text:
Oculus Go (aka Android 7.0) support posible?

Is your feature request related to a problem? Please describe.
I hace tried installing the app in a Oculus Go VR headset, but the installation failed. After some research, it seems that the Oculus Go supports only Android 7.0 and the app requires Android 8.0 at minimum.
Describe the solution you'd like
I was wondering if would be posible to give support to Android 7.0. The Oculus Go has an important storage limitation because it don't have external SD card support, so would be great if you could access network shares using SAF, because is not common that apps support opening media from Samba or SFTP servers.
Describe alternatives you've considered
I really don't know of any, besides trying to fake Android version (that would require a rooted device and even could be useless if the app really needs something only found in Android 8.0+) or simply copying contents to the Oculus internal "SD"...
Additional context

Sorry, there are no plans that support Android below 8.0.
Because CIFS Documents Provider uses ProxyFileDescriptorCallback class. It requires Android 8.0.
ProxyFileDescriptorCallback may be replaced by ParcelFileDescriptor. But I don't know if it will work.
And Google Play Store can not accept apps that support lower versions than the current version.
So I have no plan to support Android 7.0.


text:
您好，请问中文双语训练，能否给点思路？

您好，请问单角色中文双语训练，能否给点思路？

中文双语是什么意思?中英双语?


text:
wagtailadmin media should be added via JSContext().pack not statically included in the html

Is your proposal related to a problem?
currently the media that belongs to the wagtailadmin widgets like sidebar is correctly registered in the corresponding adapters, but the output of the adapters is not used to include the media in the page. Instead, the media is statically added in admin_base.html
This poses a problem when modifying the implementation of these components. It is straightforward to register another adapter with telepath to modify the implementation. However, an effort like that will not work, because wagtail does not use the media outputted by the adapters anywhere.
Describe the solution you'd like
The media should added via the correct mechanism, the output of JSContext().pack should be used.
This could be done via a templatetag, sidebar_props could add it to the context, or some other method could be used.
Describe alternatives you've considered
Currently I need to add the media via the extra_js block in the template. This approach is not really the same, because while one can replace media by working with the adapter, you can only ADD media via the extra_js block.
Ideally, all the wagtailadmin media should be added by the JSContext().pack method, because it allows for extension/modifycation of wagtail without duplication code, scripts and css.
Additional context
I noticed this problem while customizing the Sidebar SearchModule.

Thanks for the report @specialunderwear! I agree with your assessment - the sidebar_props tag is currently taking the result of JSContext().pack(modules) and discarding the media object created in that process, and that's not correct, even if it doesn't matter for the built-in set of modules (because they rely on the registration happening in the global sidebar.js code instead, and don't contribute any media definitions of their own).
One possibility would be to move sidebar.js into the media for each module (although then the call to initSidebar() would need to move somewhere else, since that's not tied to any specific module definition). But really, there's no need for sidebar.js to be its own JS endpoint at all - this code could just be bundled into the global wagtailadmin.js bundle.
Since the sidebar_props tag is only outputting a <script type="application/json"> tag anyhow, and there's no reason why that couldn't be in the extra_js block alongside the media declaration, my preferred fix would be:

move everything from sidebar.js into wagtailadmin.js (and move telepath.js above it in the global JS list in admin_base.html, to keep the dependencies correct)
move the {% sidebar_props %} tag into an extra_js block within base.html
fix sidebar_props to output the media declaration as well as the <script type="application/json"> tag
leave the existing sidebar modules as they are (i.e. don't introduce any media definitions on them) - however, any overridden modules coming from outside Wagtail can now supply their own media

Just wondering if the 'init' code is better suited to be served by Stimulus as a Stimulus controller instead of Telepath for the sidebar? with the JS data provided as an attribute?

@gasman  good call - can raise that later if the need arises.

authors: gasman lb- specialunderwear

repo: wagtail/wagtail


text:
Add notice on email delivery to Getting Started tutorial

Pertinent section of the Wagtail docs
https://docs.wagtail.org/en/v6.2/tutorial/deployment.html#set-up-fly-io
Details
The tutorial guides new Wagtail users from developing locally to deploying a site with an email form to production, and it does a good job at it. There's however one thing missing from the deployment documentation, and that is an instruction (or pointer) on how to set up an email backend to email the contact form submissions. This causes confusion (Slack link) as Fly.io does not deliver emails out of the box.
The SMTPBackend seems an obvious choice at first, but given that the deployment tutorial is based on serverless providers, it may make more sense to write a guide for something like sendgrid. (I have no experience with it; it's just to give an example.)
As @cnk rightly pointed out on Slack, configuring an MTA might as well go beyond the scope of the tutorial, in which case it makes more sense to have readers configue the ConsoleBackend, which is suitable for testing locally and easy to configure.
What are your thoughts on this?
Working on this
We suggest the following:

add a note about the console backend to the contact page page
augment the deployment documentation with more profound instructions on how to set up email delivery with Fly.io

Anyone can contribute to this. View our contributing guidelines, add a comment to the issue once you’re ready to start.

I will love to work on this. I have done some research on this issue and I would love to share my finding with you.
I think adding ConsoleBackend for local testing is crucial for beginners, as it simplifies verifying contact forms without complex setups.
Along with that, giving them option to opt for any email service providers would be beneficial. Some of the providers which I think would be the best for this includes : MailerSend, SMTP2GO or SendPulse. Let me know your opinions on this. Please note that I am new to wagtail and many of the technologies I mentioned above so any suggestions on my improvements are very much welcomed.

@harikrishnatp it would be great if you could pick this up. I agree with your approach - add information about configuring Django's console backend when in development (perhaps when DEBUG=True?) with a note that you will need to find an email sending service before moving to production. Then in the fly.io section, perhaps list some common options and say "search for 'django + '" for setup details.
I did a quick search on fly.io to see what they say about email. It appears they have a new email service of their own but it isn't immediately obvious that it is a drop in back end for Django's email system. If you can figure that out, perhaps include it in a second PR but I suggest you do this first one without it so we can get it merged more quickly.

The tutorial already uses the console email backend in development, so as far as the tutorial step, I think all we should add is a quick mention that this is the case, and why.
Re the Fly.io section – I wouldn’t recommend we maintain our own list of common options. It’s going to be hard for us to decide which ones are worth listing or no. Instead, we should either:

Point to an existing list.
Tell people how to look this up.
Write the tutorial for one specific option (when creating the tutorial, we decided on Mailgun, and just didn’t have the time to add it)

@harikrishnatp Thank you for picking this up!
@cnk Only enabling ConsoleBackend with DEBUG == True makes sense. In the current documentation however, users are instructed to enable ConsoleBackend in mysite/settings/production.py. So ideally, the instruction would be to add ConsoleBackend in mysite/settings/dev.py and a production-ready backend in mysite/settings/production.py.
@thibaudcolas The third option seems the best one to me, and I suppose that SMTPBackend will cover almost any production use case. That said, Mailgun supports sending emails through SMTP, so maybe we should mention how to configure SMTPBackend with Mailgun.

Thanks for the suggestions ! I've reverted the code changes as requested by @thibaudcolas but mentioned the difference between console backend and SMTP backend for production.

I've  mentioned that the console backend should be used during development to log emails to the console for testing purposes in the dev.py file

For production environments, I've recommended using the SMTP backend with an appropriate email service provider for reliable email delivery in the prooduction.py file

Apologies for the delay in making the PR; I had an exam to focus on recently. I look forward to your thoughts on these changes!"

authors: cnk garraflavatra harikrishnatp thibaudcolas


text:
Checkbox to toggle "noindex" for pages

It would be good to have a "set noindex meta" flag, to be able to disable indexing of single pages easily.
Similar to the "show in menu" toggle, and simply inserts
<meta name="robots" content="noindex" />
It would fits the "promote" tab, somehow, as an "anti promotion".
I am aware that this is not a "security" feature; but sometimes some minor page just shouldn't be indexed even though public.

Hi @kno10 - thanks for the suggestion!
Unfortunately I don't think this is going to be possible within the current design of Wagtail: we could add the flag to the basic Page model, but Wagtail deliberately doesn't have any control over the HTML of your front-end templates, so there's no way to ensure that the relevant tag code is in place on the base template. (We could include it in the default base.html in the wagtail start project template, but there's no guarantee that a project is actually using that - if they aren't, they'll end up with a checkbox in the admin that has no effect.)
Once we've implemented swappable page models (#3282), it will be possible for us to add this flag as part of the default project template, so that people starting a new project get this feature "for free" (and existing projects are unaffected). Meanwhile, there is of course nothing to stop you from adding this flag (and the relevant template logic) to your own page models within your project.

The same applies to e.g. the existing search_description and seo_title fields.
They also rely on compatible templates to work.
Most likely, also the "show in menus" is similar, isn't it?

The same applies to e.g. the existing search_description and seo_title fields.
They also rely on compatible templates to work.

True - I'm not a huge fan of having those as standard fields either :-) At least with those fields, there's a level of interpretation about what they mean on the front-end - for example, search_description might just be used for the site's own search results, rather than exposed through the meta description tag.
The "noindex" flag is different to those, because it's promising a specific behaviour that developers are then required to incorporate into their sites - if they don't, the site will appear to be broken, in a potentially damaging way. (It doesn't matter too much if an editor fills in a search description that turns out never to be used; it definitely does matter if an editor was expecting their page to be hidden from Google, but it ends up appearing there.)

@gasman Would it be more acceptable to implement this with the X-Robots-Tag: noindex http header instead?
That way, Wagtail wouldn't be opinionated about the html
(google noindex documentation: https://developers.google.com/search/docs/advanced/crawling/block-indexing)

@mikemonteith That sounds like a good plan, yep! I think that if we were to add a feature like that at this point, though, we'd need to make sure there's a clean way to disable it, so that it doesn't get in the way of people who've already implemented the equivalent functionality on their sites.

authors: gasman kno10 mikemonteith