#
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements.  See the NOTICE file distributed with this work for additional
# information regarding copyright ownership.  The ASF licenses this file to you
# under the Apache License, Version 2.0 (the # "License"); you may not use this
# file except in compliance with the License.  You may obtain a copy of the License
# at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software distributed
# under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
# CONDITIONS OF ANY KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations under the License.
#

packages:
  helloworld:
    actions:
      hello1:
        function: ../src/integration/helloworld/actions/hello.js
        web-export: true
      hello2:
        function: ../src/integration/helloworld/actions/hello.js
        web-export: yes
      hello3:
        function: ../src/integration/helloworld/actions/hello.js
        web-export: raw
      hello4:
        function: ../src/integration/helloworld/actions/hello.js
        web-export: false
      hello5:
        function: ../src/integration/helloworld/actions/hello.js
        web-export: no
