我已经有同样的 eslint 问题好几天了。
团队中的每个人都拥有相同的 eslintrc 和已安装的 eslint 版本。他们的 eslint 工作正常,我的不行。
我尝试重新启动我的计算机,删除 node_modules,删除我的用户下的任何内容(在主目录中)。什么都行不通。
问题:
./node_modules/.bin/eslint *.js*
? 1 ? ? 11504 ? 10:19:47
Cannot read property 'range' of null
TypeError: Cannot read property 'range' of null
at SourceCode.getTokenBefore (/Users/jhill/gitRepo/sponsoroo/node_modules/eslint/lib/token-store/index.js:303:18)
at checkSpacingBefore (/Users/jhill/gitRepo/sponsoroo/node_modules/eslint/lib/rules/template-curly-spacing.js:52:42)
at TemplateElement (/Users/jhill/gitRepo/sponsoroo/node_modules/eslint/lib/rules/template-curly-spacing.js:117:17)
at listeners.(anonymous function).forEach.listener (/Users/jhill/gitRepo/sponsoroo/node_modules/eslint/lib/util/safe-emitter.js:47:58)
at Array.forEach (<anonymous>)
at Object.emit (/Users/jhill/gitRepo/sponsoroo/node_modules/eslint/lib/util/safe-emitter.js:47:38)
at NodeEventGenerator.applySelector (/Users/jhill/gitRepo/sponsoroo/node_modules/eslint/lib/util/node-event-generator.js:251:26)
at NodeEventGenerator.applySelectors (/Users/jhill/gitRepo/sponsoroo/node_modules/eslint/lib/util/node-event-generator.js:280:22)
at NodeEventGenerator.enterNode (/Users/jhill/gitRepo/sponsoroo/node_modules/eslint/lib/util/node-event-generator.js:294:14)
at CodePathAnalyzer.enterNode (/Users/jhill/gitRepo/sponsoroo/node_modules/eslint/lib/code-path-analysis/code-path-analyzer.js:608:23)
Run Code Online (Sandbox Code Playgroud)
细节
版本:
./node_modules/.bin/eslint --version
v4.16.0
Run Code Online (Sandbox Code Playgroud)
.eslintrc
{
"extends": ["airbnb-base", "plugin:security/recommended"],
"rules": {
"import/prefer-default-export": "off", …
Run Code Online (Sandbox Code Playgroud) 我正在尝试为GKE上的负载均衡器设置静态外部IP,但没有运气.这是我的Kubernetes服务配置文件:
kind: Service
apiVersion: v1
metadata:
name: myAppService
spec:
selector:
app: myApp
ports:
- protocol: TCP
port: 3001
targetPort: 3001
type: LoadBalancer
loadBalancerIP: *********
Run Code Online (Sandbox Code Playgroud)
这不起作用.我希望看到我的外部IP为*********,但它只是说待处理:
? git:(master) kubectl get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ********* <none> 443/TCP 5m
myAppService ********* <pending> 3001:30126/TCP 5m
Run Code Online (Sandbox Code Playgroud)
更多细节:
? git:(master) kubectl describe services
Name: kubernetes
Namespace: default
Labels: component=apiserver
provider=kubernetes
Annotations: <none>
Selector: <none>
Type: ClusterIP
IP: *********
Port: https 443/TCP
Endpoints: *********
Session Affinity: ClientIP
Events: <none>
Name: myAppService
Namespace: default …
Run Code Online (Sandbox Code Playgroud) 我试图通过模拟runQuery和createQuery函数对下面的listEntities函数进行单元测试。也许我应该放弃并使用仿真器进行集成测试。反正这是我的代码
实现方式:
const Datastore = require('@google-cloud/datastore');
const datastore = Datastore();
const runQueryDS = query => (datastore.runQuery(query));
const createQueryDS = kind => (datastore.createQuery(kind));
export const listEntities = (kind, runQuery = runQueryDS, createQuery = createQueryDS) => {
console.log('listEntities');
const query = createQuery(kind);
runQuery(query)
.then(results => (results[0]));
};
Run Code Online (Sandbox Code Playgroud)
测试:
import { listEntities } from './datastore.api';
describe('datastore api', () => {
describe('listEntities', () => {
test('should return list of items', () => {
console.log('begin test');
const kind = 'TestRun';
const createdQuery = 'createdQuery';
const …
Run Code Online (Sandbox Code Playgroud) 您好stackoverflow / circleci上帝。
我已经使用CircleCI已有一段时间了,我对“结帐”步骤有疑问,我将尽力解释。这是我的circleCI配置文件的片段(我有一个工作为“ a-job”,其第一步是结帐):
a-job:
docker:
- image: docker-image-here
steps:
- checkout
...
Run Code Online (Sandbox Code Playgroud)
我的问题是,circleci步骤“签出”是从母版还是特定提交的代码中提取最新代码。
即签出只是git clone master:latest还是git clone特定提交在这里
const Datastore = require('@google-cloud/datastore');
const datastore = Datastore();
function listTasks(res) {
const query = datastore.createQuery('Test');
datastore.runQuery(query)
.then((results) => {
const tasks = results[0];
tasks.forEach((task) => {
const taskKey = task[datastore.KEY];
console.log(taskKey.id, task);
});
res.send(tasks);
})
.catch((err) => {
console.error('ERROR:', err);
});
}
Run Code Online (Sandbox Code Playgroud)
我想对上面的代码进行单元测试,但是我不知道如何模拟/存根谷歌云数据存储对象/方法。例如,我想模拟/存根datastore.createQuery('Test'),但不知道如何。
google-app-engine unit-testing node.js google-cloud-datastore google-cloud-node
我在实际代码中遇到问题,并使用以下示例代码复制了该问题。
\n#include <iostream>\n#include <tuple>\n\nusing namespace std;\n\nstruct Identity\n{\n template <typename... T>\n static std::tuple<T...> Apply(T... val)\n {\n return std::tuple(val...);\n }\n};\n\ntemplate <typename F, typename... T>\nstd::tuple<T...> Apply(T... t)\n{\n return F::Apply<T...>(t...);\n}\n\nint main()\n{\n const auto t = Apply<Identity>(1., 2., 3.);\n cout << std::get<0>(t);\n cout << std::get<1>(t);\n cout << std::get<2>(t);\n return 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n编译错误:
\nmain.cpp:26:22: error: expected primary-expression before \xe2\x80\x98...\xe2\x80\x99 token\n return F::Apply<T...>(t...);\n ^~~\nmain.cpp:26:22: error: expected \xe2\x80\x98;\xe2\x80\x99 before \xe2\x80\x98...\xe2\x80\x99 token\nmain.cpp:26:22: error: expected primary-expression before \xe2\x80\x98...\xe2\x80\x99 token\n
Run Code Online (Sandbox Code Playgroud)\n如果我从有问题的语句中删除 <T...> return F::Apply(t...);
,并让编译器推断出类型,它就会起作用。但是,在我的现实世界代码中,我需要指定类型。特定类型并满足编译器的正确语法糖是什么?
node.js ×2
c++ ×1
c++17 ×1
circleci ×1
eslint ×1
git ×1
jest ×1
kubernetes ×1
node-modules ×1
npm ×1
unit-testing ×1