Skip to content

Commit

Permalink
Merge branch 'master' of github.com:surveyjs/survey-library into bug/…
Browse files Browse the repository at this point in the history
…6205-popup-height-after-filtering
  • Loading branch information
OlgaLarina committed Jul 24, 2023
2 parents a3d49d9 + 2d52f19 commit 39880fc
Show file tree
Hide file tree
Showing 334 changed files with 9,174 additions and 299 deletions.
129 changes: 129 additions & 0 deletions build-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -559,13 +559,130 @@ jobs:
ArtifactName: "SurveyJSLibraryBuildAngular"
publishLocation: "Container"

- job: Vue3
steps:
- checkout: self
- checkout: EmptyRepo
persistCredentials: true
clean: true

- task: NodeTool@0
inputs:
versionSpec: "16.x"
displayName: "Install Node.js"

- task: CopyFiles@2
inputs:
SourceFolder: "$(Build.SourcesDirectory)/survey-library/"
Contents: "package.json"
TargetFolder: "$(Build.SourcesDirectory)/Temp/"
OverWrite: true
displayName: "Copy package.json for cache key"

- task: Cache@2
inputs:
key: 'npm-cache-library | $(Build.SourcesDirectory)/Temp/package.json'
path: $(Build.SourcesDirectory)/survey-library/node_modules
cacheHitVar: NPM_CACHE_RESTORED
displayName: Cache NPMs

# setup next release version
- task: DownloadBuildArtifacts@0
inputs:
buildType: "specific"
project: "af2804d2-859a-4705-9ef5-cdf46d1d5d4f"
pipeline: "47"
buildVersionToDownload: "latest"
downloadType: "single"
artifactName: "ReleaseVersionFile"
downloadPath: "$(System.ArtifactsDirectory)"

- task: CopyFiles@2
inputs:
SourceFolder: "$(System.ArtifactsDirectory)/ReleaseVersionFile/"
Contents: "version.txt"
TargetFolder: "$(Build.SourcesDirectory)/"
OverWrite: true
displayName: "Copy Build Artifact - SurveyJSVersion File"

- powershell: |
$version = Get-Content $(Build.SourcesDirectory)/version.txt
Write-Host "##vso[task.setvariable variable=SurveyJSVersion;]$version"
displayName: "setup SurveyJSVersion variable from SurveyJSVersionFile"
##########################################################################

- task: Npm@1
displayName: 'NPM install root'
inputs:
command: install
verbose: false
workingDir: $(Build.SourcesDirectory)/survey-library
condition: ne(variables.NPM_CACHE_RESTORED, 'true')

- script: |
cd $(Build.SourcesDirectory)/survey-library
npm run build_core
npm run build_i18n
npm run build-plugins
displayName: "Build Core"
- script: |
cd $(Build.SourcesDirectory)/survey-library/packages/survey-vue-ui
npm install
displayName: "NPM install packages/survey-vue-ui"
- script: |
cd $(Build.SourcesDirectory)/survey-library/packages/survey-vue-ui
npm run release -- --release-as $(SurveyJSVersion)
git status
displayName: "npm run release"
- script: |
cd $(Build.SourcesDirectory)/survey-library/packages/survey-vue-ui
npm run build
displayName: "Build Vue3"
- script: |
cd $(Build.SourcesDirectory)/survey-library/packages/survey-vue-ui/example
npm install
displayName: "NPM install survey-vue-ui/example"
- script: |
cd $(Build.SourcesDirectory)/survey-library/packages/survey-vue-ui/example
npm run build
displayName: "Build Vue3 Example"
- script: |
cd $(Build.SourcesDirectory)/survey-library/packages/survey-vue-ui
npm run test:single
displayName: "run unit and markup tests"
- script: |
cd $(Build.SourcesDirectory)/survey-library
npm run testcafe:ci:vue3
displayName: "run functional tests"
- task: CopyFiles@2
inputs:
SourceFolder: "$(Build.SourcesDirectory)/survey-library/build/survey-vue3-ui"
TargetFolder: "$(Build.ArtifactStagingDirectory)/SurveyJSLibraryBuild/packages/survey-vue3-ui"

- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: "$(Build.ArtifactStagingDirectory)/SurveyJSLibraryBuild/"
ArtifactName: "SurveyJSLibraryBuildVue3"
publishLocation: "Container"


- job: Finalize
dependsOn:
- CoreAngularJquery
- Knockout
- React
- Vue
- Angular
- Vue3

steps:
- checkout: self
Expand Down Expand Up @@ -678,6 +795,13 @@ jobs:
artifactName: 'SurveyJSLibraryBuildAngular'
downloadPath: '$(System.ArtifactsDirectory)'

- task: DownloadBuildArtifacts@0
inputs:
buildType: 'current'
downloadType: 'single'
artifactName: 'SurveyJSLibraryBuildVue3'
downloadPath: '$(System.ArtifactsDirectory)'

- task: CopyFiles@2
inputs:
SourceFolder: "$(System.ArtifactsDirectory)/SurveyJSLibraryBuildCoreAngularJquery/packages/survey-angular"
Expand All @@ -688,6 +812,11 @@ jobs:
SourceFolder: "$(System.ArtifactsDirectory)/SurveyJSLibraryBuildAngular/packages/survey-angular-ui"
TargetFolder: "$(Build.SourcesDirectory)/survey-library/build/survey-angular-ui"

- task: CopyFiles@2
inputs:
SourceFolder: "$(System.ArtifactsDirectory)/SurveyJSLibraryBuildVue3/packages/survey-vue3-ui"
TargetFolder: "$(Build.SourcesDirectory)/survey-library/build/survey-vue3-ui"

- task: CopyFiles@2
inputs:
SourceFolder: "$(System.ArtifactsDirectory)/ReleaseVersionFile/"
Expand Down
68 changes: 68 additions & 0 deletions devops-pull-requests-parallel-jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -228,4 +228,72 @@ jobs:
- script: |
npm run testcafe:ci:angular
displayName: "run functional tests"
- job: Vue3
steps:
- checkout: self
persistCredentials: true
clean: true

- task: NodeTool@0
inputs:
versionSpec: "16.x"
displayName: "Install Node.js"

- task: CopyFiles@2
inputs:
SourceFolder: "$(Build.SourcesDirectory)/"
Contents: "package.json"
TargetFolder: "$(Build.SourcesDirectory)/Temp/"
OverWrite: true
displayName: "Copy package.json for cache key"

- task: Cache@2
inputs:
key: 'npm-cache-library | $(Build.SourcesDirectory)/Temp/package.json'
path: $(Build.SourcesDirectory)/node_modules
cacheHitVar: NPM_CACHE_RESTORED
displayName: Cache NPMs

- task: Npm@1
displayName: 'NPM install root'
inputs:
command: install
verbose: false
condition: ne(variables.NPM_CACHE_RESTORED, 'true')

- script: |
npm run build_core
npm run build_i18n
npm run build-plugins
displayName: "Build Core"
- script: |
cd packages/survey-vue-ui
npm install
displayName: "NPM install packages/survey-vue-ui"
- script: |
cd packages/survey-vue-ui
npm run build
displayName: "Build Vue3"
- script: |
cd packages/survey-vue-ui/example
npm install
displayName: "NPM install examples/angular-ui"
- script: |
cd packages/survey-vue-ui/example
npm run build
displayName: "Build Vue3 Example"
- script: |
cd packages/survey-vue-ui
npm run test:single
displayName: "run unit and markup tests"
- script: |
npm run testcafe:ci:vue3
displayName: "run functional tests"
80 changes: 80 additions & 0 deletions devops-visual-regression-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -261,4 +261,84 @@ jobs:
ArtifactName: 'Library_Angular_VRT'
publishLocation: 'Container'
condition: always()
displayName: 'publish vrt artifacts'

- job: Vue3
steps:
- checkout: self
persistCredentials: true
clean: true

- task: NodeTool@0
inputs:
versionSpec: "16.x"
displayName: "Install Node.js"

- task: CopyFiles@2
inputs:
SourceFolder: "$(Build.SourcesDirectory)/"
Contents: "package.json"
TargetFolder: "$(Build.SourcesDirectory)/Temp/"
OverWrite: true
displayName: "Copy package.json for cache key"

- task: Cache@2
inputs:
key: 'npm-cache-library | $(Build.SourcesDirectory)/Temp/package.json'
path: $(Build.SourcesDirectory)/node_modules
cacheHitVar: NPM_CACHE_RESTORED
displayName: Cache NPMs

- task: Npm@1
displayName: 'NPM install root'
inputs:
command: install
verbose: false
condition: ne(variables.NPM_CACHE_RESTORED, 'true')

- powershell: |
npm run build_core
npm run build_i18n_dev
npm run build-plugins
displayName: "Build Core"
- script: |
cd packages/survey-vue-ui
npm install
displayName: "NPM install packages/survey-vue-ui"
- script: |
cd packages/survey-vue-ui
npm run build
displayName: "Build Vue3"
- script: |
cd packages/survey-vue-ui/example
npm install
displayName: "NPM install packages/survey-vue-ui/example"
- script: |
cd packages/survey-vue-ui/example
npm run build
displayName: "Build Vue3 Example"
- script: |
npm run visual-regression-tests:ci:vue3
displayName: "run vrt tests"
- task: CopyFiles@2
inputs:
SourceFolder: '$(Build.SourcesDirectory)/visualRegressionTests'
Contents: '**'
TargetFolder: '$(Build.ArtifactStagingDirectory)/Library_Vue3_VRT'
OverWrite: true
condition: always()
displayName: 'copy vrt artifacts'

- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)/Library_Vue3_VRT/'
ArtifactName: 'Library_Vue3_VRT'
publishLocation: 'Container'
condition: always()
displayName: 'publish vrt artifacts'
28 changes: 28 additions & 0 deletions examples/vue-ui/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
.DS_Store
dist
dist-ssr
coverage
*.local

/cypress/videos/
/cypress/screenshots/

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
3 changes: 3 additions & 0 deletions examples/vue-ui/.vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
}
46 changes: 46 additions & 0 deletions examples/vue-ui/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# vue-ui

This template should help get you started developing with Vue 3 in Vite.

## Recommended IDE Setup

[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).

## Type Support for `.vue` Imports in TS

TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.

If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:

1. Disable the built-in TypeScript Extension
1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette
2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.

## Customize configuration

See [Vite Configuration Reference](https://vitejs.dev/config/).

## Project Setup

```sh
npm install
```

### Compile and Hot-Reload for Development

```sh
npm run dev
```

### Type-Check, Compile and Minify for Production

```sh
npm run build
```

### Run Unit Tests with [Vitest](https://vitest.dev/)

```sh
npm run test:unit
```
1 change: 1 addition & 0 deletions examples/vue-ui/env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/// <reference types="vite/client" />
Loading

0 comments on commit 39880fc

Please sign in to comment.