Giter VIP home page Giter VIP logo

feflow's Introduction

English | 简体中文

Feflow

🚀 A tool aims to improve front-end engineer workflow and standard, powered by TypeScript.


npm Build Status Install Size Downloads lerna GitHub contributors Issue resolution PR's welcome

Introduction

Feflow is an engineering solution of Tencent's open source front-end field, which is committed to improving development efficiency and specification.

Getting Started

Let's start by installing Feflow with npm.

npm install @feflow/cli -g

There are three kinds of commands in Feflow

  • Native Commands
    • fef config
    • fef help
    • fef info
    • fef install
    • fef uninstall
    • fef list

You can write a Feflow devkit or plugin to extends commands.

More detail document can be found:

Change Log

This project adheres to Semantic Versioning. Every release, along with the migration instructions, is documented on the GitHub Releases page.

License

MIT

feflow's People

Contributors

cejako avatar codetker avatar cpselvis avatar dependabot[bot] avatar enjoychan avatar fxy-during avatar gitsumsalt avatar gitter-badger avatar happycoding1024 avatar leoeatle avatar ljiawliu avatar mrgaogang avatar nikewu avatar qcyhust avatar renbaoshuo avatar shanshandev avatar sourceliu avatar stevenzwzhai avatar superjolly avatar tingglelaoo avatar tiny-lin avatar vabaly avatar wadezhan avatar wninem avatar xqxian avatar zhulin2609 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

feflow's Issues

主机名与RTX名不同导致feflow init失败

For BUG

问题描述

主机名、RTX名不同,导致feflow init过程失败。

环境描述:

  • osx:10.13.6 (17G65)
  • feflow:v0.14.1
  • nodejs:v6.14.4

重现步骤

  1. feflow init 之后,选择模板基于 React + Redux + Webpack 的 web 业务开发解决方案
  2. 初始化过程的应答:自动申请monitor id、badjs id、离线包、创建 git 项目

update 错误

For BUG

pkgJson方法获取最新版本时返回404 error

支持命令行直接完成feflow初始化

第一次使用feflow的时候,需要交互式输入npm的registry和npm的proxy完成初始化。
但在build docker镜像的时候,不能交互式输入,所以没办法完成Feflow的初始化步骤
希望可以支持命令行直接完成初始化的功能

支持脚本创建新项目

For Feature

希望能支持:

  1. 通过脚本创建项目
  2. 支持配置的方式传入所需参数
  3. 配置支持配置多个页面,通过脚手架生成的项目包含多个页面

官网打不开

网站暂时无法访问
该网站未根据工信部相关法律规则进行备案
可能因为以下原因:
原因一: 该网站未根据工信部要求完成备案

如何进行网站备案?

原因二: 该网站可能存在不适宜传播的内容

更多备案帮助,可咨询客服

feflow 所有命令报错问题

For BUG

当第一次使用 feflow 的时候
出现输入 register,但是这个 register 可能有用户输入出错,比如
image

现在使用feflow -h,出现
image

这个时候,想要使用 feflow config 重新设置正确的 register,但是还是出现如下(设置register失效):
image

使用其他命令
image

也就是说第一次用户如果输入 register 错误的话,将会导致一切命令都失效,重新设置都无效,必须将~/.feflow目录删除,才能重新输入正确的 register。建议添加一些容错处理。

For question

For feature request

运行到init之后链路就断了

feflow init
? 请输入npm的registry: http://registry.npmjs.org
? 请输入npm的proxy(默认为空): 
Feflow INFO  初始化完成,请输入命令开启feflow的使用之旅。(帮助:feflow -h)

运行完init,什么也没生成,也没有变化,不知道要干什么?文档指引不够清晰

希望插件的使用可以更加灵活(pipeline化)

通过这个项目的接入体验之后,个人感觉最大的痛点是目前一个插件一个命令,导致操作分散,缺乏 pipeline 的概念。

在目前的版本看来,现在一个插件对应为一个命令,这就导致了如果我引入多个插件时需要运行多个插件命令才能完成固化的某个阶段性任务。例如,在发布阶段,自动化部署 => 接口文档更新(插件) => 发布 changelog (插件),需要手工对应地运行多个插件命令,而不是直接通过拓展 npm run build 命令来自动化串联任务。

所以,基于以上,对此的诉求是:希望插件的引入可以 pipeline 化,通过指定某个命令执行就可以完成多个插件命令的串联执行。

feflow 支持本地构建器

能否在feflow.json中定义

builderType: false

的时候无需全局安装构建器,而是交给模板里的webpack配置处理。
feflow dev运行时可以自动改为运行npm start

无法正常clone代码

For question

当我clone代码时显示:

git clone https://github.com/feflow/feflow.git
Cloning into 'feflow'...
remote: Counting objects: 1248, done.
remote: Compressing objects: 100% (154/154), done.
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

bug: missing dependencies

  1. bug description: feflow init 后, tnpm start时提示缺少依赖(已执行$ feflow install feflow-plugin-deps $ feflow deps --global

  2. dev environment:

    • node v9.1.0
    • npm v5.5.1
    • tnpm v5.0.11
    • macOS 10.13.1
  3. bug log:

     [WARNI] Can't resolve `@tencent/util` in file [/actions/appStatus.js], did you miss `npm install @tencent/util`?
    ..
     [WARNI] Can't resolve `@tencent/util` in file [/assets/business/downloader.js], did you miss `npm install @tencent/util`?
    .
     [WARNI] Can't resolve `@tencent/now-jsbridge` in file [/assets/business/ui.js], did you miss `npm install @tencent/now-jsbridge`?
    
     [WARNI] Can't resolve `@tencent/util` in file [/assets/business/ui.js], did you miss `npm install @tencent/util`?
    
     [WARNI] Can't resolve `@tencent/device` in file [/assets/business/ui.js], did you miss `npm install @tencent/device`?
    .
     [WARNI] Can't resolve `@tencent/util` in file [/assets/config/config.js], did you miss `npm install @tencent/util`?
    
     [WARNI] Can't resolve `@tencent/device` in file [/assets/config/config.js], did you miss `npm install @tencent/device`?
    .
     [WARNI] Can't resolve `react-fastclick` in file [/assets/global/global.js], did you miss `npm install react-fastclick`?
    
     [WARNI] Can't resolve `@tencent/imweb-react-mixin` in file [/assets/global/global.js], did you miss `npm install @tencent/imweb-react-mixin`?
    .
     [WARNI] Can't resolve `@tencent/modjs` in file [/assets/global/lib.js], did you miss `npm install @tencent/modjs`?
    
     [WARNI] Can't resolve `@tencent/promise` in file [/assets/global/lib.js], did you miss `npm install @tencent/promise`?
    
     [WARNI] Can't resolve `redux` in file [/assets/global/lib.js], did you miss `npm install redux`?
    
     [WARNI] Can't resolve `redux-thunk` in file [/assets/global/lib.js], did you miss `npm install redux-thunk`?
    
     [WARNI] Can't resolve `react-dom` in file [/assets/global/lib.js], did you miss `npm install react-dom`?
    
     [WARNI] Can't resolve `react-redux` in file [/assets/global/lib.js], did you miss `npm install react-redux`?
    
     [WARNI] Can't resolve `react-fastclick` in file [/assets/global/lib.js], did you miss `npm install react-fastclick`?
    
     [WARNI] Can't resolve `humps` in file [/assets/global/lib.js], did you miss `npm install humps`?
    ...
     [WARNI] Can't resolve `@tencent/util` in file [/assets/utils/base64.js], did you miss `npm install @tencent/util`?
    .
     [WARNI] Can't resolve `@tencent/util` in file [/assets/utils/dom.js], did you miss `npm install @tencent/util`?
    .
     [WARNI] Can't resolve `@tencent/util` in file [/assets/utils/index.js], did you miss `npm install @tencent/util`?
    .
     [WARNI] Can't resolve `@tencent/util` in file [/assets/utils/mqq.js], did you miss `npm install @tencent/util`?
    
     [WARNI] Can't resolve `@tencent/now-util-mqq` in file [/assets/utils/mqq.js], did you miss `npm install @tencent/now-util-mqq`?
    
     [WARNI] Can't resolve `@tencent/now-util-device` in file [/assets/utils/mqq.js], did you miss `npm install @tencent/now-util-device`?
    .
     [WARNI] Can't resolve `@tencent/util` in file [/assets/utils/open.js], did you miss `npm install @tencent/util`?
    
     [WARNI] Can't resolve `@tencent/device` in file [/assets/utils/open.js], did you miss `npm install @tencent/device`?
    
     [WARNI] Can't resolve `@tencent/fake-protocol` in file [/assets/utils/open.js], did you miss `npm install @tencent/fake-protocol`?
    
     [WARNI] Can't resolve `@tencent/visibility-state` in file [/assets/utils/open.js], did you miss `npm install @tencent/visibility-state`?
    
     [WARNI] Can't resolve `@tencent/tx-send` in file [/assets/utils/open.js], did you miss `npm install @tencent/tx-send`?
    .
     [WARNI] Can't resolve `@tencent/util` in file [/assets/utils/proj.js], did you miss `npm install @tencent/util`?
    
     [WARNI] Can't resolve `@tencent/device` in file [/assets/utils/proj.js], did you miss `npm install @tencent/device`?
    .
     [WARNI] Can't resolve `@tencent/util` in file [/assets/utils/qqapi.js], did you miss `npm install @tencent/util`?
    .
     [WARNI] Can't resolve `@tencent/util` in file [/assets/utils/time.js], did you miss `npm install @tencent/util`?
    ...
     [WARNI] Can't resolve `@tencent/db` in file [/middleware/api.js], did you miss `npm install @tencent/db`?
    
     [WARNI] Can't resolve `humps` in file [/middleware/api.js], did you miss `npm install humps`?
    ...
     [WARNI] Can't resolve `@tencent/tx-monitor` in file [/middleware/report.js], did you miss `npm install @tencent/tx-monitor`?
    ..
     [WARNI] Can't resolve `@tencent/fake-protocol` in file [/modules/common/framework-util.js], did you miss `npm install @tencent/fake-protocol`?
    
     [WARNI] Can't resolve `@tencent/huatuo` in file [/modules/common/framework-util.js], did you miss `npm install @tencent/huatuo`?
    .
     [WARNI] Can't resolve `@tencent/fake-protocol` in file [/modules/common/frameworkUtil.js], did you miss `npm install @tencent/fake-protocol`?
    
     [WARNI] Can't resolve `@tencent/huatuo` in file [/modules/common/frameworkUtil.js], did you miss `npm install @tencent/huatuo`?
    .
     [WARNI] Can't resolve `@tencent/util` in file [/modules/common/wordingRandom.js], did you miss `npm install @tencent/util`?
    .
     [WARNI] Can't resolve `react` in file [/modules/components/dialog/index.js], did you miss `npm install react`?
    ..
     [WARNI] Can't resolve `react` in file [/modules/components/download-bar/index.js], did you miss `npm install react`?
    
     [WARNI] Can't resolve `react-redux` in file [/modules/components/download-bar/index.js], did you miss `npm install react-redux`?
    
     [WARNI] Can't resolve `@tencent/device` in file [/modules/components/download-bar/index.js], did you miss `npm install @tencent/device`?
    
     [WARNI] Can't resolve `@tencent/util` in file [/modules/components/download-bar/index.js], did you miss `npm install @tencent/util`?
    ..
     [WARNI] Can't resolve `@tencent/util` in file [/modules/components/download-bar/report.js], did you miss `npm install @tencent/util`?
    
     [WARNI] Can't resolve `@tencent/aop` in file [/modules/components/download-bar/report.js], did you miss `npm install @tencent/aop`?
    
     [WARNI] Can't resolve `@tencent/device` in file [/modules/components/download-bar/report.js], did you miss `npm install @tencent/device`?
    .
     [WARNI] Can't resolve `react` in file [/modules/components/progress_loading/index.js], did you miss `npm install react`?
    
     [WARNI] Can't resolve `react-redux` in file [/modules/components/progress_loading/index.js], did you miss `npm install react-redux`?
    ..
     [WARNI] Can't resolve `react` in file [/modules/components/titlebar/index.js], did you miss `npm install react`?
    
     [WARNI] Can't resolve `classnames` in file [/modules/components/titlebar/index.js], did you miss `npm install classnames`?
    
     [WARNI] Can't resolve `@tencent/now-jsbridge` in file [/modules/components/titlebar/index.js], did you miss `npm install @tencent/now-jsbridge`?
    ....
     [WARNI] Can't resolve `redux` in file [/modules/globalStore/Store.js], did you miss `npm install redux`?
    
     [WARNI] Can't resolve `redux-thunk` in file [/modules/globalStore/Store.js], did you miss `npm install redux-thunk`?
    .
     [WARNI] Can't resolve `react` in file [/modules/page/BasePage.js], did you miss `npm install react`?
    
     [WARNI] Can't resolve `react-dom` in file [/modules/page/BasePage.js], did you miss `npm install react-dom`?
    
     [WARNI] Can't resolve `react-redux` in file [/modules/page/BasePage.js], did you miss `npm install react-redux`?
    
     [WARNI] Can't resolve `@tencent/tx-monitor` in file [/modules/page/BasePage.js], did you miss `npm install @tencent/tx-monitor`?
    
     [WARNI] Can't resolve `@tencent/imweb-report` in file [/modules/page/BasePage.js], did you miss `npm install @tencent/imweb-report`?
    
     [WARNI] Can't resolve `@tencent/huatuo` in file [/modules/page/BasePage.js], did you miss `npm install @tencent/huatuo`?
    
     [WARNI] Can't resolve `@tencent/badjs-report` in file [/modules/page/BasePage.js], did you miss `npm install @tencent/badjs-report`?
    
     [WARNI] Can't resolve `@tencent/util` in file [/modules/page/BasePage.js], did you miss `npm install @tencent/util`?
    
     [WARNI] Can't resolve `@tencent/now-jsbridge` in file [/modules/page/BasePage.js], did you miss `npm install @tencent/now-jsbridge`?
    
     [WARNI] Can't resolve `@tencent/fake-protocol` in file [/modules/page/BasePage.js], did you miss `npm install @tencent/fake-protocol`?
    
     [WARNI] Can't resolve `@tencent/device` in file [/modules/page/BasePage.js], did you miss `npm install @tencent/device`?
    ....
     [WARNI] Can't resolve `@tencent/report-whitelist` in file [/pages/activity/index.html], did you miss `npm install @tencent/report-whitelist`?

希望 feflow init 命令支持传递自定义的配置文件

在写脚手架时,需要能够传递一个本地的配置文件,例如 webpack 就支持这种命令 webpack --config webpack.config.js

希望能够支持 feflow init --config ./a/b/c.js 这种,然后将 ./a/b/c.js 转换成绝对路径 /user/a/b/c.js 传递到 generator 脚手架中,由脚手架获得这个文件之后,自行进行处理

问题 | 进展 | 完成时间

问题 进展 完成时间
插件/套件中未注入feflow实例 进行中
插件/套件初始化失败 进行中
help命令未注册倒是运行报错 进行中
bin命令设置有问题,未指向index.js 进行中
feflow实例的args为空 进行中

建议构建器支持生产环境开启sourcemap生成

监控上报系统如badjssentry可以支持sourcemap还原报错代码位置,但需要将编译生成的sourcemap文件上传至监控系统服务器。
所以希望feflow增加一个配置项允许开启生产环境生成sourcemap,满足上述需求。

windows10项目下运行feflow -v时会报错

For BUG

image

林江反馈:应该是操作系统的原因,在windows10 上项目的根目录执行 feflow -v 时,会弹出如下错误,我怀疑是什么机制导致你的 feflow 命令 和这个 feflow.js 建立了某些关系;因为当我cd src 里面再执行 feflow -v 时,就是正常的

feflow install 提示有误

For BUG

  1. BUG description
    • feflow install 时如果某个插件存在,并且没有安装,初始版本为undefined,应该为null.
    • feflow install时如果插件不存在,提示都是 检测到您本地安装的已经是最新的插件,无需重复安装
  2. feflow版本是v0.10.0

未安装脚手架,初次运行feflow init,给出的提示信息不够明确

For feature request

初次安装feflow-cli,运行feflow init,控制台提示如下

Feflow WARN  检测到你还未安装任何模板,请先安装后再进行项目初始化,参考文档:https://github.com/iv-web/feflow-cli/blob/master/README.md

根据提示信息,跳转到 https://github.com/iv-web/feflow-cli/blob/master/README.md,并没有任何有用信息

建议:

  1. 给出具体的操作指引
  2. 提示信息给到的链接,能跳到该指引

Feflow 会覆盖插件的参数

例如,运行 feflow deploy -h 的时候,显示的其实是 feflow -h 的结果,应该是 feflow 率先获取到 -h 参数,就打印帮助信息了,这里不合理,应该先调用插件,把参数传给插件,而不是覆盖

关于插件安装问题

For bug

在开发插件时,把插件安装到devDependencies中无法运行,发现源码中优先获取dependencies依赖,如果有,就不再获取devDependencies中的依赖,导致命令注册失败

运行feflow dev或者feflow build 需要进行增量更新检测和升级

For feature request

运行feflow dev或者feflow build 需要进行增量更新检测和升级。否则,构建器发布了新版本,没办法自动让用户进行更新。

更新的版本还是根据某个包的package.json里面的campatibleVersion字段进行判断

  "configs": {
    "compatibleVersion": ">=0.1.3"
  }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.